Гость
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Передача данных PHP из простейшей формы / 13 сообщений из 13, страница 1 из 1
10.05.2004, 13:02
    #32512032
vitalina
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных PHP из простейшей формы
Помогите! Изучаю пхп, дошла до главы про формы. Данные не передаются!!!
Вот сама форма:

<html><head>
<title>Форма1</title>
<BODY>

<form action="7.php" method="POST">
<input type="text" name="user">
<br>
<textarea name="address" rows="5" cols="40">
</textarea>
<br>
<select name="products" mutiple>
<option>SS
<option>T
<option>O
<option>HAL
</select>
<input type="submit" value="Click!">
</form>
</body>
</head></html>


Вот сам пхп:

<?php
Error_Reporting(E_ALL & ~E_NOTICE);

print "Добро пожаловать <b>$user</b><p>\n\n";
print "Ваш адрес: <p>\n\n<B>$address</b>";
print "Your product choices are:<p>\n\n";
print "<ul>\n\n";
foreach ($products as $value)
{print "<li>$value<br>\n";}
print "</ul>";


И вот что на экране!!!

автор
Добро пожаловать
Ваш адрес:

Your product choices are:



Warning: Invalid argument supplied for foreach() in z:\home\localhost\www\7.php on line 8
...
Рейтинг: 0 / 0
10.05.2004, 13:16
    #32512037
vitalina
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных PHP из простейшей формы
Если что пишите на мыло:
vitalina@fao.lv
...
Рейтинг: 0 / 0
10.05.2004, 13:47
    #32512059
Передача данных PHP из простейшей формы
Лично я привык писать, как

print "Добро пожаловать <b>".$user."</b><p>\n\n";
...
Рейтинг: 0 / 0
10.05.2004, 13:57
    #32512065
vitalina
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных PHP из простейшей формы
Это не помогает!
...
Рейтинг: 0 / 0
10.05.2004, 23:11
    #32512348
guest
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных PHP из простейшей формы
register_globals = off, и это правильно - подробности можно посмотреть здесь . Твой код должен был выглядеть так:
<?php
Error_Reporting(E_ALL);

print "Добро пожаловать <b>$_POST[user]</b><p>\n\n";
print "Ваш адрес: <p>\n\n<B>$_POST[address]</b>";
print "Your product choices are:<p>\n\n";
print "<ul>\n\n";
foreach ($_POST['products'] as $value){
print "<li>$value<br>\n";
}
print "</ul>";

Надо заметить, что этот код будет работать всегда, не зависимо от состояния register_globals
...
Рейтинг: 0 / 0
10.05.2004, 23:16
    #32512349
Berkut
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных PHP из простейшей формы
Вообще можешь пользоватться этой функцией всегда:
(если понравиться конечно)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
function GetPost($var)
{
	if (isset($_POST[$var])) {
		return $_POST[$var];
	} elseif (isset($_GET[$var])) {
		return $_GET[$var];
	} else return "";
}

 /*А в самой программе вначале делаем:*/ 

$user = GetPost("user");

print "Hello $user";
...
Рейтинг: 0 / 0
11.05.2004, 09:56
    #32512615
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных PHP из простейшей формы
в скрипте 7.php пишешь :
Код: plaintext
phpinfo();
тебе будет выведена вся информация о ПХП, в том числе и входные данные (данные, полученные из формы) в самой нижней таблице (насколько я помню).
Смотри какие массивы там используются.

PS
версия ПХП , apache и метод установки (cgi или модуль) ?
...
Рейтинг: 0 / 0
11.05.2004, 12:05
    #32512875
SDN
SDN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных PHP из простейшей формы
Народ, всё проще гораздо... Select надо назвать как products[] - вот так будет массив для foreach... ;))))
...
Рейтинг: 0 / 0
11.05.2004, 12:38
    #32512936
guest
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных PHP из простейшей формы
SDN , при чём тут foreach, когда "проблема" в том, что переменные передаются в массивах $_POST и $_GET?
...
Рейтинг: 0 / 0
11.05.2004, 12:56
    #32512968
SDN
SDN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных PHP из простейшей формы
Проблема в том, что даже если Вы доберётесь до переменной (неважно, каким способом - хоть через $_GET, $_POST или напрямую), то ошибка всё равно останется!.. Инструкция foreach работает только с массивами, а Ваш select при передаче данных из формы таковым не является... О чём и сообщается в предупреждении...
...
Рейтинг: 0 / 0
11.05.2004, 18:24
    #32513778
guest
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных PHP из простейшей формы
SDN , ошибки надо исправлять последовательно. Вышеуказанный автором постинг явно говорил о том, что не видно любых переменных, независимо от того, являются ли они массивом или нет и как к ним происходит доступ - первоначально необходимо было устранить именно это. Фраза же "всё проще" может рассматриваться ни как иначе, как панацея, т.е. полное решение проблем, что неверно. То, что указали вы, не решит проблему до конца - если не будет выделен ни один элемент - предупреждение останется.
...
Рейтинг: 0 / 0
12.05.2004, 10:14
    #32514285
SDN
SDN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных PHP из простейшей формы
Ну, на самом деле, я немного поспешил со словами "всё проще", согласен... Sorry... Просто прочитав вопрос и увидев "Warning: Invalid argument supplied for foreach() in z:\home\localhost\www\7.php on line 8", я подумал, что проблема в этом... Vitalina не уточняла же, а я как-то не заметил, что и другие переменные не дошли... Бывает!.. ;)))
...
Рейтинг: 0 / 0
12.05.2004, 13:11
    #32514663
Murphy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных PHP из простейшей формы
Там, кстати, еще одна ошибочка есть ;)
<select name="products" mutiple>
^^^^
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Передача данных PHP из простейшей формы / 13 сообщений из 13, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]