Не выводит надпись.
|
|
lokinam | Дата: Воскресенье, 06 Мая 2012, 18:08 | Сообщение # 1 |
постоянный участник
Сейчас нет на сайте
| У меня проблема. Вот она.
<?
echo "Ваше сообщение: $chat";
?> Когда пиши с другой страницы надпись пишет вот что. Ваше сообщение : пусто.Добавлено (06.05.2012, 18:08) --------------------------------------------- P.S. я и через $_post пробывал.
|
|
| |
TimKruz | Дата: Воскресенье, 06 Мая 2012, 18:40 | Сообщение # 2 |
старожил
Сейчас нет на сайте
| Quote (lokinam) Когда пиши с другой страницы надпись пишет вот что. Ваше сообщение : пусто. Т.е. ты пытаешься вывести переменную, используемую на другой странице? Не получится. Её придётся как-нибудь передавать, например, через тот же POST-запрос. Используется он так: Code $chat=$_POST['имя_переменной']; Именно $_POST, а не так как в PHP регистр в именах переменных имеет значение.
|
|
| |
lokinam | Дата: Воскресенье, 06 Мая 2012, 18:49 | Сообщение # 3 |
постоянный участник
Сейчас нет на сайте
| Я так в коде и писал просто сдесь через мелкую написал.Добавлено (06.05.2012, 18:49) ---------------------------------------------
Code $chat=$_POST['имя_переменной']; Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/u680749538/public_html/mess.php on line 3
|
|
| |
TimKruz | Дата: Воскресенье, 06 Мая 2012, 20:29 | Сообщение # 4 |
старожил
Сейчас нет на сайте
| Quote (lokinam) Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/u680749538/public_html/mess.php on line 3 Только что у себя проверил - всё нормально. У тебя, кажется, там где-то лишний пробел стоит ("обнаружен неожиданный пробел").
Лучше покажи весь код, который касается этой проблемы... Или опиши по-подробнее, что сделать хочешь... А то я так и не понял, в чём проблема...
|
|
| |
lokinam | Дата: Воскресенье, 06 Мая 2012, 20:59 | Сообщение # 5 |
постоянный участник
Сейчас нет на сайте
| Code <frameset rows="50%,50%"> <frame src="mess.php" name="frame1"> </frameset> <form action="mess.php" method="post"> <input type="text" name="chat" value=""> <input type="submit" value="Отправить"> </form> и код месс пхп Quote <?
echo "Ваше сообщение: $chat";
?> Добавлено (06.05.2012, 20:59) --------------------------------------------- И обновлён. Code <? echo "Ваше сообщение:$_POST['chat']"; ?>
|
|
| |
Lord135 | Дата: Воскресенье, 06 Мая 2012, 21:02 | Сообщение # 6 |
постоянный участник
Сейчас нет на сайте
| а в <form> прописано method="POST" Добавлено (06.05.2012, 21:02) --------------------------------------------- ?
|
|
| |
lokinam | Дата: Воскресенье, 06 Мая 2012, 21:06 | Сообщение # 7 |
постоянный участник
Сейчас нет на сайте
| Я знаю. Но и через него не пашет.
|
|
| |
Lord135 | Дата: Воскресенье, 06 Мая 2012, 21:16 | Сообщение # 8 |
постоянный участник
Сейчас нет на сайте
| дай полный код страницы. Добавлено (06.05.2012, 21:16) --------------------------------------------- и объясни наконец-то, что ты делаешь.
|
|
| |
lokinam | Дата: Воскресенье, 06 Мая 2012, 21:18 | Сообщение # 9 |
постоянный участник
Сейчас нет на сайте
| <html> <head> <title>Minecraft Browser</title> </head> <body> <left> <? $life = 100; $golod = 100; $brona = 0; $vozdux = 100;
if($life && $golod && $brona && $vozdux) {
echo "Жизни $life, Голод $golod, Броня $brona, Воздух $vozdux";
}else{
echo "Вы умерли.";
}
?> <frameset rows="50%,50%"> <frame src="mess.php" name="frame1"> </frameset> <form action="mess.php" method="post"> <input type="text" name="chat" value=""> <input type="submit" value="Отправить"> </form>
</left> </body> </html> Это game.php.Добавлено (06.05.2012, 21:18) --------------------------------------------- <? echo "Ваше сообщение:$_POST['chat']"; ?> Это код mess.php.
|
|
| |
TimKruz | Дата: Воскресенье, 06 Мая 2012, 21:28 | Сообщение # 10 |
старожил
Сейчас нет на сайте
| lokinam, попробуй это (у меня работает): Code <?php $m=$_POST['chat']; echo "Ваше сообщение: $m"; ?> Просто вытащил значение из массива в отдельную переменную. Кстати, мой локальный сервер почему-то реагирует только на <?php ?>, а на <? ?> не реагирует... Дело в настройках, наверное... Но, по-моему, удобнее использовать <?php ?> - сразу видно, какой язык используешь.
*** Кстати... Quote (lokinam) <frameset rows="50%,50%"> <frame src="mess.php" name="frame1"> </frameset> Чтобы заработали фреймы, нужно построить страницу особым образом. В начале файла написать: Code <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> И <body> не использовать (вместо него <frameset>).
*** Нет такого тега. Для смещения влево используй <div align="left"></div> (ну или любой другой тег, к которому применимо свойство align).
*** Вот, я тебе переписал код (только удалил чуток, но ты и сам можешь поправишь, как тебе нужно). game.html: Code <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> <html> <head> <title>Minecraft Browser</title> </head> <frameset rows="50%,50%"> <frame src="mess.html" name="frame1"> <frame src="sm.html" name="frame2"> </frameset> </html> mess.html: Code <?php $m=$_POST['chat']; echo "Ваше сообщение:$m"; ?> sm.html: Code <form action="mess.html" method="post" target="frame1"> <input type="text" name="chat" value=""> <input type="submit" value="Отправить"> </form> В принципе, всё работает, хотя я сократил код фреймов (вообще они должны быть расписаны как обычные страницы). Данные из формы посылаются именно во фрейм frame1, потому что у формы задано свойство target=frame1.
Сообщение отредактировал TimKruz - Воскресенье, 06 Мая 2012, 21:48 |
|
| |
lokinam | Дата: Воскресенье, 06 Мая 2012, 22:32 | Сообщение # 11 |
постоянный участник
Сейчас нет на сайте
| Эм похоже дело хостинг не поддерживает методы $_POST потому что из за него ошибку пишет.
|
|
| |
Lord135 | Дата: Воскресенье, 06 Мая 2012, 22:35 | Сообщение # 12 |
постоянный участник
Сейчас нет на сайте
| сервер не может не поддерживать отдельно взятые методы типа: $_POST и $_GET , точнее даже это не методы, а глобальные массивы, сервер может не поддерживать PHP вообще, или не поддерживать какой-либо модуль, но в случае если сервер поддерживает PHP глобальные массивы доступны.
|
|
| |
TimKruz | Дата: Понедельник, 07 Мая 2012, 01:31 | Сообщение # 13 |
старожил
Сейчас нет на сайте
| lokinam, всё там поддерживаться должно ($_POST включён с 4.1.0-й версии PHP), ты, наверное, опять что-то не так сделал. Мой вариант кода ошибку выдаёт (из 10-го сообщения)? Нет, специально проверял - нет там ошибок. Правда, PHP может выдавать предупреждения и заметки (типа подсказки). Но на хостингах обычно они уже отключены.
|
|
| |
Nosorog | Дата: Понедельник, 07 Мая 2012, 02:09 | Сообщение # 14 |
участник
Сейчас нет на сайте
| echo "Ваше сообщение:$_POST[chat]"; echo "Ваше сообщение:{$_POST['chat']}"; php интерпретатор на кавычках парится.
Классическая ошибка, которую совершают проектировщики абсолютно надёжных систем, - недооценка изобретательности клинических идиотов.
|
|
| |
lokinam | Дата: Понедельник, 07 Мая 2012, 15:18 | Сообщение # 15 |
постоянный участник
Сейчас нет на сайте
| Все исправил, я про сто по тупости забыл в фтп кинуть. TimKruz, всё работает но вот только когда нажимаю отправить переходит на главную страницу хостинга.Добавлено (07.05.2012, 09:37) --------------------------------------------- Вернее Frame переходит. Добавлено (07.05.2012, 14:58) --------------------------------------------- Ау, кто нибудь слышит. Добавлено (07.05.2012, 15:18) --------------------------------------------- Ау...
|
|
| |
TimKruz | Дата: Понедельник, 07 Мая 2012, 16:09 | Сообщение # 16 |
старожил
Сейчас нет на сайте
| Quote (lokinam) переходит на главную страницу хостинга. Это должно означать ошибку 404. Проверь имя файла и строчки: Quote (TimKruz) <frame src="mess.html" name="frame1"> Quote (TimKruz) <form action="mess.html" method="post" target="frame1"> Наверное, ты что-то в <form action=""...> напутал, если выводит главную страницу хостинга только после нажатия кнопки "отправить".
Quote (Nosorog) php интерпретатор на кавычках парится. Теперь понятно. В строкеCode echo "Ваше сообщение:$_POST['chat']"; он не видит 'chat' как указатель на элемент массива, точнее пытается вывести строку Code "Ваше сообщение:" плюс $_POST[ плюс "'chat']" или что-то типа того, т.е. $_POST остаётся с пустыми квадратными скобками, потому что одинарная кавычка не рассматривается вместе с переменной.
|
|
| |
lokinam | Дата: Понедельник, 07 Мая 2012, 16:14 | Сообщение # 17 |
постоянный участник
Сейчас нет на сайте
| TimKruz, что за "плюс" ?
Сообщение отредактировал lokinam - Понедельник, 07 Мая 2012, 16:17 |
|
| |
TimKruz | Дата: Понедельник, 07 Мая 2012, 16:32 | Сообщение # 18 |
старожил
Сейчас нет на сайте
| lokinam, конкатенация. В Pascal/Delphi - символ + склеивает строки. ('abc'+'def'='abcdef') В PHP этому соответствует точка: "строка1"."строка2"=="строка1строка2". Просто непривычно делать это точкой. Ну ты разобрался с ошибками?
|
|
| |
lokinam | Дата: Понедельник, 07 Мая 2012, 16:38 | Сообщение # 19 |
постоянный участник
Сейчас нет на сайте
| То есть. Quote echo "Ваше сообщение:".$_POST[ == "'chat']"
Сообщение отредактировал lokinam - Понедельник, 07 Мая 2012, 16:39 |
|
| |
boymove | Дата: Понедельник, 07 Мая 2012, 16:42 | Сообщение # 20 |
заслуженный участник
Сейчас нет на сайте
| Code echo "Ваше сообщение:".$_POST['chat'];
Моя первая поделка Моя вторая поделка
|
|
| |