2016-08-05 3 views
-2

J'essaye de faire un formulaire qui envoie l'information à moi. Voici mon code.Bizarre WAMP localhost erreur

PHP:

$to = "[email protected]"; 
$subject = "Comanda de Magneti"; 

$name = $_POST["nume"] . $_POST["prenume"]; 
$email = $_POST["email"]; 
$phone = $_POST["telefon"]; 
$adress = $_POST["adresa"]; 

$message = <<<EMAIL 

Comanda de Magneti de la $name 

Adresa de E-mail este $email  

Numarul de telefon este $phone 

Adresa este $adress 

EMAIL; 

$header ="$email"; 

if($_POST){ 

mail($to, $subject, $message, $header); 

$feedback = "Multumesc pentru comanda!" 
}  

HTML

<div class="form-group"> 
     <form style="font-size: 1.25em; margin-left: 20px;" method="post" action="#"> 
      <label for="nume">Nume<span style="color: red;">*</span></label> <input name="nume" id="nume" class="form-control" type="text" placeholder="Nume" title="nume"> 
      <label for="prenume">Prenume<span style="color: red;">*</span></label> <input name="prenume" id="prenume" class="form-control" type="text" placeholder="Prenume" title="prenume"> 
      <label for="email">E-Mail</label><span style="color: red;">*</span><input name="email" id="email" class="form-control" type="email" placeholder="E-Mail" title="email"> 
      <label for="telefon">Numar Telefon</label><input name="telefon" id="telefon" class="form-control" type="number" placeholder="Numar Telefon" title="telefon"> 
      <label for="adresa">Adresa</label><span style="color: red;">*</span><input name="adresa" id="adresa" class="form-control" type="text" placeholder="Strada/Numar/Localitate/Judet" title="adresa"> <br /> 
      <input name="submit" class="btn-default" type="submit" value="Comanda!"></input> 
     </form> 
     <p id="feedback"><?php echo $feedback ?> </p> 
</div> 

L'erreur que je reçois est: "Parse error: syntax error, unexpected '}' dans C: \ wamp64 \ www \ \ Test comanda-magneti.php sur la ligne 30 "

Ce qui est bizarre, puisque je suis très sûr que le code ne fonctionnerait pas correctement sans le support bouclé.

+1

missing ';' avant le support bouclé –

+0

duplication possible de [PHP: "Remarque: Undefined variable" et "Notice: Undefined Index"] (http://stackoverflow.com/questions/4261133/php-notice-undefined- variable-and-notice-undefined-index) –

+0

^cela, étant donné la nouvelle erreur de l'OP (dans une réponse donnée ci-dessous) lors de la fixation du point-virgule manquant. La question était hors sujet par 2 comptes, même avant le correctif. –

Répondre

2

Modifier ceci:

$feedback = "Multumesc pentru comanda!" 

à

$feedback = "Multumesc pentru comanda!"; 

Vous avez oublié d'ajouter deux points demi. Le point-virgule est act est la terminaison de ligne en PHP et bien sûr vous pouvez l'ignorer pour la dernière ligne. Mais dans ce cas, vous avez des accolades de fermeture après cela.

Veuillez aussi déplacer if ($ _ POST) vers le haut comme vous le vérifiez ci-dessous et accéder aux propriétés POST ci-dessus.

donc quelque chose comme:

if(isset($_POST)){ 
    $to = "[email protected]"; 
    $subject = "Comanda de Magneti"; 

    $name = (isset($_POST["nume"]) ? $_POST["nume"] : '') . isset($_POST["prenume"]) ? $_POST["prenume"] : '' ; 
    $email = isset($_POST["email"]) ? $_POST["email"]; 
    $phone = isset($_POST["telefon"]) ? $_POST["telefon"] : ''; 
    $adress = isset($_POST["adresa"]) ? $_POST["adresa"] : ''; 

    $message = <<<EMAIL 

Comanda de Magneti de la $name 

Adresa de E-mail este $email  

Numarul de telefon este $phone 

Adresa este $adress 

EMAIL; 

    $header ="$email"; 

    mail($to, $subject, $message, $header); 

    $feedback = "Multumesc pentru comanda!" 
} 

Aussi, si possible, faire vérifier nécessaire pour la variable POST pour les champs obligatoires.

+0

Vous savez qu'une réponse expliquée a tendance à attirer des votes (+) (si vous y êtes aussi). Il y a une raison pour laquelle ce point-virgule devrait être utilisé ici. À moins que vous ne soyez intéressé, cela serait considéré comme une réponse de très mauvaise qualité. Juste une pile protip ;-) Indice: http://php.net/manual/fr/language.basic-syntax.instruction-separation.php –

+0

Ok ça a marché! Merci pour ça. Mais maintenant il dit que "nume", "prénumérique", "email", "telefon" et "adresa" sont indéfinis. – Blaze26

+0

Ok, j'ai éditer ma réponse, qui couvre également votre requête. @ Fred-je-je vais m'en occuper. Merci! –