2017-09-14 3 views
0

J'ai essayé de créer un simple script PHP pour envoyer un e-mail à moi quand quelqu'un remplit un formulaire de contact sur mon site mais j'obtiens l'erreur nan qui dit:Pourquoi mon script PHP n'envoie-t-il pas le formulaire de contact à mon adresse e-mail?

inspirehealth.today est actuellement incapable de traiter cette demande. ERREUR HTTP 500

<?php 

$first_name = $_POST('first_name'); 
$last_name = $_POST('last_name'); 
$email = $_POST('email'); 
$message = $_POST('message'); 

$to = "[email protected]"; 
$subject = "Message from Inspire Health"; 

mail ($to, $subject, $message, "From: " . $first_name . $last_name); 
echo "Your Message Has Been Sent"; 

?> 

et voici mon fichier html correspondant à la forme

<section class="section-form js--contact" id="contact"> 
    <div class="row"> 
     <h3>Please Subscribe to Our Email List!</h3> 
    </div> 
    <div class="row"> 
     <form method="post" action="form_process.php" class="contact-form"> 
      <div class="row"> 
       <div class="col span-1-of-3"> 
        <label for="first_name">First Name</label> 
       </div> 
       <div class="col span-2-of-3"> 
        <input type="text" name="first_name" id="first_name" placeholder="First Name" required> 
       </div> 
      </div> 
      <div class="row"> 
       <div class="col span-1-of-3"> 
        <label for="last_name">Last Name</label> 
       </div> 
       <div class="col span-2-of-3"> 
        <input type="text" name="last_name" id="last_name" placeholder="Last name" required> 
       </div> 
      </div> 
      <div class="row"> 
       <div class="col span-1-of-3"> 
        <label for="email">Email</label> 
       </div> 
       <div class="col span-2-of-3"> 
        <input type="email" name="email" id="email" placeholder="Your email" required> 
       </div> 
      </div> 
      <div class="row"> 
       <div class="col span-1-of-3"> 
        <label for="message">Drop us a line</label> 
       </div> 
       <div class="col span-2-of-3"> 
        <textarea name="message" id="message" placeholder="Your message" ></textarea> 
       </div> 
      </div> 
      <div class="row"> 
       <div class="col span-1-of-3"> 
        <label>&nbsp;</label> 
       </div> 
       <div class="col span-2-of-3"> 
        <input type="submit" value="Send it!"> 
       </div> 
      </div> 
     </form> 
    </div> 
</section> 

Im ne sais pas pourquoi sa ne fonctionne pas correctement. Est-ce une chose de serveur parce que j'ai téléchargé tous les fichiers dans mon répertoire racine de domaine. Merci beaucoup.

+0

Lorsque vous obtenez un 500 contrôle journal des erreurs du serveur. – chris85

+0

** PHP Erreur irrécupérable: Uncaught Erreur: Le nom de la fonction doit être une chaîne *** ... allumer la vérification d'erreur et afficher – rtfm

Répondre

0

$ _POST est un tableau global, alors essayez:

<?php 
$first_name = $_POST['first_name']; 
$last_name = $_POST['last_name']; 
$email = $_POST['email']; 
$message = $_POST['message']; 

$to = "[email protected]"; 
$subject = "Message from Inspire Health"; 

mail ($to, $subject, $message, "From: " . $first_name . $last_name); 
echo "Your Message Has Been Sent"; 

?> 

Hope this helps :)

+0

Lorsque j'ai utilisé votre code, le message a été envoyé mais pas "De" ou prénom ou nom email a été inclus – mlewk

+0

Heureux de l'entendre envoyé .. J'ai seulement copié votre code et modifié les lignes $ _POST. Je suggère de vérifier les exemples d'utilisation de mail() et de déboguer votre script pour découvrir pourquoi le champ from n'est pas rempli :) – flauntster