Перейти к содержанию
СофтФорум - всё о компьютерах и не только

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


Рекомендуемые сообщения

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

Пытаюсь создать форму обратной связи на 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 !";

?>

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

Ссылка на комментарий
Поделиться на другие сайты

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

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

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

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

Ссылка на комментарий
Поделиться на другие сайты

вероятно у тебя в 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;

сразу после

<?

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

Ссылка на комментарий
Поделиться на другие сайты

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";

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

Изменено пользователем Alexander-V-Sh
Ссылка на комментарий
Поделиться на другие сайты

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
Ссылка на комментарий
Поделиться на другие сайты

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

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

<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=

Ссылка на комментарий
Поделиться на другие сайты

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

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

<input type=text size= name=lname>

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

тут либо так:

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

либо так:

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

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

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

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

Ссылка на комментарий
Поделиться на другие сайты

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

Создал два файла 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"> 

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

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...