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

Тема в разделе "PHP", создана пользователем SainT.v2, 23 сен 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. SainT.v2

    SainT.v2 O_0

    Регистр.:
    21 мар 2007
    Сообщения:
    185
    Симпатии:
    64
    Тут проблемка одна, есть почтовая форма, все работает, но отправляет пустое письмо, немогу понять в чем проблема, кодинг знаю хреново, потому прошу не стеб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 'Ваше сообщение успешно отправлено';


    ?>
     
  2. sw04

    sw04 seoplayer

    Регистр.:
    1 дек 2007
    Сообщения:
    601
    Симпатии:
    193
    В первом приближении попробуй:
    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'];
     
    SainT.v2 нравится это.
  3. SainT.v2

    SainT.v2 O_0

    Регистр.:
    21 мар 2007
    Сообщения:
    185
    Симпатии:
    64
    не, все равно не работает :(
     
  4. -=Alex=-

    -=Alex=- Писатель

    Регистр.:
    10 сен 2008
    Сообщения:
    6
    Симпатии:
    1
    $message формируется уже после вызова mail()... надо перенести строку $message = ... до mail(...)

     
Статус темы:
Закрыта.