PHP recaptcha отправить вопросы почты - PullRequest
0 голосов
/ 30 мая 2010

Эй, ребята, если кто-нибудь может мне помочь, я бы с удовольствием ...

У меня есть форма, отправленная с использованием doublecheck.php

<?php  
    require_once('recaptchalib.php');  
    $privatekey = "";  
    $resp = recaptcha_check_answer ($privatekey,  
    $_SERVER["REMOTE_ADDR"],   
    $_POST["recaptcha_challenge_field"],  
    $_POST["recaptcha_response_field"]);  
    if (!$resp->is_valid) {  
        die ("Sorry please go back and try it again." .  
            "" . $resp->error . ")");  
    }  
    if ($resp->is_valid) {  
        require_once('sendmail.php');  
    }    
?>

А потом мой sendmail.php

<?php

    $ip = $_POST['ip'];
    $httpref = $_POST['httpref'];
    $httpagent = $_POST['httpagent'];
    $visitor = $_POST['visitor'];
    $notes = $_POST['notes'];
    $attn = $_POST['attn'];

    $todayis = date("l, F j, Y, g:i a");

    $attn = $attn ;
    $subject = $attn;

    $notes = stripcslashes($notes);

    $message = " $todayis [EST] \n
Attention: $attn \n
Message: $notes \n
From: $visitor ($Your Prayer or Concern)\n
Additional Info : IP = $ip \n
Browser Info: $httpagent \n
Referral : $httpref \n
";

    $from = "From:\r\n";

    mail("", Prayers and Concerns, $message);

?>

<p align="center">
Date: <?php echo $todayis ?>
<br />
<br />

Attention: <?php echo $attn ?>
<br />
Message:<br />
<?php $notesout = str_replace("\r", "<br/>", $notes);
echo $notesout; ?>
<br />
<?php echo $ip ?>

<br /><br />
<a href="contact.php"> Next Page </a>
</p>
</body>
</html>

Что мне тяжело, так это то, когда мне нужно отправить заметки в $, но $ notes всегда пусто. Должен ли я просто поставить свой php sendmail внутри моего успешного php? Или может кто-нибудь объяснить мне, почему $ notes пусто.

У меня есть мой ключ к рекапче, а также у меня есть адрес электронной почты. Я держал некоторые вещи в секрете, также в моем HTML есть текстовая заметка

Вот мой HTML-код для этой таблицы:

<form action="doublecheck.php" action="http://www.ipower.com/scripts/formemail.bml" enctype="application/x-www-form-urlencoded" method="post">
  <table>
    <tbody style="font-size: 12px;">
      <tr>
        <td width="661">Your Prayer or Concern<br/>
          <textarea name="notes" rows="6" cols="100" maxlength="1024"></textarea></td>
      </tr>
      <tr>
        <td><script type="text/javascript" src="http://api.recaptcha.net/challenge?k=6LdoKLoSAAAAAChm6Oaquimz8g1elKd5OQBJtCLm"></script>

<noscript>
    <iframe src="http://api.recaptcha.net/noscript?k=6LdoKLoSAAAAAChm6Oaquimz8g1elKd5OQBJtCLm" height="300" width="500" frameborder="0"></iframe><br/>
    <textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea>
    <input type="hidden" name="recaptcha_response_field" value="manual_challenge"/>
</noscript>                <p>
              <input type="submit" id="Pray" name="Pray" value="Send your prayer"/>
          </p></td>
      </tr>
      <tr>
      </tr>
    </tbody>

  </table>
</form>

1 Ответ

1 голос
/ 30 мая 2010

Я предлагаю вам подключить LiveHeaders к Firefox и посмотреть, какие именно данные формы вы отправляете, чтобы убедиться, что поле для заметок там. Если это так, попробуйте использовать var_dump для выгрузки массива $ _POST и убедитесь, что он получен правильно.

Плагин PHP Development Tools для Eclipse IDE имеет довольно хороший отладчик. Для такого рода проблем обычно проще выполнить отладчик, чем добавить кучу кода отладки.

...