PHP & MYSQL という本から、簡単な手順で演習を行っています。これには、データベース内の行を更新するための HTML フォームと、HTML コードの入力データをチェックして安全な形式にするためのさまざまな PHP スクリプトが含まれます。ただし、コードは本に書かれているとおりには機能しません。出版社の Web サイトにアクセスしてサンプル コードをダウンロードしましたが、うまくいきませんでした。
その下の行の名前を持つフォームの代わりに、代わりにフォームを取得し、その下に「有効な新しい名前が送信されていません」。次に、その下に、変更したいテーブル内の行の現在の名前。フォームにデータを入力して送信しようとしても、違いはありません。まったく同じページが表示されます。コードは以下です。
<!DOCTYPE HTML>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Ensuring security
</title>
</head>
<body>
<form action="secure.php" method="POST">
<p>New Name : <input type="text" name="name">
<input type="submit"></p></form>
<?php
require('../connect_db.php');
if (!empty($POST['name']) && !is_numeric($_POST['name'])) {
$name = $POST['name'];
$name = mysqli_real_escape_string($dbc, $name);
$name = strip_tags($name);
$q = 'UPDATE towels SET name "' . $name . '" WHERE id= 1';
mysqli_query($dbc, $q);
} else {
echo 'No valid new name submitted';
}
$q = 'SELECT * FROM towels WHERE id = 1 ';
$r = mysqli_query($dbc, $q);
while ($row = mysqli_fetch_array($r, MYSQLI_NUM)) {
echo "<p>Name : $row[1] </p>";
}
mysqli_close($dbc);
これに関するアイデアをいただければ幸いです。私は約 3 時間かけて出版社の Web サイトにアクセスしましたが、まだ振り出しに入っています。