проблема с почтовой формой :(

Статус
В этой теме нельзя размещать новые ответы.

SainT.v2

O_0
Регистрация
21 Мар 2007
Сообщения
185
Реакции
87
Тут проблемка одна, есть почтовая форма, все работает, но отправляет пустое письмо, немогу понять в чем проблема, кодинг знаю хреново, потому прошу не стебaть над кодом, а помочь по человечески. За ранее благодарен.

index.php
PHP:
<?php
include('kcaptcha/kcaptcha.php');
session_start();
require_once("config.php");


if ($_POST['act']== "y")
{
    if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] ==  $_POST['keystring'])
    {
        
        if (isset($_POST['posName']) && $_POST['posName'] == "")
        {
         $statusError = "$errors_name";
        }
        elseif (isset($_POST['posDd']) && $_POST['posDd'] == "")
        {
         $statusError = "$errors_dd";
        }
        elseif (isset($_POST['posMm']) && $_POST['posMm'] == "")
        {
         $statusError = "$errors_mm";
        }
        elseif (isset($_POST['posGggg']) && $_POST['posGggg'] == "")
        {
         $statusError = "$errors_gggg";
        }
        elseif (isset($_POST['posAdress']) && $_POST['posAdress'] == "")
        {
         $statusError = "$errors_adress";
        }
        elseif (isset($_POST['posCity']) && $_POST['posCity'] == "")
        {
         $statusError = "$errors_city";
        }
        elseif (isset($_POST['posStrana']) && $_POST['posStrana'] == "")
        {
         $statusError = "$errors_strana";
        }
        elseif (isset($_POST['posEmail']) && $_POST['posEmail'] == "")
        {
         $statusError = "$errors_mailfrom";
        }
        elseif(isset($_POST['posEmail']) && !preg_match("/^([a-z,._,0-9])+@([a-z,._,0-9])+(.([a-z])+)+$/", $_POST['posEmail']))
        {
         $statusError = "$errors_incorrect";

         unset($_POST['posEmail']);
        }
        elseif (isset($_POST['posTel']) && $_POST['posTel'] == "")
        {
         $statusError = "$errors_tel";
        }
        elseif (isset($_POST['posTel2']) && $_POST['posTel2'] == "")
        {
         $statusError = "$errors_tel2";
        }
        elseif (isset($_POST['posPasport']) && $_POST['posPasport'] == "")
        {
         $statusError = "$errors_pasport";
        }
        elseif (isset($_POST['posPasportDd']) && $_POST['posPasportDd'] == "")
        {
         $statusError = "$errors_pasportdd";
        }
        elseif (isset($_POST['posPasportMm']) && $_POST['posPasportMm'] == "")
        {
         $statusError = "$errors_pasportmm";
        }
        elseif (isset($_POST['posPasportGggg']) && $_POST['posPasportGggg'] == "")
        {
         $statusError = "$errors_pasportgggg";
        }
        elseif (isset($_POST['posStarterNo']) && $_POST['posStarterNo'] == "")
        {
         $statusError = "$errors_starterNo";
        }
        elseif (isset($_POST['posYdaten']) && $_POST['posYdaten'] == "")
        {
         $statusError = "$errors_ydaten";
        }
        elseif (isset($_POST['posAllgemeine']) && $_POST['posAllgemeine'] == "")
        {
         $statusError = "$errors_allgemeine";
        }

elseif (!empty($_POST))
{   
 $headers  = "MIME-Version: 1.0\r\n";
 $headers .= "Content-Type: $content  charset=$charset\r\n";
 $headers .= "Date: ".date("Y-m-d (H:i:s)",time())."\r\n";
 $headers .= "From: \"".$_POST['posName']."\" <".$_POST['posEmail'].">\r\n";
 $headers .= "Subject: тест\r\n";
 $headers .= "X-Mailer: Russia\r\n";

  mail("$mailto","$message","$headers");

 unset($name, $dd, $mm, $gggg, $adress, $city, $strana, $tel, $tel2, $pasport, $pasportdd, $pasportmm, $pasportgggg, $starterNo, $ydaten, $allgemeine, $mailto);

 $message .= "$posname\r\n$posdd\r\n$posmm\r\n$posgggg\r\n$posadress\r\n$poscity\r\n$posstrana\r\n$postel\r\n$postel2\r\n$pospasport\r\n$pospasportdd\r\n$pospasportmm, $pospasportgggg\r\n$posstarterNo\r\n$posydaten\r\n$posallgemeine\r\n$posEmail";

 $statusSuccess = "$send";
}

       }else{
             $statusError = "$captcha_error";
             unset($_SESSION['captcha_keystring']);
        }
}
?>

<html><head><title>ЗАГОЛОВОК</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="registr_files/class.htm" type="text/css" rel="stylesheet">
<meta name="keywords" content="">
</head><body>

<form action="./" method="post" id="cForm">
<input type="hidden" name="act" value="y" />

<table style="font-size: 12px; font-family: Arial; text-align: justify;" width="650" align="center" border="0" cellpadding="5" cellspacing="0"><tbody>
<tr><td style="color: rgb(153, 0, 0);"><p style="text-align: center;"><strong>ЗАГОЛОВОК</strong></p></td></tr>

<tr><td><table style="font-size: 12px; font-family: Arial; text-align: justify;" width="100%" border="0" cellpadding="2" cellspacing="0"><tbody>

<tr><td width="100%" align="center">
<p id="emailSuccess"><strong style="color:green;"><?php echo "$statusSuccess" ?></strong></p>
<p id="emailError"><strong style="color:red;"><?php echo "$statusError" ?></strong></p>
</td></tr></tbody></table></td></tr> 

<tr><td><strong>Персональные данные</strong></td></tr><tr><td bgcolor="#ffecec"> 
<table style="font-size: 12px; font-family: Arial; text-align: justify;" width="100%" border="0" cellpadding="2" cellspacing="0"><tbody>

<tr><td width="225">Фамилия, Имя, Отчество:</td> <td><input style="width: 100%;" name="posName" id="posName"></td></tr> 

<tr><td>Дата рождения:</td>  <td><input style="width: 25px;" maxlength="2" name="posDd"> - <input style="width: 25px;" maxlength="2" name="posMm"> - <input style="width: 75px;" maxlength="4" name="posDggg"> (дд-мм-гггг)</td></tr>  

<tr><td>Улица, номер дома, квартира:</td><td><input style="width: 100%;" name="posAdress"></td></tr> 

<tr><td>Почтовый индекс, город:</td> <td><input style="width: 200px;" name="posCity"> Страна: <input style="width: 150px;" name="posStrana" size="20"></td></tr> 

<tr><td>E-Mail:</td><td><input style="width: 200px;" name="posEmail" id="posEmail"></td></tr>

<tr><td>Телефон:</td><td><input style="width: 200px;" name="posTel"></td></tr>

<tr><td>Мобильный <br>(если нет, то введите домашний):</td> <td><input style="width: 200px;" name="posTel2"></td></tr>

<tr><td>Серия и номер паспорта:</td><td><input style="width: 100%;" name="posPasport"></td></tr>

<tr><td>Дата выдачи:</td><td><input style="width: 25px;" maxlength="2" name="posPasportDd"> - <input style="width: 25px;" maxlength="2" name="posPasportMm"> - <input style="width: 75px;" maxlength="4" name="posPasportGggg"> (дд-мм-гггг)</td> </tr></tbody></table></td></tr> 


<tr><td><strong>При первом заказе</strong></td></tr><tr><td>
<table style="font-size: 12px; font-family: Arial; text-align: justify;" width="100%" border="0" cellpadding="2" cellspacing="0"><tbody>
<tr><td width="30"><input value="Ich habe bereits mein Starter Set" name="posStarterNo" checked="checked" type="radio"></td><td>Я не включаю в первый заказ</td></tr>  
</tbody></table></td></tr>
<tr><td><table style="font-size: 12px; font-family: Arial; text-align: justify;" width="100%" bgcolor="#e28188" border="0" cellpadding="2" cellspacing="0"><tbody>
<tr><td width="30"><input name="posYdaten" type="checkbox"></td><td>Я соглашаюсь с тем что мне более 18 лет. И введенные мной данные соответствуют действительности.</td></tr></tbody></table></td></tr>  
<tr><td><table style="font-size: 11px; color: rgb(255, 255, 255); font-family: Arial; background-color: rgb(215, 81, 90); text-align: justify;" width="100%" border="0" cellpadding="2" cellspacing="0"><tbody>
<tr><td width="30"><input name="posAllgemeine" type="checkbox"></td>
<td><span style="color: rgb(0, 0, 0);">Я принимаю условия работы компании.</span></td></tr></tbody></table></td></tr>  

<tr><td align="center"><table style="font-size: 12px; font-family: Arial;" align="center" border="0" cellpadding="5" cellspacing="0"><tbody>
<tr><td><img src="kcaptcha?<?php echo session_name()?>=<?php echo session_id()?>"></td><td>введите символы которые на картинке:<br><input class="text" type="text" size="33" name="keystring" id="keystring"></td></tr></tbody></table></td></tr>

<tr><td align="middle"><input style="border: medium none ; font-family: tahoma; font-style: normal; font-variant: normal; font-weight: bold; font-size: 11px; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none; width: 200px; color: rgb(255, 255, 255); height: 20px; background-color: rgb(153, 0, 0);" value="Отправить" name="selfCC" id="selfCC" type="submit"></td></tr>
</tbody></table></form></body></html>

config.php
PHP:
<?php
$mailto = "email@mail.no";
$charset = "windows-1251";
$subject = $_POST['posRegard'];
$content = "text/plain";
$message = $_POST['posText'];
$statusError = "";
$statusSuccess = "";

$errors_name = 'Введите ваше имя';
$errors_dd = 'Введите дату рождения';
$errors_mm = 'Введена некорректная дата рождения';
$errors_gggg = 'Введена некорректная дата рождения';
$errors_adress = 'Введите улицу, номер дома, квартиры';
$errors_city = 'Введите ваш почтовый индекс, город';
$errors_strana = 'Введите вашу Страну';
$errors_tel = 'Введите ваш телефон';
$errors_tel2 = 'Введите ваш второй телефон';
$errors_pasport = 'Введите серию и номер паспорта';
$errors_pasportdd = 'Введите дату выдачи паспорта';
$errors_pasportmm = 'Введена некорректная дата выдачи паспорта';
$errors_pasportgggg = 'Введена некорректная дата выдачи паспорта';
$errors_starterNo = 'Вам необходимо отказаться от стартового набора';
$errors_ydaten = 'Вам необходимо согласится, иначе покиньте данную страничку';
$errors_allgemeine = 'Вам необходимо согласится, иначе покиньте данную страничку';
$errors_mailfrom = 'Введите свой E-mail адрес';
$errors_incorrect = 'Заполните правильно Ваш E-mail адрес';

$captcha_error = 'Проверьте правильность ввода защитного кода';
$send = 'Ваше сообщение успешно отправлено';


?>
 
В первом приближении попробуй:
PHP:
 $message .= "$posname\r\n$posdd\r\n$posmm\r\n$posgggg\r\n$posadress\r\n$poscity\r\n$posstrana\r\n$postel\r\n$postel2\r\n$pospasport\r\n$pospasportdd\r\n$pospasportmm, $pospasportgggg\r\n$posstarterNo\r\n$posydaten\r\n$posallgemeine\r\n$posEmail";
поменять на
PHP:
 $message .= $_POST['posname'].'\r\n'.$_POST['posdd'].'\r\n'.$_POST['posmm'].'\r\n'.$_POST['posgggg'].'\r\n'.$_POST['posadress'].'\r\n'.$_POST['poscity'].'\r\n'.$_POST['posstrana'].'\r\n'.$_POST['postel'].'\r\n'.$_POST['postel2'].'\r\n'.$_POST['pospasport'].'\r\n'.$_POST['pospasportdd'].'\r\n'.$_POST['pospasportmm'].','.$_POST['pospasportgggg'].'\r\n'.$_POST['posstarterNo'].'\r\n'.$_POST['posydaten'].'\r\n'.$_POST['posallgemeine'].'\r\n'.$_POST['posEmail'];
 
В первом приближении попробуй:
PHP:
 $message .= "$posname\r\n$posdd\r\n$posmm\r\n$posgggg\r\n$posadress\r\n$poscity\r\n$posstrana\r\n$postel\r\n$postel2\r\n$pospasport\r\n$pospasportdd\r\n$pospasportmm, $pospasportgggg\r\n$posstarterNo\r\n$posydaten\r\n$posallgemeine\r\n$posEmail";
поменять на
PHP:
 $message .= $_POST['posname'].'\r\n'.$_POST['posdd'].'\r\n'.$_POST['posmm'].'\r\n'.$_POST['posgggg'].'\r\n'.$_POST['posadress'].'\r\n'.$_POST['poscity'].'\r\n'.$_POST['posstrana'].'\r\n'.$_POST['postel'].'\r\n'.$_POST['postel2'].'\r\n'.$_POST['pospasport'].'\r\n'.$_POST['pospasportdd'].'\r\n'.$_POST['pospasportmm'].','.$_POST['pospasportgggg'].'\r\n'.$_POST['posstarterNo'].'\r\n'.$_POST['posydaten'].'\r\n'.$_POST['posallgemeine'].'\r\n'.$_POST['posEmail'];

не, все равно не работает :(
 
$message формируется уже после вызова mail()... надо перенести строку $message = ... до mail(...)

index.php
PHP:
<?php
  ...
$headers .= "Subject: тест\r\n";
 $headers .= "X-Mailer: Russia\r\n";

  mail("$mailto","$message","$headers");

 unset($name, $dd, $mm, $gggg, $adress, $city, $strana, $tel, $tel2, $pasport, $pasportdd, $pasportmm, $pasportgggg, $starterNo, $ydaten, $allgemeine, $mailto);

 $message .= "$posname\r\n$posdd\r\n$posmm\r\n$posgggg\r\n$posadress\r\n$poscity\r\n$posstrana\r\n$postel\r\n$postel2\r\n$pospasport\r\n$pospasportdd\r\n$pospasportmm, $pospasportgggg\r\n$posstarterNo\r\n$posydaten\r\n$posallgemeine\r\n$posEmail";
...
?>
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху