Элемнтарное не работает... (php)
От: LexusLX470  
Дата: 22.08.05 21:35
Оценка: :)
в html файле такой код


<form method="POST" action="file.php">
   <input type="text" name="name">
   <input type="submit" value="Ок">
<form>



и есть файл file.php, в котором такой код:


<?php
echo Hello!;
echo $name;
?>



так вот отображаеться только надпись Hello, а значение которое было введено в поле name не отображаеться....

Дополнительно:
— все это расположенно на бесплатном хосте, который поддерживает php...
— я в php тока начинаю разбираться, но на мой взгляд такая мелочь как эта моя ситуация должна работать...
Помогите плиз, че мона сделать....
Re: Элемнтарное не работает... (php)
От: adontz Грузия http://adontz.wordpress.com/
Дата: 22.08.05 21:55
Оценка:
Здравствуйте, LexusLX470, Вы писали:

Для начала советую скачать документацию к PHP.
http://www.php.net/download-docs.php (совертую брать Extended HTML Help)
В комментариях к статьям, куча готовых примеров.
Что касается твоего случая, то так писать нельзя и уже давно
Кстати я предпочитаю писать print, так что придёться потерпеть
<?php
// обрати внимание на подчерк впереди имени и на то что индекс это строка.
// Не пиши $GET["name"], $_get["name"] или $_GET[name]. Это не правильно.
print $_GET["name"];
// Аналогично для POST
print $_POST["name"];
// И вообще универсальный метод.
// Удобно когда аргументы могут приходить и как POST данные и как часть URL.
print $_REQUEST["name"];
// Чтобы проглядеть все аргументы надо написать
print "<pre>"; // фича для отступов
print_r($_REQUEST);
print "</pre>";
?>
A journey of a thousand miles must begin with a single step © Lau Tsu
Re: Элемнтарное не работает... (php)
От: Makswell Верблюд http://progers.ru
Дата: 23.08.05 07:37
Оценка:
Здравствуйте, LexusLX470, Вы писали:

LLX>в html файле такой код



LLX>
LLX><form method="POST" action="file.php">
LLX>   <input type="text" name="name">
LLX>   <input type="submit" value="Ок">
LLX><form>
LLX>



LLX>и есть файл file.php, в котором такой код:



LLX>
LLX><?php
LLX>echo Hello!;
LLX>echo $name;
LLX>?>
LLX>



LLX>так вот отображаеться только надпись Hello, а значение которое было введено в поле name не отображаеться....


LLX>Дополнительно:

LLX> — все это расположенно на бесплатном хосте, который поддерживает php...
LLX> — я в php тока начинаю разбираться, но на мой взгляд такая мелочь как эта моя ситуация должна работать...
LLX>Помогите плиз, че мона сделать....
Во-первых, не пойму, как может работать echo Hello!; я так понял Hello! — строка, которую надо заключить в кавычки, это же не переменная:

echo "Hello!";

Т.е. первая вторая строка кода у тебя по сути должна выдавать ошибку.
Насчет второго — тут все ок... должно работать. Можно, как объяснили, обращаться к значениям массивов $_GET, $_POST. Я лично это редко использую и ничего "неуверсального" не вижу в том, чтобы написать echo $name; а не echo $_POST["name"]; Хотя во втором случается теряется проверка на то, каким методом пришли данные и это чревато ошибками. Если переменная $name может быть порождена различными способами (GET,POST,COOKIE,SESSION) — все это конечно относится к тебе, если у тебя register_globals = on. А это у многих отключено.
Насчет print — я все время использую echo и плевал я на print. Ну каждый свое выбирает (особенно если он пришел с С, где printuют все)
Re: Элемнтарное не работает... (php)
От: neiroman Украина  
Дата: 23.08.05 10:48
Оценка: -1
Здравствуйте, LexusLX470, Вы писали:

LLX>в html файле такой код



LLX>
LLX><form method="POST" action="file.php">
LLX>   <input type="text" name="name">
LLX>   <input type="submit" value="Ок">
LLX><form>
LLX>



LLX>и есть файл file.php, в котором такой код:



LLX>
LLX><?php
LLX>echo Hello!;
LLX>echo $name;
LLX>?>
LLX>



LLX>так вот отображаеться только надпись Hello, а значение которое было введено в поле name не отображаеться....


Там скореее всего стоит PHP5, а у вас программа под PHP5.
В PHP4 данные, отправляемые через форму, были доступны как глобальные переменные с соответствующим именем. В PHP5 такого нет — переменные доступны только через массив $_REQUEST[&var_name]
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Слова, пустые слова, подумал Стормгрен. Слова, за которые прежде люди дрались и умирали, но никогда больше не станут за них ни умирать, ни драться. И от этого мир станет лучше.
Re: Элемнтарное не работает... (php)
От: Аноним  
Дата: 23.08.05 11:17
Оценка: -1
LLX>
LLX><?php
LLX>echo Hello!;
LLX>echo $name;
LLX>?>
LLX>


echo ("Hello!");
echo ("$name");

?
Re: Элемнтарное не работает... (php)
От: Grog13 Финляндия  
Дата: 23.08.05 13:46
Оценка:
Здравствуйте, LexusLX470, Вы писали:

http://fi.php.net/register_globals почитайте вечерком
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Элемнтарное не работает... (php)
От: Grog13 Финляндия  
Дата: 23.08.05 13:47
Оценка: +1
Здравствуйте, <Аноним>, Вы писали:

LLX>>
LLX>><?php
LLX>>echo Hello!;
LLX>>echo $name;
LLX>>?>
LLX>>


А>echo ("Hello!");

А>echo ("$name");

А>?


не надо писать бред.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Элемнтарное не работает... (php)
От: adontz Грузия http://adontz.wordpress.com/
Дата: 23.08.05 13:47
Оценка:
Здравствуйте, Grog13, Вы писали:

G>http://fi.php.net/register_globals почитайте вечерком


Не стоит. Это как ни крути Security Hole.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[2]: Элемнтарное не работает... (php)
От: XPGeeK Украина  
Дата: 30.08.05 15:56
Оценка:
Здравствуйте, neiroman, Вы писали:

N>Там скореее всего стоит PHP5, а у вас программа под PHP5.

N>В PHP4 данные, отправляемые через форму, были доступны как глобальные переменные с соответствующим именем. В PHP5 такого нет — переменные доступны только через массив $_REQUEST[&var_name]

Это бред, register_globals по умолчанию отключен и в php версии 4 и по сей день!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.