Войти

Показать полную графическую версию : php не реагирует на формы


Nurtek
23-03-2010, 11:30
Привет народ!
Вообщем короче я говоря, я еще новичок в php. Еще пока изучаю. Когда в Dreamweaver готовлю форму и указываю обработчика , чтобы он обработал, в браузере указывается только одна форма, а обработчик не работает, хотя php у меня настроен и вроде как функционирует корректно. Ниже приведен код формы и обработчика

1. <body>

<p><form action="name.php" method="post" name="form1" target="_blank"></form>
<p>Input your name please:
<p><input name="name" type="text" size="20" /></p>
<p>Input your lastname: </br>
<p><input name="lastname" type="text" size="20" /></p>
<p><input name="submit" type="submit" value="Go!" />

</body>

2. <body>
<?php

$name=$_POST['name'];
$lastname=$_POST['lastname'];

echo $name['name'];

?>

</body>

Coutty
23-03-2010, 13:31
Пишите просто echo $name;

Nurtek
24-03-2010, 10:14
Не получается, результат тот же-не пашет обработчик... Мне кажется там надо в php в настр покапаться, но не знаю где. Прошу совета.

Coutty
24-03-2010, 11:28
А может быть нельзя использовать name в качестве имени поля.

Sham
24-03-2010, 13:07
посмотрите, где закрывающий тег </form> находится...

Nurtek
24-03-2010, 14:19
Насчет имени поля name-если я не укажу имени поля, тогда как определиться переменная? Насчет form-все равно не получится, так как я также пробовал вариант, где все эл-ты (текст поля, кн отправки) ставил между <form> ...</form>. Одно и тоже.

Sham
24-03-2010, 14:39
У вас и value нет у полей... браузер может и вовсе не слать такие данные, соответственно на сервере их не будет...

Выводите лучше phpinfo() - там все можно найти, что браузер шлет.

Nurtek
24-03-2010, 15:49
Уважаемый sham, можно поподробней?, я что-то не догнал, какие поля?, какие vаluе?

Sham
24-03-2010, 16:13
для полей text необязательно...
<html>
<body>

<form action="name.php" method="post" name="form1" target="_blank">
<p>Input your name please:</p>
<p><input name="name" type="text" size="20" /></p>
<p>Input your lastname:</p>
<p><input name="lastname" type="text" size="20" /></p>
<p><input name="submit" type="submit" value="Go!" /></p>
</form>

</body>
</html>

<?php

phpinfo(INFO_VARIABLES);

echo '<pre>';

var_dump($_POST);

echo '</pre>';
?>

Coutty
24-03-2010, 16:50
Насчет имени поля name-если я не укажу имени поля, тогда как определиться переменная? »
Я имел в виду именно значение поля name. Пишите другие значения: name='firstname', например.

Nurtek
24-03-2010, 18:45
Спасибо! Этот вопрос я решил.
Следующее, что я хочу сделать - чтобы с моего сайта можно было бы отправить письмо. При тестировании на браузере выдает ошибку что типа какая-то функция не определена (sendmail) и ее надо настроить в php-ini. Я хочу чтобы была форма, где расположены текстовое поле для адреса email, имени пользователя и его мнение о сайте. Когда он заполнит все это и запустит "отправить" на его мыло придет письмо с благодарностью (или что-то типа того). Нашел в инете несколько инфо но доконца не вьехал (так как у меня выдает ошибку). Ниже приведен листинг и сама ошибка в браузере.
<form name="form1" method="post" action="mail.php">
<p>Enter Your e-mail:<br><input name="email" type="text" size="20"><br>

Enter your name:<br>
<input name="name" type="text" size="20">
</p>
<p>Enter your comments:
<textarea name="text" cols="30" rows="5"></textarea>
<br>
<input name="Submit" type="submit">
<input name="reset" type="reset" value="Clear">
</p>
</form>
<?php

mail('email','name','text');

?>


Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:\xampp\htdocs\new\mail.php on line 11

Dr.Dark
25-03-2010, 02:53
Nurtek, Используй тег CODE когда приводишь фрагменты кода.
Тебе нужно заполнить секцию [mail function] в твоём php.ini. Для этого тебе скорее всего придётся поднять сво smtp сервер и прописывать его туда. :)
Вот ссылки по теме:
Синтаксис функции mail() (http://www.php.su/functions/?mail)
Информация по секции [mail function] в php.ini (англ.) (http://php.net/manual/en/ref.mail.php)
SMTP сервер (первый из гугла)))) (http://www.bestfree.ru/soft/inet/smtpserver.php)

Если влом сервер поднимать то есть библиотека для php которая может отправлять сообщения через другие сервера (gmail, rambler etc):
Краткое (очень) описание (http://zliypes.com.ua/blog/2008/06/05/php-mail-through-gmail/)
PHP Mailer (сама библиотека) (http://phpmailer.worxware.com/index.php?pg=phpmailer)

Nurtek
27-03-2010, 08:35
а как настроить sendmail? Скачал с интета caму sendmai...

Dr.Dark
30-03-2010, 14:43
Nurtek, вот подробная инструкция (http://www.google.ru/search?hl=ru&source=hp&q=%D0%BA%D0%B0%D0%BA+%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B8%D1%82%D1%8C+sendmail&lr=&aq=1&aqi=g4&aql=&oq=%D0%BA%D0%B0%D0%BA+%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B8%D1%82%D1%8C+se&gs_rfai=) :read:

mar
03-04-2010, 13:20
Nurtek,
пожалуйста, открывайте новые темы для новых вопросов




© OSzone.net 2001-2012