Я пишу веб-сайт викторины.
Что должно случиться:Команда INSERT, вставляющая дубликаты
- страница имеет вопрос о нем и четыре кнопки или текстового поля.
- При нажатии на кнопку, она называет себя число ответов в адрес как:
?q=[question number]&a=[answer].
- Если вопрос использует текстовое поле он выполняет ответ.
- Этот код должен затем обнаружить, что было отправлено ему, и пишите это в базу данных.
- Идентификатор пользователя хранится в файле cookie.
- В базе данных есть также ключевой столбец. идея заключается в том, что он хранит все ответы, которые пользователь представил с течением времени, и пользователи могут изменять свои ответы.
<?PHP mysql_connect("------", "------", "------") or die(); mysql_select_db("------") or die(); $q=$_GET['q']; if(isset($_GET['a'])){ $a=$_GET['a']; } else { $a=$_POST['longanswer']; } if(isset($a)){ $u=$_COOKIE['id']; if($qust['atype']==1){ mysql_query("INSERT INTO answers (`userid` ,`answer` ,`qid`) VALUES ($u, $a, $q);"); } else { mysql_query("INSERT INTO answers (`userid` ,`answer` ,`qid`) VALUES ($u, '$a', $q);"); } } ?>
Я не думаю, что это имеет значение, но позже в коде, он запрашивает базу данных с помощью SELECT, команды.
Когда я запускаю этот код, он, кажется, вводит 2 или 3 записи в базу данных. Тенденция, похоже, заключается в том, что когда я запускаю код, он вводит предыдущий ответ, а затем новый ответ. Любая помощь будет принята с благодарностью. Спасибо,
Logan
Недействительно ли иметь более одного ответа на вопрос от конкретного пользователя? Возможно, вам стоит подумать о том, чтобы применить это ограничение, используя уникальное ограничение для вашей таблицы. – mopoke
похоже, что вы, возможно, отрезали часть кода, не могли бы вы включить остальные, если это так. – Dostee
* кашель *. Это выглядит очень уязвимым для SQL-инъекций. Удалите переменные ... – Franz