Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Общие вопросы > Форма и переменная |
Автор: Alix36 13.1.2007, 15:12 | ||||
1.
услловие if(isset($_POST['priv'])) невыполняется? почему? я нажимаю кнопку <form name="priv_form" method="post"> <input name="priv" value="+" type="submit" > <? echo "<a onclick='top.chat.document.forms[0].message.value+=\"$d[2], \"'>"; echo"$d[2]</a><br>"; ?> </form> есть предположение что изза пхп кода в облости отправляемой формы., но я сомневаюсь, что в этом причина. Растолкуйте где ошибка.
2. будет ли работать конструкция global $var; при reg_global=off ? если да то разьясните как она работает. 3.как думаете какое оптимальное решение передать переменную из фрейма в другой фрейм? (на мой взгляд кукисы) А да Эта информация абсолютно не секретная.(к кому обращаются в чате в приват) |
Автор: Нурик Сакура 13.1.2007, 21:14 | ||
Могу сразу сказать, почему не работает в первом вопросе. PHP, если ты не в курсе - серверный язык. То есть выполняется на сервере и отправляет клиенту готовые результаты. Поэтому логично, что $_POST['priv'] будет не установлен. Сейчас, на тугую голову, не могу предложить никакого решения, но подскажу - либо AJAX юзать, либо как-то по другому организовывать дело... Что касается второго вопроса, то работать она будет, если я не ошибаюсь. Ведь, если мне не изменяет память, register_globals отключает возможность использовать вместо $_POST['hello'] или $_GET['hello'] просто $hello. А global $var, по идее, указывает, что эта переменная является не локальной для функции, а глобальной для всего скрипта. То есть обьялена вне фукнции, но в том же скрипте. Что касается передачи переменной из одного фрейма в другой фрейм, то тут тебе в раздел JavaScript, скорее всего. Думаю, на onClick повесить событие заполения в другом фрейме какого-то поля можно и не очень трудно...
Пример не мой, просто стянул с какого-то сайта. Открывается маленькое окошко, в нем куча смайлов. Нажимаешь на один, он вставляется в том окне, откуда открылось маленькое. Не то, конечно, что тебе надо, но его модифицировав, чтобы вставлялось из одного фрейма в другое - не проблема. Просто как пример, думаю, поможет =) |
Автор: Alix36 14.1.2007, 18:53 |
1 ты неправ про серверный язык, я отправляю форму на сервер, и толькоь после этого ее обрабатываю. <form name="priv_form" method="post"> <input name="priv" value="+" type="submit" > js не катит. ибо кукисы в середине ставить я немогу. З.ы. а че ты за MMORPG делаеш? |
Автор: Mal Hack 14.1.2007, 19:00 |
Alix36, учите основы HTML, у вас поле action не установлено. |
Автор: Alix36 14.1.2007, 19:33 |
разве его нужно указывать, когда файл исполнитель содержит файл форму?? Я читал что ненадо. Добавлено @ 19:42 action тут не при чем я проверил |
Автор: Mal Hack 14.1.2007, 19:43 |
Где ты такое читал? Ссылку, скрин с книги или rfc. |
Автор: Alix36 14.1.2007, 19:46 |
книга большая и толстая HTML 3.2 (или меньше..) автора не помню.. |
Автор: Mal Hack 14.1.2007, 19:47 |
Ты случаем не в php ee запускал скрипт? |
Автор: Alix36 14.1.2007, 19:47 |
а ты пишеш аction="" или action="имя этого файла" ? Добавлено @ 19:50 поясни. че ты спросил |
Автор: mishaSL 15.1.2007, 11:07 |
Странный код у тебя какой-то: начинаешь кешировать вывод в самом начале, а заканчиваешь только при условии. Ты пробовал проверять условие с отключенным кешированием? |
Автор: Alix36 15.1.2007, 13:29 |
пробовал. кстати я понял почему неработает, и исправил, но кукисы не ставятся, даже в кэше, попробую через js ставить |
Автор: mishaSL 15.1.2007, 14:43 |
Лучше не используй кеширование, если этого не надо, а в твоем случае этого как раз не надо. Просто записывай все данные в одну переменную, а в конце скрипта выводи. Тогда и куки будут нормально ставиться. И вообще куки надо ставить до вывода чего-либо, т.к. при установки cookie посылаются заголовки. |
Автор: Нурик Сакура 15.1.2007, 15:56 | ||
Да, сорри, профтыкал. Я не заметил, что там type=submit. Что касается этого - я для спокойности себе пишу так:
Если мне вдруг понадобится передать какие-то параметры, то просто добавить после этого "?парам1=знач1..." - не проблема и все будет выводится корректно. |
Автор: Alix36 16.1.2007, 19:06 | ||
не люблю гет =) Все сделал через JS Код, если кому понадобиться.
|