php - 打开 PHP 页面的弹出窗口

标签 php javascript jquery

我有一个管理用户页面,允许用户删除和更新用户。我想让删除和更新用户页面成为带有关闭窗口选项的弹出窗口。但我不知道怎么做,这是我管理用户的代码

<?php
//MY PHP stuff
?>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8” />
<title>Manage Users</title>
<link rel="stylesheet" type="text/css" href="../allcss/style.css" />
</head>

<body>

<?php
require('../Login/includes/header.inc.php');
?>

<div id="personalised">
<p>Hello, </p>
</div>
<div id="content">
<table>
  <tr>
    <th scope="col">User email</th>
    <th scope="col">User name</th>
    <th scope="col">User role</th>
    <th>&nbsp;</th>
    <th>&nbsp;</th>
  </tr>
  <?php while($row = $result ->fetch_assoc()) { ?>
  <tr>
    <td><?php echo $row['user_email']; ?></td>
    <td><?php echo $row['user_name']; ?></td>
    <td><?php echo $row['user_role']; ?></td>
    <td><a href="update_users.php?person_id=<?php echo $row['person_id']; ?>">EDIT</a></td>
    <td><a href="delete_users.php?person_id=<?php echo $row['person_id']; ?>">DELETE</a></td>
  </tr>
  <?php } ?>
</table>
</div>


</body>
</html>

这是 update_user.php 页面

<?php

require_once 'login.php'; 
$table="users";
$OK = false;
$done = false;
$conn = new mysqli ($host, $user, $password, $database) or die("Connection Failed");

$stmt= $conn->stmt_init();

if (isset($_GET['person_id']) && !$_POST) {
  // prepare SQL query
  $sql = 'SELECT person_id, user_email, user_name, user_role FROM users
          WHERE person_id = ?';
  if ($stmt->prepare($sql))
  {
  $stmt->bind_param('i', $_GET['person_id']);
  $stmt->bind_result($person_id, $user_email, $user_name, $user_role);
  $OK = $stmt->execute();
  $stmt->fetch();
  $_SESSION['uemail_update'] = $user_email; //new
  }
}
if (isset($_POST ['update'])) {
  // prepare update query
  $sql = 'UPDATE users SET user_name = ?, user_role = ?
          WHERE person_id = ?';
  if ($stmt->prepare($sql)) {
    $stmt->bind_param('ssi', $_POST['user_name'], $_POST['user_role'], $_POST['person_id']);
    $done = $stmt->execute();
  }
}
// redirect if $_GET['aperson_id'] not defined
if ($done) {
  header('Location: update_users_confirm.php');
  exit;
}
if (!isset($_GET['person_id'])) {
  header("Location: manage_users.php");
  exit;
}
// store error message if query fails
if (isset($stmt) && !$OK && !$done) {
  $error = $stmt->error;
}
?>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8” />
<title>Project Confirmation</title>
<link rel="stylesheet" type="text/css" href="../allcss/style.css" />
</head>

<body>

<?php
require('../Login/includes/header.inc.php');
?>

<div id="personalised">
<p>Hello, </p>
</div>
<div id="content">
<?php 
if (isset($error)) {
  echo "<p class='warning'>Error: $error</p>";
}
if($person_id == 0) { ?>
  <p class="warning">Invalid request: user does not exist.</p>
<?php } else { ?>
<form id="form1" method="post" action="">
  <p>
    <label for="user_name">User name:</label>
    <input name="user_name" type="text" class="widebox" id="user_name" value="<?php echo htmlentities($user_name, ENT_COMPAT, 'utf-8'); ?>">
  </p>
  <p>
    User role: <select name="user_role" size="1" id="user_role">
    <option value="PT">Part timer</option>
    <option value="FT">Full timer</option>
    <?php echo htmlentities($user_role, ENT_COMPAT, 'utf-8'); ?></select>
  </p>
  <p>
    <input type="submit" name="update" value="Update Entry" id="update">
    <input name="person_id" type="hidden" value="<?php echo $person_id; ?>">
  </p>
</form>
<?php } ?>
</div>



</body>
</html>

有人可以帮我让 update_user.php 页面出现在弹出窗口中,该窗口在提交时也应该显示 confirmation.php 页面。

谢谢

最佳答案

您可以通过 JavaScript 来完成,请参阅下面给出的解决方案:

将此脚本添加到页面顶部的 head 部分

<script>
function pop_up(url){
window.open(url,'win2','status=no,toolbar=no,scrollbars=yes,titlebar=no,menubar=no,resizable=yes,width=1076,height=768,directories=no,location=no') 
}
</script>

在您的代码中替换这些行

<td>
    <a href="update_users.php?person_id=<?php echo $row['person_id']; ?>" onclick="pop_up(this);">EDIT</a>
</td>
<td>
    <a href="delete_users.php?person_id=<?php echo $row['person_id']; ?>" onclick="pop_up(this);">DELETE</a>
</td>

希望对您有所帮助。

关于php - 打开 PHP 页面的弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15704704/

相关文章:

php - 有人有 PHP 和 Fannie Mae 文件格式(或 MISMO)的经验吗?

java - 字符串操作与正则表达式

javascript - 如何仅将搜索表单添加到商店页面和类别页面?

javascript - 如何阻止灯箱前进到下一个画廊?

php - 查找多对多表关系中的最小和最大链接值

javascript - 查询 |单击 | 添加/删除类最佳实践

javascript - 从 MS-Word 粘贴到任何基于浏览器的 HTML 编辑器

javascript - jQuery Dropdownchecklist 选择项目

javascript - 如何使用 AJAX 从不同的页面获取 div 的 html?

javascript - 如何防止在转换背景图像时发生卡顿?