Я хочу сохранить значения переключателей для каждого вопроса в моей базе данных. Я запустил его и сохранил только для первого вопроса. Я знаю, что это может быть неправильно, используя if
и elseif
. Пользователь отвечает во всех вопросах, как я могу хранить их все в таблице mysql? Нужно ли использовать цикл for
?Не удается сохранить несколько значений переключателей в php и mysql
saveunit.php
<?php
include'connect.php';
if(isset($_POST['u1'])){
$u1 = $_POST['u1'];
mysql_query("INSERT INTO unit_form (u1) VALUES ('$u1')");
}
elseif(isset($_POST['u2'])){
$u2 = $_POST['u2'];
mysql_query("INSERT INTO unit_form (u2) VALUES ('$u2')");
}
?>
unitform.php
<form action="saveunit.php" method="POST">
U1 I have found the unit intellectually interesting and stimulating : <br />
1 <input type="radio" name="u1" value="1"> 2 <input type="radio" name="u1" value="2"> 3 <input type="radio" name="number" value="u1"> 4 <input type="radio" name="u1" value="4"> 5 <input type="radio" name="u1" value="5"> <br /> <br />
U2 I have gained knowledge that I consider valuable : <br />
1 <input type="radio" name="u2" value="1"> 2 <input type="radio" name="u2" value="2"> 3 <input type="radio" name="u2" value="3"> 4 <input type="radio" name="u2" value="u2"> 5 <input type="radio" name="u2" value="5"> <br /> <br />
U3 I have acquired skills and abilities that I consider valuable : <br />
1 <input type="radio" name="u3" value="1"> 2 <input type="radio" name="u3" value="2"> 3 <input type="radio" name="u3" value="3"> 4 <input type="radio" name="u3" value="4"> 5 <input type="radio" name="u3" value="5"> <br /> <br />
<input type = "Submit" name = "Submit1" value = "Submit">
<input type="reset" name="reset" value="Clear">
Это не имеет смысла использовать 'elseif' в PHP части кода. 'u1', вероятно, всегда задан, поэтому вы не сможете каждый раз оценивать' u2'. Просто используйте обычный 'if()' вместо этого, то же самое для 'u3' ... – arkascha
О, и побочное примечание: ваш код уязвим для SQL-инъекции. Это серьезная угроза безопасности для вашей системы. Вы должны это исправить, никаких оправданий. Прекратите использовать устаревшее расширение 'mysql', начните использовать более современное расширение' mylsqi' или 'PDO' и прочитайте о преимуществах« подготовленных операторов »для этого. – arkascha