Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не передаются данные из формы в форму
 
 автор: sLim80   (07.06.2006 в 13:30)   письмо автору
 
 

Поставил PHP 5.1.4+ Apache 2.2.2. Использовал php.ini-recommended. Все настройки по умолчанию.

Создал два файлика

1.php:
<?
print "<html>\n<body>\n<form action=\"2.php\" method=\"get\">\n";
print "<input type=\"text\" name=\"tt\">";
print "<input type=\"submit\" name=\"Go\" value=\"Go\"\n>";
print "</form>\n</body>\n</html>";
?>

2.php:
<?
print "<html>\n<body>\n<form>\n";
print "Тескт $tt";
print "</form>\n</body>\n</html>";
?>

При нажатии на кнопку Go происходит переход на страницу 2.php, причем в адресной строке пишет http://localhost/2.php?tt=11111&Go=Go (метод GET стоит и значения передаваемые видно).
Но результатом является просто надпись "Текст".

До этого ставил PHP 4.2.3+IIS(WinXP+SP2), ситуация та же.

PS. Подскажите, почему не передаются данные? На нашем рабочем сервере эти же скрипты работают нормально.

   
 
 автор: nihilist   (07.06.2006 в 14:14)   письмо автору
 
   для: sLim80   (07.06.2006 в 13:30)
 

попробуй
$tt = $_GET['tt'];
перед
print "Тескт $tt";

   
 
 автор: sLim80   (07.06.2006 в 14:18)   письмо автору
 
   для: nihilist   (07.06.2006 в 14:14)
 

Работает! А с чем это связано? Получается при переходе нужно все переменные вручную выдергивать из переменной $_GET?

   
 
 автор: nihilist   (07.06.2006 в 14:24)   письмо автору
 
   для: sLim80   (07.06.2006 в 14:18)
 

после передачи гетом или постом переменные переходят в соотв. массивы в ПХП:
$_GET['имя']
или
$_POST['...']

C чем это связано, я не знаю. Просто это ПХП ))))

   
 
 автор: sLim80   (07.06.2006 в 14:28)   письмо автору
 
   для: nihilist   (07.06.2006 в 14:24)
 

Вот нашел через поиск:

Для доступа к так называемым переменным формы в PHP существует 3 способа:
1) короткий стиль:
$aaa - как это делали Вы
2) средний стиль:
$_GET['aaa'];
3) длинный стиль:
$HTTP_GET_VARS['aaa'];
(если параметры передаются методом POST, то соответственно вместо GET пишется POST)
Стиль доступа настраивается в php.ini, следовательно может различаться в разных версиях.

Осталось найти, какой переменной описывается стиль доступа в php.ini и исправить на короткий стиль, для упрощённого доступа к переменным.

Если кто знает, напишите имя переменной.

   
 
 автор: Trianon   (07.06.2006 в 14:39)   письмо автору
 
   для: sLim80   (07.06.2006 в 14:28)
 

Считайте, что никаких способов, кроме второго, нет.

   
 
 автор: nihilist   (07.06.2006 в 14:26)   письмо автору
 
   для: sLim80   (07.06.2006 в 14:18)
 

Вы MySQL устанавливали???

   
 
 автор: sLim80   (07.06.2006 в 14:29)   письмо автору
 
   для: nihilist   (07.06.2006 в 14:26)
 

У меня стоит только Apache и PHP. Всё под Windows XP SP2.

   
 
 автор: sLim80   (07.06.2006 в 15:05)   письмо автору
 
   для: sLim80   (07.06.2006 в 14:29)
 

Разобрался:
В файле php.ini надо исправить переменную

register_globals = On

По умолчанию стоит Off.
И перегрузить Apache.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования