2010-05-30 7 views
0

Hey les gars, si quelqu'un peut me aider je l'aimerais ...PHP recaptcha envoyer des problèmes de courrier

Ce que j'est une forme, qui est entré envoyé, utilise 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'); 
    }  
?> 

Et puis mon 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> 

Ce que je vais avoir du mal avec son est quand je succesful besoin d'envoyer des notes $, mais les notes $ est toujours vide. Devrais-je juste mettre mon php sendmail dans mon php réussi? Ou quelqu'un peut-il m'expliquer pourquoi $ notes est vide.

J'ai ma clé Recaptcha, et j'ai aussi une adresse e-mail. J'ai gardé certaines choses privées, il y a aussi une note textarea dans mon HTML

Voici mon html pour cette table:

<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> 
+0

veuillez formater votre code correctement dans le futur. – Artefacto

+0

Eh bien, si toutes vos autres variables fonctionnent, cela n'a rien à voir avec le fait que vous l'incluez. Votre formulaire ne publie rien avec un nom de 'notes' ou il n'y a rien entré là-bas. Quel est le code de votre formulaire (HTML)? Avez-vous déjà essayé 'var_dump ($ _ POST)'? – animuson

+0

J'ai inclus mon HTML pour cette table –

Répondre

1

Je vous suggère de faire les LiveHeaders plug-in pour Firefox et regarder exactement quelle forme les données que vous soumettez pour vous assurer que le champ des notes est là. Si c'est le cas, essayez d'utiliser var_dump pour vider le tableau $ _POST et assurez-vous qu'il est correctement reçu.

Le plug-in PHP Development Tools pour Eclipse IDE a un débogueur assez bon. Faire un pas dans un débogueur est généralement plus facile pour ce genre de problème que d'ajouter un tas de code de débogage.

Questions connexes