PHPFAQ  
Начинающим   Технологии   MySQL   PDO   Ошибки   Ссылки   Юмор   Форум   SafeMySQL  
-- Список сообщений -- Поиск --
POST не получает значение
Аля 21.06.14 18:46
На страничке с select option вывожу значения из таблицы Mysql
php:
$start_ci = ($cur_page - 1) * $per_page_ci;
//выполняем запрос и получаем данные для вывода
$sql_ci = "SELECT SQL_CALC_FOUND_ROWS * FROM cmdb_table where used_by=$id_user LIMIT ?i, ?i";
$data_ci = $db->getAll($sql_ci, $start_ci, $per_page_ci);
$rows_ci = $db->getOne("SELECT FOUND_ROWS()");
на странице :
<select name="items">
<option value="1">Выберите</option>
<? foreach ($data_ci as $rows_ci): ?>
<?=++$start_ci?>&nbsp;&nbsp;&nbsp;<option value=<?$rows_ci["id"]?>><?=$rows_ci["name"]?></option>
<? endforeach ?>
</select>
затем ммне нужно выбрать значение и передать его обратно в бд, но когда делаю _POST оно пусто!

if($_SERVER['REQUEST_METHOD']=='POST') {
if (isset($_POST['save_req_db'])) {
if (empty($_POST["items"]))
{
echo "select items!";
}
else
{$db->query("INSERT INTO ?n SET customer=?i,status=?i,ci=?i,descr=?s, theme=?s, date_to=?s",$table,$_SESSION['id'],1,$rows_ci['id'],$_POST['txt_request'],$_POST['them_request'],date("d-m-Y"));
// $db->query("INSERT INTO ?n SET customer=?i,status=?i,ci=?i,descr=?s, theme=?s, date_to=?s",$table,$_SESSION['id'],1,$_POST['citem'],$_POST['txt_request'],$_POST['them_request'],date("d-m-Y"));
вот тут $rows_ci['id'] - это элемент из списка.
Помогите, пжл. Голова уже взорвана.За быдлокодинг не судить строго - девочкам можно)
ответить
phpfaq 21.06.14 18:54
Старых переменных при новом вызове уже нет.

Выбранное в форме значение должно быть в переменной $_POST["items"], никакой $rows_ci['id'] при повторной отправке уже быть не может, об этом написано в http://www.phpfaq.ru/na_tanke

Плюс замечание по поводу первого запроса: $id_user должно обязательно передаваться в запрос через плейсхолдер, так же, как и остальные переменные.
ответить
Аля 21.06.14 19:11
PoST

Спасибо за наводку, сейчас ознакомлюсь!

а про плейсхолдеры - не подскажите - как? я догадывалась, что косячу с этой переменной
ответить
phpfaq 21.06.14 19:14
Точно так же, как остальный переменные:

$sql_ci = "SELECT SQL_CALC_FOUND_ROWS * FROM cmdb_table where used_by=?i LIMIT ?i, ?i";
$data_ci = $db->getAll($sql_ci, $id_user, $start_ci, $per_page_ci);
ответить
Аля 21.06.14 19:24
post

ок!

а тогда почему, пытаясь проверить значение,
echo $_POST["items"] ничего не выводит?
ответить
phpfaq 21.06.14 19:34
Надо разбираться

Вот здесь есть разбор очень похожего примера:
http://www.phpfaq.ru/debug#example
Надо смотреть код формы, проверять значения после передачи
ответить
Аля 21.06.14 19:39
post

я и это уже читала, что голова понимала - проверяла. а пока безрезультатно
ответить
Аля 21.06.14 19:50
post

и еще вот эти же значения передаются и благополучно записываются:
<form method="POST" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<div id ="tt"><p><input maxlength="30" size="70" value="Тема" name="them_request"></p></div>
<textarea name="txt_request" id="req_field"></textarea>


а из списка - нет. меня это больше смущает
ответить
phpfaq 21.06.14 19:56
Так не только ж читать надо, а ещё и применять.

Там первым пунктом написано - проверять HTML.
Что там нагенерилось, все ли в порядке с кодом формы.
ответить
Аля 21.06.14 20:06
post

вот что любопытно
<select name="items">
<option value="1">Выберите</option>
<? foreach ($data_ci as $rows_ci): ?>
<?=++$start_ci?>&nbsp;&nbsp;&nbsp;<option value=<?$rows_ci["id"]?>><?=$rows_ci["name"]?></option>
<? endforeach ?>
</select>
<br><?echo

$rows_ci['id']?></br>


-- "1">Выберите - передается, а значения из бд нет.
Спасибо за советы, пойду дальше мытарствовать
ответить
phpfaq 21.06.14 20:09
Внимательнее надо смотреть

Даже я сейчас увидел.
<?$rows_ci["id"]?> - нет знака равно

Раз не передается из БД - значит надо внимательно смотреть на код, который выводит значение из БД. Это же очень просто.
ответить
Аля 21.06.14 20:29
post

Боже мой, какое же Вам спасибо!
чудо-форум. буду учиться :)
ответить
Аля 21.06.14 20:30
post

Радуюсь тому, когда люди могут помочь.
Главное, не злоупотреблять этим
ответить
phpfaq 21.06.14 20:31
Рад, что помог :)

И вывод мне тоже нравится. Обращайтесь еще :)
ответить
Аля 21.06.14 20:47
post

Хорошо, еще раз спасибо!
ответить
Написать
Имя:*
Заголовок:*
Вы робот?
Текст:
Пожалуйста, воздержитесь от посылки спама.
Сообщения, содержащие гиперссылки, проходят премодерацию.

© phpfaq.ru, 2019 1558960614.007 sec. О сайте   Хостинг iHor.ru