PHPスクリプトに少し問題があります。MySql ステートメントによって入力された行を生成するテーブルがあります。
最後の列には、編集と削除のボタンがあります。私の問題は、削除を押すと、クエリは正常に機能しますが、空白のページにリダイレクトされることです!
ヘッダーの位置は正しいのですが、削除を押しても現在のページにとどまりますが、それはただの白いページです。
<?php foreach($rows as $row): ?>
<tr>
<td>
<form action="" method="post"> <?php echo $row['id']; ?> </form>
</td>
<td>
<form action="" method="post"> <?php echo $row['roleid']; ?> </form>
</td>
<td>
<form action="" method="post">
<?php echo htmlentities($row['username'], ENT_QUOTES, 'UTF-8'); ?>
</form>
</td>
<td>
<form action="" method="post">
<?php echo htmlentities($row['email'], ENT_QUOTES, 'UTF-8'); ?>
</form>
</td>
<td>
<form action="" method="post">
<input name="Edit" type="submit" value="Edit" />
<input name="id" type="hidden" value="<?php echo $row['id']; ?>" />
</form>
</td>
</tr>
<?php endforeach; ?>
そして、次を使用してセッションを正常に設定できます。
if (isset($_POST['Edit'])) {
$_SESSION['id'] = $_POST['id'];
header("Location: edit_account.php");
}
しかし、別の問題に遭遇したようです:( また、各行に削除ボタンを追加して、そのユーザーアカウントを削除したいと考えています。現在、これはどのように見えるかです:
<td> <form action="" method="post">
<input name="Delete" type="submit" value="Delete" />
<input name="id" type="hidden" value="<?php echo $row['id']; ?>" />
</form> </td>
そして、使用されるphpコードは次のとおりです。
if (isset($_POST['Delete'])) {
// Everything below this point in the file is secured by the login system
// We can retrieve a list of members from the database using a SELECT query.
// In this case we do not have a WHERE clause because we want to select all
// of the rows from the database table.
$query = "
DELETE
FROM user
WHERE
id = :id
";
// The parameter values
$query_params = array( ':id' => $_POST['id'] );
try {
// These two statements run the query against your database table.
$stmt = $db->prepare($query);
$result = $stmt->execute($query_params);
}
catch(PDOException $ex) {
// Note: On a production website, you should not output $ex->getMessage().
// It may provide an attacker with helpful information about your code.
die("Failed to run query: " . $ex->getMessage());
}
// Finally, we can retrieve all of the found rows into an array using fetchAll
$rows = $stmt->fetch();
// This redirects the user back to the members-only page after they register
header("Location: ../adminindex.php");
// Calling die or exit after performing a redirect using the header function
// is critical. The rest of your PHP script will continue to execute and
// will be sent to the user if you do not die or exit.
die("Redirecting to adminindex.php.php");
}
私の問題はリダイレクトです![削除] ボタンをクリックすると、実際にクエリが実行されますが、その後はmemberlist.phpにリダイレクトされますが、ページは空白です!?
なぜこれが起こるのでしょうか?不足しているものはありますか?ヘッダーの場所を変更しようとしましたが、成功しませんでした。
助けてくれてありがとう!