0

updateチェックボックス機能が動作しません。テーブルに呼び出すために選択した値を削除または追加できる必要がありcheckedます。コードは次のようになります。

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Name <input type"text" name="inputName" value="<?php echo $hemsida['Namn']; ?>" /> </br>
Commentar <input type"text" name="inputComment" value="<?php echo $hemsida['Comment']; ?>" />
<br/>
</br><input type="checkbox" name="all" value="<?php echo $hemsida['All']; ?>" 
<?php if($hemsida['All'] == 'checked') echo " checked"; ?> /> Alla



<input type="hidden" name="id" value="<?php echo $_GET['id']; ?>" />
<input type="submit" name="submit" value="Redigera">
</form>

更新PHPは次のよ​​うになります

    if(isset($_POST['submit'])) {
    $all = ($_POST['All'] == 1) ? "checked" : "";
    $u = "UPDATE hemsida SET `Namn`='$_POST[inputName]', `Comment`='$_POST[inputComment]', `ALL`=$all WHERE ID = $_POST[id]";
    mysql_query($u) or die(mysql_error());

    echo "User has been modified";
    header("Location: ..//sokh.php");
} 

エラーはUndefined variable: hemsidaすべての部分にあります。そしてまたYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE ID = 33' at line 1。しかし、データを に取り込むのに問題はありませんが、Modifier何と呼ぶべきかはわかりませんが、取り出すことができません。

答え !!!

私はそれを機能させましたが、自分の質問に答えることができないので、ここに書き留めて、すべてが壊れるまでコードを追加および削除しました。「$all = ($_POST['All'] == 1) ? checked : ;」を削除します。一部であり、今では動作します。興味があるその下にコードをコピーします

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Name <input type"text" name="inputName" value="<?php echo $hemsida['Namn']; ?>" /> </br>
Commentar <input type"text" name="inputComment" value="<?php echo $hemsida['Comment']; ?>" />
<br/>
<input type="checkbox" name="all" value="checked"   <?php if($hemsida['All'] == 'checked') echo "checked=\"checked\""; ?>/> Alla
<input type="hidden" name="id" value="<?php echo $_GET['id']; ?>" />
<input type="submit" name="submit" value="Redigera">
</form>

新しいphp

    if(isset($_POST['submit'])) {
    $u = "UPDATE hemsida SET `Comment`='$_POST[inputComment]', `Namn`='$_POST[inputName]', `All`='$_POST[all]' WHERE ID = $_POST[id]";
    mysql_query($u) or die(mysql_error());

    echo "User has been modified";
    header("Location: ..//sokh.php");
} 
4

1 に答える 1

1
  1. コードのその時点で $hemsida を使用できないようですが、使用しています。
  2. input type="checkbox" は、チェックされていない場合、$_POST に表示されません。、isset を使用します。

補足: XHTML を使用していますか? 正しいチェック タイプ =checked="checked"

于 2013-06-20T12:47:35.747 に答える