0

セキュリティの問題は気にしないでください。これは単なるローカル テストですが、更新ボタンをクリックしてもページやクエリに変更が反映されず、エラーも発生しません。

<?php 

$link = mysqli_connect("localhost", "root", "", "test") or die("could not connect");

if (isset($_POST['update'])) { 

$updateQuery = (" UPDATE `test1` SET f_name = '$_POST[f_name]', l_name='$_POST[l_name]', email='$_POST[email]' WHERE id='$_POST[id]'");
mysqli_query($link, $updateQuery);


};


$query = ("SELECT * FROM `test1`");
$result = mysqli_query($link, $query);

echo "<table border=1
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Email</th> 
</tr>";

while($row = mysqli_fetch_array($result)) {
echo "<form method=post action=update.php>";
echo "<tr>";
echo "<td>" . "<input type=text name=f_name value=" . $row['f_name'] . " </td>";
echo "<td>" . "<input type=text name=l_name value=" . $row['l_name'] . " </td>";
echo "<td>" . "<input type=text name=email value=" . $row['email'] . " </td>";
echo "<td>" . "<input type=hidden name=id value=" . $row['id'] . " </td>";
echo "<td>" . "<input type=submit name=submit value=update" .  " </td>";
echo "</tr>";
}

?>

4

3 に答える 3

0

POST キーは引用符で囲む必要があります。代わりにこれを試してください:

$updateQuery = "UPDATE test1 SET f_name = ".$_POST['f_name'].", l_name=."$_POST['l_name'].", email=".$_POST['email']." WHERE id =".$_POST['id'];
于 2013-07-24T18:00:44.090 に答える
0

これを試して:

$updateQuery = ("UPDATE `test1` SET f_name = '{$_POST['f_name']}', l_name='{$_POST['l_name']}', email='{$_POST['email']}' WHERE id='{$_POST['id']}'");

if (isset($_POST['update'])) {また、テストが真であることを確認するために、内部で何かをエコーすることもできます。

これがあなたの問題です:

if (isset($_POST['submit']) && $_POST['submit'] == 'update') {

送信ボタンの名前は update ではなく submit で、値は update です。

于 2013-07-24T17:55:51.077 に答える
0

フォームをに変更します

while($row = mysqli_fetch_array($result)) {
    echo "<form method=post action=update.php>";
    echo "<input type=hidden name=update>";
    echo "<tr>";
    echo "<td>" . "<input type=text name=f_name value=" . $row['f_name'] . " </td>";
    echo "<td>" . "<input type=text name=l_name value=" . $row['l_name'] . " </td>";
    echo "<td>" . "<input type=text name=email value=" . $row['email'] . " </td>";
    echo "<td>" . "<input type=hidden name=id value=" . $row['id'] . " </td>";
    echo "<td>" . "<input type=submit name=submit value=update" .  " </td>";
    echo "</tr>";
}
于 2013-07-24T17:57:55.007 に答える