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

Форум PHP

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

 

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

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

тема: Почему не работает метод пост?
 
 автор: Loh   (03.07.2011 в 11:10)   письмо автору
 
 

form.html

<HTML>
<HEAD>
<TITLE>HTML Form</TITLE>
</HEAD>
<BODY>
<FORM ACTION="HandleForm.php" METHOD=POST>
First Name <INPUT TYPE=TEXT NAME="FirstName" SIZE=20><BR>
Last Name <INPUT TYPE=TEXT NAME="LastName" SIZE=40><BR>
E-mail Address <INPUT TYPE=TEXT NAME="Email" SIZE=60><BR>
Comments <TEXTAREA NAME="Comments" ROWS=5 COLS=40></TEXTAREA><BR>
<INPUT TYPE=SUBMIT NAME="SUBMIT" VALUE="Submit!">
</FORM>
</BODY>
</HTML>


HandleForm.php

<HTML>
<HEAD>
<TITLE>Form Results</TITLE></HEAD>
<BODY>
<?php
/* Эта страница получает и отрабатывает данные, принятые от "form.html".*/
print ("Your first паве ie $FirstHame.<BR>\n");
print (
"Your last name is $LastName.<BR>\n");
print (
"Your E-inail address is $Email.<BR>\n") ;
print (
"This is what you had to say:<BR>\n $Comments<BR>\n");
?>
</BODY>
</HTML>

значения формы не передаются в скрипт, вообще пост перестал работать почему-то

  Ответить  
 
 автор: Valick   (03.07.2011 в 11:13)   письмо автору
 
   для: Loh   (03.07.2011 в 11:10)
 

потому что переменные в скрипте обработчика нужно принимать
анализируя суперглобальный массив $_POST
$FirstHame=$_POST[FirstName];

___
Ваш код ориентирован на включенную директиву registrglobals, что уже давно и безнадежно устарело из соображений безопасности
и еще нужно проверять приходящие преременные на присутствие
if(isset($_POST[FirstName])) $FirstHame=$_POST[FirstName]; 

а еще лучше так
if(isset($_POST[FirstName]) && !empty($_POST[FirstName])) $FirstHame=$_POST[FirstName]; else $FirstHame=false; 

аналогичным образом для всех остальных переменных, в последствии с соответсвующей проверкой каждой переменной в зависимости от типа, содержания и назначения (количество символов, допустимые/недопустимые символы и тд)
___
и не путайтесь в буквах FirstHame и $FirstName

  Ответить  
 
 автор: Loh   (03.07.2011 в 11:26)   письмо автору
 
   для: Valick   (03.07.2011 в 11:13)
 

да, я понял а теперь другой вопрос
почему $_POST[FirstName] работает а $_Post[FirstName] нет? какое значение имеет регистр?? я три часа мучался из за него

  Ответить  
 
 автор: Valick   (03.07.2011 в 11:44)   письмо автору
 
   для: Loh   (03.07.2011 в 11:26)
 

размер имеет значение ;)

  Ответить  
 
 автор: Loh   (03.07.2011 в 11:57)   письмо автору
 
   для: Valick   (03.07.2011 в 11:44)
 

да уж

  Ответить  
 
 автор: Commander   (03.07.2011 в 19:47)   письмо автору
 
   для: Loh   (03.07.2011 в 11:57)
 

В PHP имена переменных чувствительны к регистру. $_POST != $_Post

  Ответить  
Rambler's Top100
вверх

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