Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не могу передать строку через форму, Передаю скрытым полем 
V
    Опции темы
Moses
Дата 14.11.2008, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 3.6.2006

Репутация: нет
Всего: нет



Нужно передать из формы переменной $qid_str строку:
Код

$qid_str = trim($qid_str);
echo "This is a qid_str: $qid_str"; // вывод: This is a qid_str: 1 2 3
echo "<input type = hidden name = qid_str value = $qid_str>";


На странице, куда приводит форма:
Код

echo "This is it: $_POST[qid_str]"; // вывод: This is it: 1


Не пойму в чем дело. Пытался устанавливать тип переменной "string" принудительно, но не помогло. Натолкните на мысль, пожалуйста.
PM MAIL   Вверх
skyboy
Дата 14.11.2008, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(Moses @  14.11.2008,  16:50 Найти цитируемый пост)
<input type = hidden name = qid_str value = $qid_str>

ты не обрамляешь значение атрибутов кавычками. за что и получаешь.
и не смотришь в html-код, только в РНР.  смотрел бы в html, нашел бы сам и гораздо быстрее ответа на форуме.
PM MAIL   Вверх
patap
Дата 14.11.2008, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

Репутация: 26
Всего: 40



так все правильно, но былобы неплохо взглянуть полностью на всю форму (код формы)

да и на счет кавычек верно подмечено

Это сообщение отредактировал(а) patap - 14.11.2008, 18:18


--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
Moses
Дата 14.11.2008, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 3.6.2006

Репутация: нет
Всего: нет



О, так и есть. Спасибо за ответ и за совет.
PM MAIL   Вверх
bars80080
Дата 14.11.2008, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



вообще, вопрос крайне непонятен, однако, чтобы в дальнейшем избегать всяких ляпсус, советую усвоить как правило следующий синтаксис:

Код

echo 'This is a qid_str: '.$qid_str; 
echo '<input type="hidden" name="qid_str" value="'.$qid_str.'" />';
echo 'This is it: '.$_POST['qid_str'];
 касательно всех пробелов и кавычек. вот просто принять что делать надо так и всё. со временем разберёшься, почему так лучше

что касается сабжа, то не видно самой формы, также не ясно, откуда берётся значение $qid_str в поле hidden

Добавлено через 39 секунд
ого, у меня задержка в 21 минуту была
PM MAIL WWW   Вверх
Moses
Дата 17.11.2008, 10:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 3.6.2006

Репутация: нет
Всего: нет



Спасибо за советы, разобрался.
Как заметил skyboy, если бы я смотрел в html, разобрался бы и сам. Внутри html-тега параметры разделяются пробелами. Тоесть, вставив в качестве значения параметра value строку, элементы которой разделены пробелами, я фактически присвоил только первый символ строки до первого пробела.
Строки, где нету переменных и специальных подстановочных символов, которые должны быть распознанны, нужно заключать в одинарные кавычки. Это снимет нагрузку с сервера, которому не прийдется зря анализировать строки. Кроме того, даже если в строке встречается переменная, то будет меньше потребляться ресурсов сервера если текстовую часть заключить отдельно в одинарные кавычки, а значение переменной присоединить к строке оператором присоединения '.'
PM MAIL   Вверх
skyboy
Дата 17.11.2008, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Moses, на самом деле, проблема "одинарные кавычки против двойных" сильно надумана. даже если разница во времени обработки составит одну десятитысячную секунды, "выигранное" время будет попросту незаметно на фоне сотых долей секунд на подключение к БД, трети секунды на выполнение запроса и половине секунды на генерацию страницы.
Тут выделение переменных из кавычек много важнее призрачной отптимизации по скорости, потому как:
а) сразу видишь возможные ошибки
б) далеко не все, виденные мною, редакторы кода отличались подсветкой переменных внутри строки - значит, код может сильно проиграть в читабельности. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0855 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.