Erreur formulaire PHP

alex20121 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
Lemeunier12 Messages postés 187 Date d'inscription   Statut Membre Dernière intervention   -
[b]Bonjour tout le monde,[/b]
voilà quelques heures que j'essai de trouver une solution à mon problème... Une erreur dans mon formulaire de contact en php visiblement :?
Lorsque je valide mon formulaire, un message apparaît :

[b]Parse error: syntax error, unexpected T_STRING in /var/www/.........../.../.../traitement_formulaire1.php on line 18[/b]

Peut être il y a quelqu'un qui pourrait m'aider ...
[b]Merci.[/b]
Voila ce formulaire1.php suivi de son formulaire de contact en html

traitement_formulaire1.php
------------------------------------------------------------------------------------
<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = 'xxxxxxxxx@gmail.com';

// copie ? (envoie une copie au visiteur)
$copie = 'oui'; // 'oui' ou 'non'

// Messages de confirmation du mail
$message_envoye = "Votre demande nous est bien parvenue !";
$message_non_envoye = "L'envoi de la demande a échoué, veuillez réessayer SVP.";

// Messages d'erreur du formulaire
$message_erreur_formulaire = "Vous devez d'abord <a href=http://www..........html">envoyer le formulaire</a>.";
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";

/*
********************************************************************************************
FIN DE LA CONFIGURATION
********************************************************************************************
*/

// on teste si le formulaire a été soumis
if (!isset($_POST['envoi']))
{
// formulaire non envoyé
echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
}
else
{
/*
* cette fonction sert à nettoyer et enregistrer un texte
*/
function Rec($text)
{
$text = trim($text); // delete white spaces after & before text
if (1 === get_magic_quotes_gpc())
{
$stripslashes = create_function('$txt', 'return stripslashes($txt);');
}
else
{
$stripslashes = create_function('$txt', 'return $txt;');
}

// magic quotes ?
$text = $stripslashes($text);
$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
$text = nl2br($text);
return $text;
};

/*
* Cette fonction sert à vérifier la syntaxe d'un email
*/
function IsEmail($email)
{
$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
return (eregi($pattern,$email)) ? true : false;
};

// formulaire envoyé, on récupère tous les champs.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$tel = (isset($_POST['tel'])) ? Rec($_POST['tel']) : '';
$adresse = (isset($_POST['adresse'])) ? Rec($_POST['adresse']) : '';
$cp = (isset($_POST['cp'])) ? Rec($_POST['cp']) : '';
$ville = (isset($_POST['ville'])) ? Rec($_POST['ville']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';


// On va vérifier les variables et l'email ...
$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré

if (($nom != '') && ($prenom != '')&& ($email != '')&& ($tel != '')&& ($adresse != '')&& ($cp != '')&& ($ville != '') && ($objet != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";

// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible = $destinataire.','.$email;
}
else
{
$cible = $destinataire;
};

// Remplacement de certains caractères spéciaux
$message = str_replace("'","'",$message);
$message = str_replace("’","'",$message);
$message = str_replace(""",'"',$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message = str_replace("<","<",$message);
$message = str_replace(">",">",$message);
$message = str_replace("&","&",$message);

// Envoi du mail
if (mail($cible, $objet, $message, $headers))
{
echo '<p>'.$message_envoye.'</p>'."\n";
}
else
{
echo '<p>'.$message_non_envoye.'</p>'."\n";
};
}
else
{
// une des 6 variables (ou plus) est vide ...
echo '<p>'.$message_formulaire_invalide.' <a href="http://www..............html">Retour au formulaire</a></p>'."\n";
};
}; // fin du if (!isset($_POST['envoi']))
?>

<a href="http://www...........html">Passer à l'Etape 2</a>




contact.html
------------------------------------------------------------------------------------

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >

<head>
<meta http-equiv="Content-Type" content="text/html;" />
<title>oi</title>
<style type="text/css">

input [type="submit"] {width: auto;}
textarea {padding: 8px;}

<script>
function validateCheckBox(){
if (document.getElementById('acceptConditions').checked==false)
//la case n'est pas cochée !
{
alert("Merci de cocher la case si vous acceptez les conditions !" );
}
else
//la case est cochée
{
window.location.href = "http.www;;;;.html";
}
}
</script>
</head>

<body>
<div class="container">
<form id="contact" method="post" action="traitement_formulaire1.php">

<fieldset><legend><FONT COLOR="#FFFFFF">Adresse de livraison</FONT></legend>
<p align="right"><label for="nom">Nom : </label><input type="text" size="20" id="nom" name="nom" tabindex="1" /></p>
<p align="right"><label for="prenom">Prénom : </label><input type="text" size="20" id="prenom" name="prenom" tabindex="2" /></p>
<p align="right"><label for="email">Email : </label><input type="text" size="20" id="email" name="email" tabindex="3" /></p>
<p align="right"><label for="tel">Tél. : </label><input type="text" size="20" id="tel" name="tel" tabindex="4" /></p>
<p align="right"><label for="adresse">Adresse : </label><input type="text" size="20" id="adresse" name="adresse" tabindex="5" /></p>
<p align="right"><label for="cp">Code Postal : </label><input type="text" size="5" id="cp" name="cp" tabindex="6" /></p>
<p align="right"><label for="ville">Ville : </label><input type="text" size="20" id="ville" name="ville" tabindex="7" /></p>
</fieldset>

<fieldset><legend><FONT COLOR="#FFFFFF">Votre commande :</FONT></legend>
<p><label for="objet">Votre marque et modèle de véhicule :</label><input type="text" size="30" id="objet" name="objet" tabindex="3" /></p>

<div style="text-align:center;">J'accepte les conditions générales :
<input type="checkbox" name="acceptConditions" id="acceptConditions" />
<input name="submit" type="submit" id="submit" name="envoi" value="Passer à l'Etape 2" onclick="validateCheckBox();" /></div>

</fieldset>
</form>

<!-- end .container --></div>

</body>
</html>
A voir également:

3 réponses

Lemeunier12 Messages postés 187 Date d'inscription   Statut Membre Dernière intervention   33
 
Poudi ! il est trop tard pour que je me penche dessus ^^

Tu utilise Notepad ++ je présume ? Esaye de voir vers la ligne 18.. l'erreur peut être entre la ligne 15 et la 25.. T'as dû oublier un "" ou un ; ...
0
alex20121 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Merci Lemeunier12.

J'ai trouvé le souci, mais peut être tu peut m'aider un peu, car je suis débutant et j'arrive pas à trouver pourquoi mon formulaire ne marche pas.

Je ne comprends pas pourquoi lors de l'envoi du formulaire j'ai toujours le même message :

Vous devez d'abord envoyer le formulaire.

Alors que le formulaire a bien été rempli et la case (conditions générales) coché.

Je ne sais plus où chercher l'erreur

Si qqun peut m'aider, merci.


Je sais que ça pourrait prendre qque temps, merci à tous.


traitement_formulaire1.php
------------------------------------------------------------------------------------
<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = 'xxxxxxxxx@gmail.com';

// copie ? (envoie une copie au visiteur)
$copie = 'oui'; // 'oui' ou 'non'

// Messages de confirmation du mail
$message_envoye = "Votre demande nous est bien parvenue !";
$message_non_envoye = "L'envoi de la demande a échoué, veuillez réessayer SVP.";

// Messages d'erreur du formulaire
$message_erreur_formulaire = 'Vous devez d'abord <a href=http://www..........html">envoyer le formulaire</a>.';
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";

/*
********************************************************************************************
FIN DE LA CONFIGURATION
********************************************************************************************
*/

// on teste si le formulaire a été soumis
if (!isset($_POST['envoi']))
{
// formulaire non envoyé
echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
}
else
{
/*
* cette fonction sert à nettoyer et enregistrer un texte
*/
function Rec($text)
{
$text = trim($text); // delete white spaces after & before text
if (1 === get_magic_quotes_gpc())
{
$stripslashes = create_function('$txt', 'return stripslashes($txt);');
}
else
{
$stripslashes = create_function('$txt', 'return $txt;');
}

// magic quotes ?
$text = $stripslashes($text);
$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
$text = nl2br($text);
return $text;
};

/*
* Cette fonction sert à vérifier la syntaxe d'un email
*/
function IsEmail($email)
{
$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
return (eregi($pattern,$email)) ? true : false;
};

// formulaire envoyé, on récupère tous les champs.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$tel = (isset($_POST['tel'])) ? Rec($_POST['tel']) : '';
$adresse = (isset($_POST['adresse'])) ? Rec($_POST['adresse']) : '';
$cp = (isset($_POST['cp'])) ? Rec($_POST['cp']) : '';
$ville = (isset($_POST['ville'])) ? Rec($_POST['ville']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';


// On va vérifier les variables et l'email ...
$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré

if (($nom != '') && ($prenom != '')&& ($email != '')&& ($tel != '')&& ($adresse != '')&& ($cp != '')&& ($ville != '') && ($objet != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";

// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible = $destinataire.','.$email;
}
else
{
$cible = $destinataire;
};

// Remplacement de certains caractères spéciaux
$message = str_replace("'","'",$message);
$message = str_replace("'","'",$message);
$message = str_replace(""",'"',$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message = str_replace("<","<",$message);
$message = str_replace(">",">",$message);
$message = str_replace("&","&",$message);

// Envoi du mail
if (mail($cible, $objet, $message, $headers))
{
echo '<p>'.$message_envoye.'</p>'."\n";
}
else
{
echo '<p>'.$message_non_envoye.'</p>'."\n";
};
}
else
{
// une des 6 variables (ou plus) est vide ...
echo '<p>'.$message_formulaire_invalide.' <a href="http://www..............html">Retour au formulaire</a></p>'."\n";
};
}; // fin du if (!isset($_POST['envoi']))
?>

<a href="http://www...........html">Passer à l'Etape 2</a>




contact.html
------------------------------------------------------------------------------------

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >

<head>
<meta http-equiv="Content-Type" content="text/html;" />
<title>oi</title>
<style type="text/css">

input [type="submit"] {width: auto;}
textarea {padding: 8px;}

<script>
function validateCheckBox(){
if (document.getElementById('acceptConditions').checked==false)
//la case n'est pas cochée !
{
alert("Merci de cocher la case si vous acceptez les conditions !" );
}
else
//la case est cochée
{
window.location.href = "http.www;;;;.html";
}
}
</script>
</head>

<body>
<div class="container">
<form id="contact" method="post" action="traitement_formulaire1.php">

<fieldset><legend><FONT COLOR="#FFFFFF">Adresse de livraison</FONT></legend>
<p align="right"><label for="nom">Nom : </label><input type="text" size="20" id="nom" name="nom" tabindex="1" /></p>
<p align="right"><label for="prenom">Prénom : </label><input type="text" size="20" id="prenom" name="prenom" tabindex="2" /></p>
<p align="right"><label for="email">Email : </label><input type="text" size="20" id="email" name="email" tabindex="3" /></p>
<p align="right"><label for="tel">Tél. : </label><input type="text" size="20" id="tel" name="tel" tabindex="4" /></p>
<p align="right"><label for="adresse">Adresse : </label><input type="text" size="20" id="adresse" name="adresse" tabindex="5" /></p>
<p align="right"><label for="cp">Code Postal : </label><input type="text" size="5" id="cp" name="cp" tabindex="6" /></p>
<p align="right"><label for="ville">Ville : </label><input type="text" size="20" id="ville" name="ville" tabindex="7" /></p>
</fieldset>

<fieldset><legend><FONT COLOR="#FFFFFF">Votre commande :</FONT></legend>
<p><label for="objet">Votre marque et modèle de véhicule :</label><input type="text" size="30" id="objet" name="objet" tabindex="3" /></p>

<div style="text-align:center;">J'accepte les conditions générales :
<input type="checkbox" name="acceptConditions" id="acceptConditions" />
<input name="submit" type="submit" id="submit" name="envoi" value="Passer à l'Etape 2" onclick="validateCheckBox();" /></div>

</fieldset>
</form>

<!-- end .container --></div>

</body>
</html>
0
Lemeunier12 Messages postés 187 Date d'inscription   Statut Membre Dernière intervention   33
 
C'est toujours ta ligne 18 qui déconne... Tu avait utilisé un ' pour le "d'abord" du coup ça fermait ta balise trop tôt..

Essaye avec ça :

<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = 'xxxxxxxxx@gmail.com';

// copie ? (envoie une copie au visiteur)
$copie = 'oui'; // 'oui' ou 'non'

// Messages de confirmation du mail
$message_envoye = "Votre demande nous est bien parvenue !";
$message_non_envoye = "L'envoi de la demande a échoué, veuillez réessayer SVP.";

// Messages d'erreur du formulaire
$message_erreur_formulaire = 'Vous devez d'abord <a href=http://www..........html">envoyer le formulaire</a>.';
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";

/*
********************************************************************************************
FIN DE LA CONFIGURATION
********************************************************************************************
*/

// on teste si le formulaire a été soumis
if (!isset($_POST['envoi']))
{
// formulaire non envoyé
echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
}
else
{
/*
* cette fonction sert à nettoyer et enregistrer un texte
*/
function Rec($text)
{
$text = trim($text); // delete white spaces after & before text
if (1 === get_magic_quotes_gpc())
{
$stripslashes = create_function('$txt', 'return stripslashes($txt);');
}
else
{
$stripslashes = create_function('$txt', 'return $txt;');
}

// magic quotes ?
$text = $stripslashes($text);
$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
$text = nl2br($text);
return $text;
};

/*
* Cette fonction sert à vérifier la syntaxe d'un email
*/
function IsEmail($email)
{
$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
return (eregi($pattern,$email)) ? true : false;
};

// formulaire envoyé, on récupère tous les champs.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$tel = (isset($_POST['tel'])) ? Rec($_POST['tel']) : '';
$adresse = (isset($_POST['adresse'])) ? Rec($_POST['adresse']) : '';
$cp = (isset($_POST['cp'])) ? Rec($_POST['cp']) : '';
$ville = (isset($_POST['ville'])) ? Rec($_POST['ville']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';


// On va vérifier les variables et l'email ...
$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré

if (($nom != '') && ($prenom != '')&& ($email != '')&& ($tel != '')&& ($adresse != '')&& ($cp != '')&& ($ville != '') && ($objet != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";

// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible = $destinataire.','.$email;
}
else
{
$cible = $destinataire;
};

// Remplacement de certains caractères spéciaux
$message = str_replace("'","'",$message);
$message = str_replace("'","'",$message);
$message = str_replace(""",'"',$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message = str_replace("<","<",$message);
$message = str_replace(">",">",$message);
$message = str_replace("&","&",$message);

// Envoi du mail
if (mail($cible, $objet, $message, $headers))
{
echo '<p>'.$message_envoye.'</p>'."\n";
}
else
{
echo '<p>'.$message_non_envoye.'</p>'."\n";
};
}
else
{
// une des 6 variables (ou plus) est vide ...
echo '<p>'.$message_formulaire_invalide.' <a href="http://www..............html">Retour au formulaire</a></p>'."\n";
};
}; // fin du if (!isset($_POST['envoi']))
?>

<a href="http://www...........html">Passer à l'Etape 2</a>


Je t'ai pas remis le code de la page contact parce que je cois qu'il est bon...

Ca fait pas longtemps que je fais du php moi non plus et j'ai jamais fait de formulaire, mais je te donne quand même un p'ti conseil : commence par faire une structure simple. Au début, sur la page que j'ai fait, on ne pouvais que poster son nom, puis au fur et à mesure j'ai rajouté des cases, puis j'ai rajouté les balises pour corriger les majuscules etc..
0