Флажок и Isset для обновления Mysql с PHP
Я не могу получить 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)? Флажок:;" часть и теперь это работает. Я скопирую код под ним есть интерес
<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");
}
1 ответ
- Похоже, что $hemsida недоступна в данный момент в вашем коде, но вы используете его.
- Тип ввода ="checkbox" не отображается в $_POST, если он не отмечен., используйте isset.
sidenote: вы используете XHTML? правильный проверенный тип = checked="checked"