adman

Рейтинг
9
Регистрация
12.04.2007

Радио однозначно не пойдет, а чат разве что по рекомендациям пускать.

А вот если внутренних страниц много и со всех ссылка на главную есть. То с главной ссылка повесомей будет.

Raul21:
adman,
Вы подсказываете с ошибкой :)
п.3 инициализируете $email, а используете $mailfrom
п.4 нуихде $_POST[]

А вообще (имхо) - нарушена последовательность -
сначала должна идти php-часть, а затем html
тогда в случае $error пользователь получит ту же форму
(с уже введенными данными) и сообщением об ошибке...

Ну, я хотел помочь, чтобы скрипт собрался, у меня он после правки собрался. Остальное логические ошибки. Я навел на мысль, как их можно решить.

kozlodoy:
Предлагаю делать сайты с большим наполнением. Например не 10, а ~ 50 страниц.

А как по мне лучше, сделать возможность выбора. Например 10,20,50,100.

Помоему значёк бесконечности на заднем фоне кривоват. А так ничего, только такой темный фон как-то под оптимизацию не катит ИМХО.

1) Неверно передаешь строки в параметрах надо так:

$body=convert_cyr_string (stripslashes($body),"w","k");

$subject=convert_cyr_string (stripslashes($subject),"w","k");

2) if ($error)

{

Проверяешь значение неинициализированной, нужно её инициалировать в начале например так:

$error="";

3) $email тоже нужно инициализировать.

4) если хочешь брать то что тебе передал пользователь, то к примеру mailfrom будет тут: $_POST['mailfrom']

Этот скрипт уже выполнится без ошибок:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
<title>Отправка письма</title>
<meta content="text/html;charset=windows-1251" http-equiv="Content-Type">
</head>
<body>
<?
//определение адреса, на кот. будет отправляться форма
$error="";
$email="";
$mailto="lanmob@gmail.com";
if (empty($ok))
{
?>
<h3>Отправьте вопрос автору сайта</h3>
Поля, отмеченные (*), обязательны для заполнения.
<br><br>
<form action="<?echo $PHP_SELF;?>" method="post">
<table>
<tr>
<td>Ваше имя:</td>
<td> <input type="text" name="username" size="30" maxlength="20"></td>
</tr>
<tr>
<td>* E-mail:</td>
<td><input type="text" name="mailfrom" size="30" maxlength="50"></td>
</tr>
<tr>
<td>* Вопрос:</td>
<td><textarea cols="50" rows="10" name="question"></textarea></td>
</tr>
</table>
<input type="submit" name="ok" value="отправить">
</form>
<?
}
else
{
//проверяем e-mail на корректность
if(!preg_match("/^([a-z,0-9,_,\-,\.])+\@([a-z,0-9,_,\-])+(\.([a-z,0-9])+)+$/", $mailfrom))
{
$error = "Не верно заполнено поле: <b>E-mail</b><br>";
}
if (empty($question))
{
$error .= "Не заполнено поле: <b>Ваш вопрос</b><br>";
}
if ($error)
{
echo $error;
echo "<br><a href=\"javascript:history.go(-1)\" class=\"text\">Вернуться назад</a>";
exit;
}
//формируем тело и тему сообщения
$subject="Вопрос от $mailfrom";
$body="Имя:\n$username\n\nE-mail:\n$mailfrom\n\nКомментарии:\n$question";
//конвертируем из win в koi
$body=convert_cyr_string (stripslashes($body),"w","k");
$subject=convert_cyr_string (stripslashes($subject),"w","k");
//отправляем по почте...
$sucess = mail($mailto, $subject, $body, "From: $email\nX-Mailer: PHP/" . phpversion());
if ($sucess)
{
echo "Спасибо. Ваш вопрос отправлен.<br><br>";
echo "<a href=\"javascript:history.go(-1)\" class=\"text\">Вернуться назад</a>";
}
}
?>

</body>
</html>

Прикольно! Мне нравится. Живенько так по весеннему. Только фавикон действительно напрягает немного.

Всего: 117