|
|
|
| Доброй Ночи... Не ругайте, тема заезженная, но не смог найти подходящих фраз для поиска на форуме... Задача проста, но я всё же подзабыл как её осуществить...
Есть форма... в ней 4 поля. мне нужно записать данные из этих форм отдельно в 4 строки таблички БД. Спасибо Заранее... | |
|
|
|
|
|
|
|
для: frisst
(29.12.2010 в 01:54)
| | Прошу прощения...
1) Не туда выложил.
2) Есть такая тема, причём сам же и задавал вопрос...
=) | |
|
|
|
|
|
|
|
для: frisst
(29.12.2010 в 01:59)
| | И то ли плакать, то ли смеяться. | |
|
|
|
|
|
|
|
для: neadekvat
(29.12.2010 в 02:00)
| | Хм... ) Дело в том, что в той теме мне до конца не ответили на вопрос... Поэтому не брал во внимание))) | |
|
|
|
|
|
|
|
для: frisst
(29.12.2010 в 02:03)
| | Да вроде бы все просто, делаешь так:
Insert into table (Поле1,Поле2) VALUES ('field1','$_post[field1]')
и так для каждой строчки... если как то надо по-другому, напиши свой пример сюда | |
|
|
|
|
|
|
|
для: chepikmas
(29.12.2010 в 02:23)
| | и получаешь замечательный такой эксплойт. | |
|
|
|
|
|
|
|
для: chepikmas
(29.12.2010 в 02:23)
| | Вот как делаю сейчас я... всё работает...
<?php
if($_POST["add"]) {
$namereply = $_POST["namereply"];
$true = $_POST["true"];
$idreply = $_POST["idreply"];
$idtheme = $_POST["idtheme"];
$idquestion = $_POST["idquestion"];
$add = "INSERT INTO `tegen_reply` (`idtheme`, `idquestion`, `idreply`, `namereply`, `true`) VALUES
('$idtheme', '$idquestion', '$idreply[0]', '$namereply[0]', '$true[0]'),
('$idtheme', '$idquestion', '$idreply[1]', '$namereply[1]', '$true[1]'),
('$idtheme', '$idquestion', '$idreply[2]', '$namereply[2]', '$true[2]'),
('$idtheme', '$idquestion', '$idreply[3]', '$namereply[3]', '$true[3]')";
if(mysql_query($add) > 0) {echo "OK";}
}
?>
<form action="reply.php?act=add&id=theme_1&idd=question_31" method="post">
<input type="text" name="namereply[]" /><input type="radio" name="true[]" value="1" /><input type="hidden" name="idreply[]" value="reply_1" /><br />
<input type="text" name="namereply[]" /><input type="radio" name="true[]" value="1" /><input type="hidden" name="idreply[]" value="reply_1" /><br />
<input type="text" name="namereply[]" /><input type="radio" name="true[]" value="1" /><input type="hidden" name="idreply[]" value="reply_1" /><br />
<input type="text" name="namereply[]" /><input type="radio" name="true[]" value="1" /><input type="hidden" name="idreply[]" value="reply_1" /><br />
<input type="hidden" name="idtheme" value="theme_1" />
<input type="hidden" name="idquestion" value="question_31" />
<input name="add" type="submit" value="<?php echo ADD; ?>" />
</form>
|
Но один вопрос интересует... можно ли, и если можно, то как заменить эти 4 строки на одну?
('$idtheme', '$idquestion', '$idreply[0]', '$namereply[0]', '$true[0]'),
('$idtheme', '$idquestion', '$idreply[1]', '$namereply[1]', '$true[1]'),
('$idtheme', '$idquestion', '$idreply[2]', '$namereply[2]', '$true[2]'),
('$idtheme', '$idquestion', '$idreply[3]', '$namereply[3]', '$true[3]')
|
| |
|
|
|
|
|
|
|
для: frisst
(29.12.2010 в 03:16)
| | А безопасность (о которой выше сказано) вам побоку? Прежде чем записывать эту кучу строк, вы уж сперва разберитесь, будете ли вы их вообще получать от формы? | |
|
|
|
|
|
|
|
для: frisst
(29.12.2010 в 03:16)
| | Скиньте ссылочку на сайт ;) | |
|
|
|
|
|
|
|
для: frisst
(29.12.2010 в 03:16)
| |
<?php
$count = count($_POST["idreply"]);
for($i=0;$i<$count;$i++)
$implVal = implode(",","('" . mysql_real_escape_string($idtheme) . "',
'" . mysql_real_escape_string($idquestion) . "',
'" . mysql_real_escape_string($idreply[$i]) . "',
'" . mysql_real_escape_string($namereply[$i]) . "',
'" . mysql_real_escape_string($true[$i]) . "')");
?>
|
| |
|
|
|
|
|
|
|
для: Лена
(29.12.2010 в 12:09)
| | Даже так? | |
|
|
|
|
|
|
|
для: sim5
(29.12.2010 в 12:36)
| | А как? | |
|
|
|
|
|
|
|
для: Лена
(29.12.2010 в 12:41)
| | Вы сперва на элементы его формы посмотрите внимательно, а уж потом... | |
|
|
|
|
|
|
|
для: sim5
(29.12.2010 в 12:43)
| | Я в его форму вообще не смотрела), там ее вообще надо с нуля переписать, в каждой строке ошибки. Странно, что у него что-то еще в базу складывается...
Забыла у себя поставить.
$implVal .= | |
|
|
|
|
|
|
|
для: Лена
(29.12.2010 в 12:54)
| | А зря, не смотря что-то советовать. Его форма не имеет ошибок, ошиба в логике - не известно чего нужно от этой формы. Так как она прописана, просто все, чего он хочет, и то что вы советуете полная чушь. | |
|
|
|
|
|
|
|
для: sim5
(29.12.2010 в 12:57)
| | >А зря, не смотря что-то советовать. Его форма не имеет ошибок, ошиба в логике - не известно чего нужно от этой формы. Так как она прописана, просто все, чего он хочет, и то что вы советуете полная чушь.
Как это форма ошибок не имеет, если он в action передает то же самое, что и в скрытых полях формы? Зачем тогда скрытые поля там нужны?
Почему у всех idreply одинаковое value?
Как мы будем знать, какая радиокнопка выбрана? | |
|
|
|
|
|
|
|
для: Лена
(29.12.2010 в 13:23)
| | То что передача там и там, это не ошибка, это просто лишнее. Зачем нужны скрытые поля и еще передача методом GET, а так же одинаковые значения полей, это к автору вопрос, но, это не ошибка.
Ошибка заключается в его ожидании получения множества строк, число которых он предполагает будет равно числу чекбоксов, коли он их прописывает для запроса. А так ли это?
Вы тоже советуете не подумав, а ведь радиокнопки служат для выбора одного из множества, для чего им даются одинаковые имена (кнопки с зависимой фиксацией, при которой будет отсылатся только одно значение - значение выбранной кнопки), при чем именовать их как массив в данном случае тоже излишне. Но, предоставляя пользователю такой выбор, всегда предполагается значение по умолчанию, чего как раз и нет в данной форме. Вопрос, если пользователь ничего не выберет, что получит автор в своих ожиданиях, и чего у вас проверяется в цикле? | |
|
|
|
|
|
|
|
для: sim5
(29.12.2010 в 13:36)
| | Согласна, каюсь :)
То, что он никак не отмечает выбор определенной радиокнопки заметила, а вот что у него checked по умолчанию нет, упустила. Спасибо. | |
|
|
|
|
|
|
|
для: Лена
(29.12.2010 в 13:52)
| | Сейчас Вам Всем всё разъястню...
Форма нужна для добавления ответов к вопросу (4 ответа).
Решил добавлять сразу 4 ответа.
GET-запрос необходим.
reply.php?act=add&id=theme_1&idd=question_31
|
Страница динамическая... На ней возможно добавлять, редактировать, удалять, просматривать ответы... (с темами и вопросами всё работает... не с пустого места пишу). id - индификатор темы, а idd - индификатор вопроса сообветственно...
Всю форму я вам предоставил в статическом варианте...
А так, данные там подставляются динамически, исходя из данных get-запроса. Ну и при добавлении записей, исходя из данных get-запроса, я обращаюсь к таблице с темами и вопросами, чтобы проверить их наличие...
Радио-кнопки указывают - верный ли ответ или нет. тоесть отмечаем только у одного ответа... по умолчанию решил не ставить....
защиты пока никакой тут нет - верно. я решил не выкладывать большой код и привёл его к статическому варианту и без защиты, чтобы получить ответ на нужный мне вопрос...
Форма полностью вся работает.... записывает данные без ошибок - проверял)))
Не ругайте, не пинайте - направьте на путь истинный))) меня очень сильно интересует !!!правильное!!! добавление одновременно нескольких записей в БД... Спасибо за понимание... | |
|
|
|
|
|
|
|
для: frisst
(29.12.2010 в 14:25)
| | Полнейшая чушь. | |
|
|
|
|
|
|
|
для: sim5
(29.12.2010 в 14:37)
| | Пусть будет по вашему... Буду бораздить просторы интернета тогда... Спасибо ) | |
|
|
|
|
|
|
|
для: frisst
(29.12.2010 в 14:42)
| | Бороздите лучше книги, и изучайте, не порите отсебятины, а тем более не утверждайте, что абракодбра ваша работает. Вывод ошибок включите на своем отладочном сервере. | |
|
|
|