Parse error, unexpected T_VARIABLE

Fermé
max - 10 mai 2006 à 19:03
antoine9298 Messages postés 101 Date d'inscription vendredi 5 avril 2013 Statut Membre Dernière intervention 23 décembre 2014 - 17 juil. 2013 à 21:09
Je suis un débutant total en PHP et j'essaie de montrer un petit formulaire pour mon site web perso..or, je recois un message d'erreur me disant:

Parse error: parse error, unexpected T_VARIABLE in /home/www/18fontainebleau.awardspace.com/envoi.php on line 3

voici donc le code de ma page envoi.php:

<?php
$msg = "Prénom:\t$prenom\n";
$msg = "Nom:\t$nom\n";
$msg = "Âge:\t$age\n";
$msg = "Numéro de téléphone:\t$tel\n";
$msg = "E-Mail:\t$email\n";

$recipient = "maxmethot@hotmail.com";
$subject = "18, boul. de Fontainebleau";

$mailheaders = "From: Intéressé par la maison<> \n";
$mailheaders .= "Reply-To: $email\n\n";

mail($recipient, $subject, $msg);

echo "<HTML><HEAD>";
echo "<TITLE>Formulaire
envoyé!</TITLE></HEAD><BODY>";
echo "<H1 align=center>Merci, $nom </H1>";
echo "<P align=center>";
echo "Votre formulaire à bien été envoyé ! Nous vous contacterons prochainement.</P>";
echo "</BODY></HTML>";
?>

Quelqu'un aurait une idée parce la moi j'vois que dale!
Merci d'avance..

Max

9 réponses

PhP Messages postés 1767 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 606
10 mai 2006 à 21:27
Bsr

L'erreur PHP classique : le parseur PHP t'indique en fait qu'il est tombé sur une variable non déclarée . Elle n'est pas simplement vide ou non initialisée : elle n'existe pas !

Je crois qu'avant PHP instanciait automatiquement les variables non déclarées.
Depuis pour des raisons de sécurité (hé oui ...) ce n'est plus le cas.

En fait ton pb se situe dès la variable $prenom (idem pour $nom, $age, $tel, $email) Tu dois initialiser explicitement ces variables ou bien utiliser directement les tableaux superglobaux $_GET ou $_POST

En fait lorsque tu envoies ton formulaire tu utilises soit la méthode GET soit la méhode POST

Selon ton choix PHP stocke toutes les variables dans $_GET[] ou $_POST[] : ce sont des tableaux associatifs dit superglobaux car ils sont accessibles quelquesoit l'endroit du code.

Ainsi pour récupérer $nom tu dois utiliser $_GET["nom"] ou $_POST["nom"]

Pour éviter de tout avoir à modifier écrit ceci (pense à remplacer POST par GET si nécessaire) :

<?
<?php 
$prenom=(isset($_POST["prenom"])) ? $_POST["prenom"] : ""; 
$nom=(isset($_POST["nom"])) ? $_POST["nom"] : ""; 
$age=(isset($_POST["age"])) ? $_POST["age"] : ""; 
$tel=(isset($_POST["tel"])) ? $_POST["tel"] : ""; 
$email=(isset($_POST["email"])) ? $_POST["email"] : ""; 

$msg = "Prénom:\t$prenom\n"; 
$msg = "Nom:\t$nom\n"; 
$msg = "Âge:\t$age\n"; 
$msg = "Numéro de téléphone:\t$tel\n"; 
$msg = "E-Mail:\t$email\n"; 



Nota : isset(nom_variable) test si une variable existe ou non et retourne true ou false

Ecrire :
$prenom=(isset($_POST["prenom"])) ? $_POST["prenom"] : ""; 


Est équivalent à :

if (isset($_POST["prenom"])) 
{
  $prenom =  $_POST["prenom"];
}
else
{
  $prenom = "";
}



Voilà

Adapte tes scripts php et le tour est joué

Gaffe qd même j'ai peut-être fait une erreur de frappe ...

PhP 
31
merci pHp pour tes conseils je vais essayer de les appliquer et je t'en redonne des nouvelles...tes idées me semblent claires alors je ne crois pas avoir de misere a les appliquer! Merci encore!

a +
max
0