Вопрос программистам по форме обратной связи

D7
На сайте с 23.11.2005
Offline
114
393

Здравствуйте! Нужна небольшая помощь по форме обратной связи. До недавних пор использовал небольшой скрипт и работал он вполне удовлетворительно, но в последние несколько недель работает не корректно.

На странице используется стандартная форма:

<form action="post.php" method="post" name="mailer">

<table border=0 cellspacing=0 cellpadding=3>

<tr><td>Введите ваше имя*:</td><td><input type="text" name="name" value="" size=40 maxlenght=40></td></tr>

<tr><td>Введите название вашей<br> организации :</td><td><input type="text" name="org" value="" size=40 maxlenght=60></td></tr>

<tr><td>Введите ваш e-mail*:</td><td><input type="text" name="email" value="" size=40 maxlenght=40></td></tr>

<tr><td>Введите ваш телефон:</td><td><input type="text" name="tlf" value="" size=40 maxlenght=40></td></tr>

<tr><td>Введите тему письма*:</td><td><input type="text" name="tema" value="" size=40 maxlenght=60></td></tr>

<tr><td valign="top">Введите текст письма*:</td><td><textarea name="contt" cols="60" rows="10"></textarea></td></tr>

<tr><td></td><td>

<input type=submit value=" отправить ">

<INPUT TYPE=reset VALUE=" очистить поля ">

</td></tr></table>

</form>

сам скрипт post.php:

<?php

$name = htmlspecialchars(stripslashes($name));

$org = htmlspecialchars(stripslashes($org));

$email = htmlspecialchars(stripslashes($email));

$tlf = htmlspecialchars(stripslashes($tlf));

$tema = htmlspecialchars(stripslashes($tema));

$contt = htmlspecialchars(stripslashes($contt));

$to = "e-mail@mail.ru";

$mess = "С сайта было отправленно сообщение.

Имя отправителя - $name;

Организация отправителя - $org;

e-mail отправителя - $email;

телефон отправителя - $tlf;

Сообщение:

$contt";

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

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

echo ('<html><head>

<meta http-equiv="content-type" content="text/plain; charset=windows-1251">

<meta http-equiv="refresh" content="0; url=url.php">

</head></body></html>');

?>

так вот суть в том, что сообщения приходят, но переменные $name; $org; $email; $tlf; $contt передаются пустыми. где в скрипте ошибка? подскажите пожалуйста.

Ш
На сайте с 12.10.2006
Offline
23
#1

Принимайте через $_POST[''] или $HTTP_POST_VARS['']

[Удален]
#2

Вопрос напоминает "у меня машина не ездит, <подставить нужную модель>". Вы не получите ответ пока не научитесь задавать вопросы.

$tema то бишь работает?

register_globals - вселенское зло

D7
На сайте с 23.11.2005
Offline
114
#3

Шуранов - спасибо.

neolord - я не программист, поэтому спросил как смог.

aleksey_php
На сайте с 17.03.2008
Offline
53
#4

Вот это:

$name = htmlspecialchars(stripslashes($name));

$org = htmlspecialchars(stripslashes($org));
$email = htmlspecialchars(stripslashes($email));
$tlf = htmlspecialchars(stripslashes($tlf));
$tema = htmlspecialchars(stripslashes($tema));
$contt = htmlspecialchars(stripslashes($contt));

Замените на это:

$name = htmlspecialchars(stripslashes($_POST['name']));

$org = htmlspecialchars(stripslashes($_POST['org']));
$email = htmlspecialchars(stripslashes($_POST['email']));
$tlf = htmlspecialchars(stripslashes($_POST['tlf']));
$tema = htmlspecialchars(stripslashes($_POST['tema']));
$contt = htmlspecialchars(stripslashes($_POST['contt']));
Linkpusher
На сайте с 28.12.2007
Offline
176
#5

$name = '';

... перечисляем все переменные

extract($_POST, EXTR_IF_EXISTS);

и дальше Ваш код как был, собственно.

upd: ну или как у aleksey_php - чисто "на вкус и цвет" :)

Точу ножи. Буквально. Есть отзывы. Заказать заточку в МСК и Подольске можно через Телеграмм.
D7
На сайте с 23.11.2005
Offline
114
#6

сэнкс за помощь. все заработало.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий