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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемы с передачей METHOD=GET, может закинул не туда проект? 
V
    Опции темы
zluka_x13
Дата 16.12.2006, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Доброго всем времени суток!

Проблема вот в чем:
Поставил Denver, сделал вирт. диск и закинул свои php-скрипты в 
Z:\home\localhost\www, но скрипт не хочет исполняться почему-то...
Например сделаем html-форму (как отдельный файл html-form.html):

Код

<form action="forma.php", METHOD=GET>
 First Name:<INPUT TYPE=TEXT, NAME="FirstName", SIZE=20><BR>
 Last Name: <INPUT TYPE=TEXT, NAME="LastName", SIZE=20><BR>
 E-mail Address: <INPUT TYPE=TEXT, NAME="Email", SIZE=20><BR>
 Comments: <TEXTAREA NAME ="Comments", ROWS=5, COLS=40></TEXTAREA><BR>
 <INPUT TYPE=SUBMIT NAME="SUBMIT", VALUE="Registration">
 <INPUT TYPE=RESET NAME=RESET VALUE="RESET">
</form>


Теперь передаем результаты в  файл forma.php:

Код

<?php
 print ("Your first name is: $FirstName");
 print ("Your last name is: $LastName");
 print ("Your e-mail is: $Email");
 print ("Your comments: $Comments");
?>


А вот и результат:
Notice: Undefined variable: FirstName in z:\home\localhost\www\forma.php on line 11
Your first name is: 
Notice: Undefined variable: LastName in z:\home\localhost\www\forma.php on line 12
Your last name is:
Notice: Undefined variable: Email in z:\home\localhost\www\forma.php on line 13
Your e-mail is:
Notice: Undefined variable: Comments in z:\home\localhost\www\forma.php on line 14
Your comments:

Кто объяснит почему?
Спасибо.

З.Ы. В файле httpd.conf поменял директиву DocumentRoot на:  Z:/home/localhost/www. Не помогло....

PM MAIL   Вверх
szz
Дата 16.12.2006, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 31.5.2005
Где: Moscow, Jerusalem

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



Код

<?php
 print ("Your first name is: ".$_REQUEST['FirstName']);
?>


Это сообщение отредактировал(а) szz - 16.12.2006, 22:23


--------------------
PM   Вверх
zluka_x13
Дата 16.12.2006, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ммдяяя..

szz. Все равно не пашет:
Notice: Undefined index: FirstName in z:\home\localhost\www\forma.php on line 12
Your first name is: 
Notice: Undefined index: LastName in z:\home\localhost\www\forma.php on line 13
Your last name is: 
Notice: Undefined index: Email in z:\home\localhost\www\forma.php on line 14
Your e-mail is: 
Notice: Undefined index: Comments in z:\home\localhost\www\forma.php on line 15
Your comments:


P.S. Все таки думаю проблема из-за указанной неверно директории... Или нет?

PM MAIL   Вверх
Blaga
Дата 17.12.2006, 06:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


ЛамМер++
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 15.11.2005
Где: г. Иркутск

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



во первых свои скрипты можно хранить в home/папка_с_любым_названием/www/
Например home/comment/www/
Собственно сам скрипт:
Код

<?php
Error_Reporting(7);
$_GET['FirstName']=$first_name;
 echo "Ваше имя: ".$first_name;
?>

так вот 100% должно работать.

Это сообщение отредактировал(а) Blaga - 17.12.2006, 06:06


--------------------

http://displayart.ru - Обои.
http://a2themes.ru - Сайт о движках DLE, phpBB3, WordPress.
PM MAIL ICQ   Вверх
Alex13
Дата 17.12.2006, 08:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 280
Регистрация: 30.12.2005
Где: Новосибирск

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



Blaga, может все-таки надо написать чуть-чуть иначе?
Код

<?php
 Error_Reporting(7);
 $first_name=$_GET['FirstName'];
 echo "Ваше имя: ".$first_name;
?>



--------------------
Самая страшная ошибка - это ошибка, не имеющая явных причин и конкретных последствий.
Антисоциальный блог.
PM WWW ICQ Jabber   Вверх
Blaga
Дата 17.12.2006, 08:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


ЛамМер++
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 15.11.2005
Где: г. Иркутск

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



Alex13, а теперь скажи мне в чем разница? Если я напишу x=y, а ты напишеш y=x. В чем разница? У каждого своя парадигма программирования. В нашем случае они у нас хоть и разные но несут одну и ту же смысловую нагрузку.


--------------------

http://displayart.ru - Обои.
http://a2themes.ru - Сайт о движках DLE, phpBB3, WordPress.
PM MAIL ICQ   Вверх
Aliance
Дата 17.12.2006, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

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



Blaga, К вашему сведению:
оператор присваивания выполняется слева направо, что означет, что левому операнду присваивается значение правого.

zluka_x13, напиши в файле forma.php:
Код

echo "\n<pre>";
print_r($_GET);
echo "\n</pre>";


И проверь - выполяется ли передача данных.
PM MAIL WWW ICQ Skype   Вверх
smartov
Дата 17.12.2006, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

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



Давно новичков не было...

zluka_x13

По HTML:

1) Что делают запятые в тегах?! Их не должно быть! Мануал надо сначала читать! Как так можно программить вообще? Естественно что данные не уходят - это грубая ошибка.

2) Так же настоятельно рекомендуется: все параметры всех тегов должны быть в кавычках! Все имена тегов и параметров писать lowercase. Все теги закрывать. 
Итого как должно быть:
Код

<form action="forma.php" method="GET">
 First Name: <input type="text" name="FirstName" size="20" /><br />
 Last Name: <input type="text" name="LastName" size="20" /><br />
 E-mail Address: <input type="text" name="Email" size="20" /><br />
 Comments: <textarea name="Comments" rows="5" cols="40" /></textarea><br />
 <input type="submit" name="submit" value="Registration" />
 <input type="reset" name="reset" value="RESET" />
</form>


По PHP:

1) 
Цитата(zluka_x13 @  16.12.2006,  21:15 Найти цитируемый пост)
 print ("Your first name is: $FirstName");
 print ("Your last name is: $LastName");


Сотни раз говорено-переговорено: никаких Register Globals! Всё что тебе приходит из массива $_GET нужно читать соответствующим образом. Так как тебе подсказывали: $_GET['FirstName'] например.

Итого как должен выглядеть forma.php (если по-простому):
Код

<?php
error_reporting(E_ALL);

//если в GET ничего не пришло
if (!@$_GET)//@ подавляет notice в этом месте
{
    echo "Запрос отсутствует";
    exit;
}

echo "Your first name is: ".$_GET['FirstName']."<br />";
echo "Your last name is: ".$_GET['LastName']."<br />";
echo "Your e-mail is: ".$_GET['Email']."<br />";
echo "Your comments: ".$_GET['Comments']."<br />";
?>

PM MAIL   Вверх
Blaga
Дата 17.12.2006, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


ЛамМер++
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 15.11.2005
Где: г. Иркутск

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



Aliance, лично я всегда так писал. И никогда никаких проблем у меня с этим не возникало... Возможно все таки стоит делать так как удобнее? smile 


--------------------

http://displayart.ru - Обои.
http://a2themes.ru - Сайт о движках DLE, phpBB3, WordPress.
PM MAIL ICQ   Вверх
Piphon
Дата 17.12.2006, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Blaga,  у тебя register_globals включен...
Поэтому тот пример и работал.

А писать надо так, чтоб удобно было тебе, тем кто с тобой будет работать и тем кто после тебя будет изменять твой скрипт.
--------------------
Non Progredi Est Regredi...
PM MAIL ICQ   Вверх
Aliance
Дата 17.12.2006, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

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



Цитата(Blaga @  17.12.2006,  14:34 Найти цитируемый пост)
Aliance, лично я всегда так писал. 

Смешно читать... И что с того? Пойми, ты либо в одну переменную "кладешь" другую, либо наоборот. Это совершенно разные операции.
PM MAIL WWW ICQ Skype   Вверх
Эрроу
Дата 17.12.2006, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(smartov @  17.12.2006,  13:15 Найти цитируемый пост)
Все теги закрывать. 

Ну, это зависит от DOCTYPE-а, все же.  smile 
Цитата(Blaga @  17.12.2006,  08:23 Найти цитируемый пост)
Alex13, а теперь скажи мне в чем разница? Если я напишу x=y, а ты напишеш y=x. В чем разница? У каждого своя парадигма программирования. 

Разница в том, что ты приводишь пример на PHP. 
PM MAIL   Вверх
zluka_x13
Дата 17.12.2006, 22:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Всем спасибо. Теперь все понял про Register Globals. С формой получилось.. smile 
PM MAIL   Вверх
Blaga
Дата 18.12.2006, 07:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


ЛамМер++
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 15.11.2005
Где: г. Иркутск

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



Блин, точно. Всем спасибо что наставили меня на путь истинный. А то так бы и писал дальше.
zluka_x13, поставь галочку что вопрос решен.


--------------------

http://displayart.ru - Обои.
http://a2themes.ru - Сайт о движках DLE, phpBB3, WordPress.
PM MAIL ICQ   Вверх
smartov
Дата 18.12.2006, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

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



Эрроу
Цитата(Эрроу @  17.12.2006,  19:59 Найти цитируемый пост)
Ну, это зависит от DOCTYPE-а, все же.

Я и не говорил что это обязательно.
Цитата(smartov @  17.12.2006,  12:15 Найти цитируемый пост)
Так же настоятельно рекомендуется


zluka_x13
Цитата(zluka_x13 @  17.12.2006,  21:21 Найти цитируемый пост)
С формой получилось.

Ну вот и отлично. На будущее пробуй сначала с манами ознакомиться, очень помогает избежать лишних вопросов. Тем более про эти вещи и по-русски манов кучами
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.0552 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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