2010-06-21 10 views
0

Ok, donc je fait un formulaire en utilisant HTML, et j'aimerais obtenir de soumettre les informations à mon e-mail, donc j'ai trouvé et modifié ce script PHP:Pourquoi mon formulaire HTML/PHP ne fonctionnera-t-il pas?

<?php 
$to = "[email protected]"; 
$subject = "R&R Form"; 
$firstname1 = $_REQUEST['firstname1'] ; 
$lastname1 = $_REQUEST['lastname1'] ; 
$firstname2 = $_REQUEST['firstname2'] ; 
$lastname2 = $_REQUEST['lastname2'] ; 
$department1 = $_REQUEST['department1'] ; 
$department2 = $_REQUEST['department2'] ; 
$reason = $_REQUEST['reason'] ; 
$behaviour1 = $_REQUEST['behaviour1'] ; 
$behaviour2 = $_REQUEST['behaviour2'] ; 
$behaviour3 = $_REQUEST['behaviour3'] ; 
$behaviour4 = $_REQUEST['behaviour4'] ; 
$behaviour5 = $_REQUEST['behaviour5'] ; 
$behaviour6 = $_REQUEST['behaviour6'] ; 
$behaviour7 = $_REQUEST['behaviour7'] ; 

$message = "Nominee: $firstname1 $lastname1 /n Department: $department1 /n /n Nominator: $firstname2 $lastname2 /n Department: $department2 /n /n Reason for nomination: $reason /n /n Additional reasons: $behaviour1 /n $behaviour2 /n $behaviour3 /n $behaviour4 /n $behaviour5 /n $behaviour6 /n $behaviour7 /n"; 

$headers = "Recognition and Reward Request for $firstname1 $lastname1"; 
$sent = mail($to, $subject, $message, $headers,) ; 
if($sent) 
{print "Your nomination was submitted successfully"; } 
else 
{print "We encountered an error submitting your nomination"; } 
?> 

Il est pas très bien écrit, Je sais (j'ai seulement commencé à apprendre php aujourd'hui, et j'ai juste modifié un script que j'ai copié et collé.), Mais il ne semble pas avoir d'erreurs de syntaxe ou d'autres erreurs que je peux voir. Je ne demande pas à quelqu'un de réparer mon code pour moi, je demande juste quelques indications pour savoir pourquoi le script ne fonctionne pas comme il se doit. Je l'ai téléchargé sur un serveur avec PHP installé, donc ce n'est pas le problème. J'ai essayé de comprendre ça toute la journée, et ça devient un peu frustrant. Quelqu'un aide s'il vous plaît?

+0

Qu'est-ce qui ne va pas? –

Répondre

0

Puisque vous êtes un démarreur, je vous recommande d'utiliser PEAR autant que possible.

Regardez: html poire QuickForm

Il va vraiment vous rendre la vie plus facile.

Et pour l'envoi d'e-mails, je vous suggère d'utiliser: PHPMailer

Il est livré avec beaucoup de fonctionnalités de courrier électronique juste hors-the-box

0

Le premier problème que je vois est que $headers ne contient pas d'en-têtes valides. En-têtes sont des choses comme From: [email protected] ou CC: [email protected], mais vous le traitez dans le cadre de l'e-mail.

Voici quelques informations sur email headers.

2

Eh bien, le script utilise cela pour les en-têtes, ce qui est invalide:

$headers = "Recognition and Reward Request for $firstname1 $lastname1"; 

Peut-être que vous vouliez dire pour que ce soit la ligne de sujet?

Les en-têtes doivent être en-têtes SMTP valides, comme celui-ci:

$headers = 'From: [email protected]' . "\r\n"; 

Regardez les exemples pour la mail function pour plus d'informations.

+0

+1 parce que je suis d'accord – DRL

2
$sent = mail($to, $subject, $message, $headers,) ; 

devrait ressembler à ceci:

$sent = mail($to, $subject, $message, $headers) ; 

(sans la virgule)

espoir j'ai aidé

0

Il ne les erreurs de syntaxe. Puisque vous ne pouvez pas les voir, je vous suggère d'activer le rapport d'erreurs complet. Il y a plusieurs façons de le faire. le plus simple est probablement d'ajouter ce code au-dessus de votre script:

<?php 

ini_set('display_errors', true); 
error_reporting(E_ALL); 

?> 
+0

Wow, merci pour toutes vos réponses! – Ismail

Questions connexes