Пятница, 19 Апреля 2024, 04:39

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Форум игроделов » Движки для разработки игр и сложные системы разработки » Движки для браузерных игр » Не выводит надпись. (У меня появилась ошибка в php коде...)
Не выводит надпись.
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, а не
Quote (lokinam)
$_post,

так как в PHP регистр в именах переменных имеет значение.


lokinamДата: Воскресенье, 06 Мая 2012, 18:49 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
Quote
$_POST

Я так в коде и писал просто сдесь через мелкую написал.

Добавлено (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

blink Только что у себя проверил - всё нормально. У тебя, кажется, там где-то лишний пробел стоит ("обнаружен неожиданный пробел").

Лучше покажи весь код, который касается этой проблемы... Или опиши по-подробнее, что сделать хочешь... А то я так и не понял, в чём проблема...


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 ?> - сразу видно, какой язык используешь. biggrin

***
Кстати...
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>).

***
Quote (lokinam)
<left>

Нет такого тега. Для смещения влево используй <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, что за "плюс" surprised ?

Сообщение отредактировал 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
заслуженный участник
Сейчас нет на сайте
Quote (lokinam)
То есть.

Code
echo "Ваше сообщение:".$_POST['chat'];



Моя первая поделка
Моя вторая поделка
Форум игроделов » Движки для разработки игр и сложные системы разработки » Движки для браузерных игр » Не выводит надпись. (У меня появилась ошибка в php коде...)
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг