Страница 2 из 2

Добавлено: 30 ноя 2013, 19:14
ntzch
а у вас до сих пор ничего не работает? я только что скопировал ваш код, вставил к себе, запустил и всё заработало

Добавлено: 30 ноя 2013, 19:17
zvezdo4ettt
Нет, так и не выводит формы

html код
<html>
<head>
<link href="css/phpMM.css" rel="stylesheet" type="text/css" />
</head>
	<body>
		<div id="header"><h1>PHP & MySQL: The Missing Manual</h1></div>
		<div id="example">Пример 2.1</div>
		<div id="content">
			<h1>Вступайте в наш виртуальный клуб</h1>
			<p>Пожалуйста, введите ниже свои данные для связи в Интернете:</p>
		<form action="scripts/getFormInfo.php" method="POST">
			<fieldset>
				<label for="first_name">Имя:</label>
				<input type="text" name="first_name" size="20" /><br />
				<label for="last_name">Фамилия:</label>
				<input type="text" name="last_name" size="20" /><br />
				<label for="email">Адрес электронной почты:</label>
				<input type="text" name="email" size="50" /><br />
				<label for="facebook_url">URL-адрес в Facebook:</label>
				<input type="text" name="facebook_url" size="50" /><br />
				<label for="twitter_handle">Идентификатор в Twitter:</label>
				<input type="text" name="twitter_handle" size="20" /><br />
			</fieldset>
			<br />
			<fieldset class="center">
				<input type="submit" value="Вступить в клуб" />
				<input type="reset" value="Очистить и начать все сначала" />
			</fieldset>
		</form>
	</div>
		<div id="footer"></div>
	</body>
</html>


PHP код
<html>
	<head>
		<link href="../css/phpMM.css" rel="stylesheet" type="text/css" />
	</head>
		<body>
			<div id="header"><h1>PHP & MySQL: The Missing Manual</h1></div>
			<div id="example">Пример 2.1</div>
			<div id="content">
			<p>Это запись той информации, которую вы отправили:</p>
			<p>
				Имя: <?php echo $first_name = $_REQUEST['first_name'];; ?><br />
				Фамилия: <?php echo $_REQUEST['last_name']; ?><br />
				Адрес электронной почты: <?php echo $_REQUEST['email']; ?><br />
				URL-адрес Facebook: <?php echo $_REQUEST['facebook_url']; ?><br />
				Идентификатор в Twitter: <?php echo $_REQUEST['twitter_handle']; ?><br />
			</p>
			</div>
			<div id="footer"></div>
		</body>
</html>

это второй пример, тоже не выводит, а через что выводите? Через Денвер?

Добавлено: 30 ноя 2013, 20:12
ntzch
Через Open Server

Я только сейчас заметил, что у вас в браузере идёт обращение к файлу с диска, а не через сервер, кстати, потому и не работает

Добавлено: 30 ноя 2013, 20:46
zvezdo4ettt
Точно, спасибо! Настроил денвер, теперь все работает!

Добавлено: 30 ноя 2013, 22:04
ntzch
Советую перейти на Open Server, сам только недавно с денвера переехал и никак не могу нарадоваться, денвер уже отсталая система, а у Open Server больше возможностей, пользоваться удобнее и всё время развивается, не пожалеете

Добавлено: 01 дек 2013, 00:05
DelphinPRO
ntzch писал(а):Я, конечно, тоже только учусь и, возможно, чего-то не допонял, тогда прошу простить меня, но почему вы пишите $_REQUEST['name']; а не $_POST['name']; ?
Рекомендую ознакомится с мануалом на php.net, раздел про суперглобальные массивы.

Если вкратце - в requst попадают копии данных из массивов post, get, cookie

Добавлено: 19 дек 2013, 17:56
hnov
Хм, а почему у вас в адрессной строке находится чего-то типа file:///z:/home....
Должно быть http://phpmm/ch01/scripts/sayHelloWeb.php.

Запускать надо из под OpenServera все это чудо. А у Вас там, по-моему, ввобще Денвер ?

Добавлено: 26 дек 2013, 19:53
Redee
Написал по быстрому чисто для наглядности).
Вот ответы >
<div style="width: 250px; margin: auto">
	<form action="" method="post">
		<label for="UserName"><h1>Введите имя</h1></label>
		<input id="UserName" name="User_Name" type="text" style="width: 250px;"/>
		<input type="submit" value="Подтвердить" style="width: 100px;"/>
	</form>
</div>
<?
$a=1; //точка остановки для дебага
Изображение

Изображение

Изображение
Доступ к полученным данным из сценария осуществляется с помощью массива $_GET (в случае передачи методом HTTP GET) или $_P0ST (в случае передачи методом HTTP POST).
Для того чтобы иметь возможность применять оба этих метода, можно объявить массив $_REQUEST, содержащий данные, хранящиеся в массивах $_GET, $_POST и $_СOOКIЕ.
Если один и тот же элемент имеется в нескольких массивах, порядок помещения их в массив $_REQUEST зависит от значения параметра variables_order в файле php.ini.
Символ G представляет массив $_GET, символ Р - $_POST, С - $_СOOКIЕ, Е - $_ENV и S - $_SERVER. Переменные из этих массивов добавляются в $_REQUEST в порядке, определяемом значением параметра variables_order.
Значения из массивов, записываемые позднее, затирают значения, записанные ранее. Значение по умолчанию - EGPCS; это означает, что если в массиве $_POST имелись переменные с теми же именами, что и в $_GET, они затрут значения переменных из массива $_GET.
Инфа из книги Энди_Гутманс,Стиг_Баккен,Дерик_Ретанс-PHP_5.Профессиональное_программирование

Добавлено спустя 16 часов 52 минуты 31 секунду:
Забыл сказать - $_REQUEST получает переменные только тогда когда была отправка формы или через ссылку типа mysite.ru?my_variable=333 или другими способами чтобы сгенерировалась ссылка в браузере ?my_variable=333.

Тут следует заметить что если в скрипте вручную указывать переменные в массивы $_GET и $_POST, то они не попадут в массив $_REQUEST.

Можно даже через туже форму передавать одновременно переменные GET (action="?my_variable=333") и POST (method="post"), но это наверное не пригодится, но все же есть такая возможность.