Показать сообщение отдельно
  #28 (permalink)  
Старый 27.09.2017, 21:15
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Dan922
Но все, что вы мне подсказали, я подставил, поменял на свое. Получил ресурс и повесил обработчик и все равно пустое поле.
Ресурс он и в Африке ресурс, его нельзя подставить во что-то как текст.

Вот из вашего кода:

$regs = mysql_query("SELECT name, city_id FROM city WHERE region_id=$region_id");

здесь $regs, это возвращенный запросом ресурс, содержащий множество строк (по крайней мере это ожидается), поэтому далее в цикле извлекается строки (записи в базе) из этого ресурса функцией

$citys[$i] = mysql_fetch_assoc($regs);

после чего $citys[$i] (пионер писал, не нужно здесь никаких итераторов) будет содержать значения name, city_id под этими именами полей таблицы как под их ключами.

Вы хотите получить название конкретного города, а значит запись должна вернуться одна, следовательно цикла не нужно, но извлечь из ресурса строку надо то.

$city = mysql_query("SELECT name FROM city WHERE city_id=" . $post['city_id']);

здесь $city это ресурс, вот только делать так тоже нельзя - все данные пришедшие извне сервер обязан проверять и тем более не подставлять их в запросы без экранирования или приведения к ожидаемому типу. И я писал в комментариях

//иначе проверка на корректность заполнения полей
//имя какое разрешено, корректно ли введен email
//остальные поля должны быть цифры - привести их к intereg
//если же есть ошибки ввода, то возвращаем сообщения клиенту

Вы это делали? Вряд ли, а ведь ожидалось что сделано будет, и $post['city_id'] будет приведен к intereg и если не будет при этом равен 0, значит не халтура, и только после этого это значение можно смело подставлять в запрос.

После получения ресурса извлечь строку, и уже полученное подставлять в текст письма.

Вы думаете это просто писать тут "учебники"? Взялись писать код, будьте добры хотя бы интересоваться функциями которые в нем есть, и это описано в руководстве, которое можно скачать и всегда иметь под рукой. И там же прочтите, что оригинальное API MySQL устарело и не рекомендуется.
Ответить с цитированием