Jump to content

Проблема с написанием скрипта обратной связи.


Fawlty
 Share

Recommended Posts

Доброго времени суток всем.

Пытаюсь создать форму обратной связи на PHP для своего сайта, вроде бы всё делаю верно но форма на электронную почту приходит без данных введённых в неё :bye1:

Файл index.htm (сама форма)

<html><body><form action=mail.php method=post><table border=0 align=center width=60%><tr><td align=left>First Name:

<td align=center><input type=text size= name=fname></tr><tr><td align=left>Last Name:

<td align=center><input type=text size= name=lname></tr><tr><td align=left>E-Mail:

<td align=center><input type=text size= name=email></tr><tr><td align=left>ICQ Number:

<td align=center><input type=text size= name=icq></tr><tr><td align=left>Comments:

<td align=center><textarea name=comments cols= rows=></textarea></tr><tr><td align=left colspan=2><input type=submit value="Отправить сообщение"></tr></table></form></body></html>

Файл mail.php (скрипт который по идее должен высылать данные введённые в эту форму)

<?php

$to = "mymail@mysite.ru";

$subj = "feedback";

$mess = "Test.

First Name:

$fname

Last Name:

$lname

E-Mail:

$email

ICQ Number:

$icq

Comments:

$comments

";

$headers = "Content-type: text/plain; charset=windows-1251

";

mail($to, $subj, $mess, $headers);

echo "OK !";

?>

Что же я сделал не так ?

Link to comment
Share on other sites

вероятно у тебя в php.ini стоит register_globals=off а твой скрипт написан под register_globals=on

вставь в начало mail.php следующий код:

foreach($_POST as $var => $value) $$var = $value;

должно помочь!

Вставил в mail.php строчку

foreach($_POST as $var => $value) $$var = $value;

сразу после

<?

но результат тот же, приходит всё кроме данных введённых в форму.

Link to comment
Share on other sites

Fawlty:

Попробуй:

<?php$to = "mymail@mysite.ru";$subj = "feedback";$mess = "First Name: $fname\n";$mess .= "Last Name: $lname\n";$mess .= "E-Mail: $email\n";$mess .= "ICQ Number: $icq\n";$mess .= "Comments: $comments";$headers = "Content-type: text/plain; charset=windows-1251";mail($to, $subj, $mess, $headers);echo "OK !";?>

А лучше замени сначала

mail($to, $subj, $mess, $headers);

на

echo "$to, $subj, $mess, $headers";

Тогда увидишь, определились ли у тебя переменные.

Edited by Alexander-V-Sh
Link to comment
Share on other sites

Fawlty:

Попробуй:

<?php$to = "mymail@mysite.ru";$subj = "feedback";$mess = "First Name: $fname\n";$mess .= "Last Name: $lname\n";$mess .= "E-Mail: $email\n";$mess .= "ICQ Number: $icq\n";$mess .= "Comments: $comments";$headers = "Content-type: text/plain; charset=windows-1251";mail($to, $subj, $mess, $headers);echo "OK !";?>

А лучше замени сначала

mail($to, $subj, $mess, $headers);

на

echo "$to, $subj, $mess, $headers";

Тогда увидишь, определились ли у тебя переменные.

Похоже что переменные не определились :doh:

Заменил

mail($to, $subj, $mess, $headers);

на

echo "$to, $subj, $mess, $headers";

Получил

mymail@mysite.ru, feedback, OK !. First Name: Last Name: E-Mail: ICQ Number: , Content-type: text/plain; charset=windows-1251
Link to comment
Share on other sites

Тогда форму поменяй...

Она у тебя вообще как то странно написана.

<input type=text size= name=lname>

size чему равно? У тебя написано что size= name=lname :doh:

тут либо так:

<input type="text" name="lname">

либо так:

<input type="text" size="20" name="lname">

и тут что то цифр не видно cols= rows=

Link to comment
Share on other sites

Тогда форму поменяй...

Она у тебя вообще как то странно написана.

<input type=text size= name=lname>

size чему равно? У тебя написано что size= name=lname :)

тут либо так:

<input type="text" name="lname">

либо так:

<input type="text" size="20" name="lname">

и тут что то цифр не видно cols= rows=

Форму поправил, теперь всё работает.

Большое спасибо !

Link to comment
Share on other sites

Теперь возникла проблема с кодом подтверждения в форме обратной связи.

Создал два файла code.php и code.png

code.php

<?phpsession_start();$сode = rand(100000,999999);session_register("сode");$Image = imageCreateFromPng ("code.png");$Color = imageColorAllocate($Image, 254, 165, 65);settype ($сode, "string");imageString($Image, 3, 30, 3, $сode, $Color);Header("Content-type: image/png");imagePng($Image);imageDestroy($Image);?>

code.png чистый рисунок с размером 100 на 17 пикселей.

в index.htm вставил следующий код:

<img src="code.php" width="100" height="17" alt="Введите код" border="0"><input name="code" style="width:332; height:22"; size="1"> 

Теперь проблема такая, как сделать так что-бы при неверном вводе кода с рисунка появлялось сообщение об ошибке ?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...