Parse error en php
Résolu
emarie3680
Messages postés
131
Date d'inscription
Statut
Membre
Dernière intervention
-
emarie3680 Messages postés 131 Date d'inscription Statut Membre Dernière intervention -
emarie3680 Messages postés 131 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis un énorme débutant en php. J'ai fait un formulaire tout bête en htlm ainsi que le php correspondant à son traitement et qui permet de recevoir les données saisies dans ma boite mail.
J'ai un problème avec le php et il doit être énorme et facile à voir pour les initiés. Voici mon php :
<?php
if($_POST){
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
if(empty($erreurs)) {
$to = "test@yahoo.fr";
$contenu = "message de : ".$prenom." ".$nom;
$resultat = mail($to, $subject, $contenu, $reply);
if($resultat) {
echo "email envoyé";
} else {
echo "échec";
}
}
?>
Une fois mon formulaire validé, j'ai le message d'erreur suivant :
Parse error: syntax error, unexpected $end in /home/b/testquest/html/traitementest.php on line 15.
J'ai merdé à la dernière ligne !!! C'est quoi qui va pas ???
Merci pour vos réponses
Éric
Je suis un énorme débutant en php. J'ai fait un formulaire tout bête en htlm ainsi que le php correspondant à son traitement et qui permet de recevoir les données saisies dans ma boite mail.
J'ai un problème avec le php et il doit être énorme et facile à voir pour les initiés. Voici mon php :
<?php
if($_POST){
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
if(empty($erreurs)) {
$to = "test@yahoo.fr";
$contenu = "message de : ".$prenom." ".$nom;
$resultat = mail($to, $subject, $contenu, $reply);
if($resultat) {
echo "email envoyé";
} else {
echo "échec";
}
}
?>
Une fois mon formulaire validé, j'ai le message d'erreur suivant :
Parse error: syntax error, unexpected $end in /home/b/testquest/html/traitementest.php on line 15.
J'ai merdé à la dernière ligne !!! C'est quoi qui va pas ???
Merci pour vos réponses
Éric
A voir également:
- Parse error en php
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Cmos checksum error ✓ - Forum Carte-mère/mémoire
- Playback error reconnect in 3s (1/5) francais - Forum Box et Streaming vidéo
- Error 1962 ✓ - Forum PC fixe
45 réponses
Alors voilà, j'ai avancé et voici ce que donne mon php, et cela fonctionne !
<?php
if($_POST)
{
$fille = $_POST['fille'];
$garcon = $_POST['garcon'];
$Age = $_POST['Age'];
$collegien = $_POST['collegien'];
$lyceen = $_POST['lyceen'];
$etudiant = $_POST['etudiant'];
$formation = $_POST['formation'];
$demploi = $_POST['demploi'];
$salarie = $_POST['salarie'];
$SituationAutre = $_POST['SituationAutre'];
$deplacement = $_POST['deplacement'];
$Ville = $_POST['Ville'];
$centresinteret = $_POST['centresinteret'];
if(isset($_POST['fille']))
{
$fille = htmlentities($_POST['fille']);
}
if(isset($_POST['garcon']))
{
$garcon = htmlentities($_POST['garcon']);
}
if(isset($_POST['Age']))
{
$Age = htmlentities($_POST['Age']);
}
if(isset($_POST['collegien']))
{
$collegien = htmlentities($_POST['collegien']);
}
if(isset($_POST['lyceen']))
{
$lyceen = htmlentities($_POST['lyceen']);
}
if(isset($_POST['etudiant']))
{
$etudiant = htmlentities($_POST['etudiant']);
}
if(isset($_POST['formation']))
{
$formation = htmlentities($_POST['formation']);
}
if(isset($_POST['demploi']))
{
$demploi = htmlentities($_POST['demploi']);
}
if(isset($_POST['salarie']))
{
$salarie = htmlentities($_POST['salarie']);
}
if(isset($_POST['SituationAutre']))
{
$SituationAutre = htmlentities($_POST['SituationAutre']);
}
if(isset($_POST['Ville']))
{
$Ville = htmlentities($_POST['Ville']);
}
if(isset($_POST['deplacement']))
{
$deplacement = htmlentities($_POST['deplacement']);
}
if(isset($_POST['centresinteret']))
{
$centresinteret = htmlentities($_POST['centresinteret']);
}
if(empty($erreurs))
{
$to = "test@yahoo.fr";
$contenu = "$fille";
$contenu .= "$garcon ";
$contenu .= "J'ai $Age ans";
$contenu .= "$collegien";
$contenu .= "$lyceen";
$contenu .= "$etudiant";
$contenu .= "$formation";
$contenu .= "$demploi";
$contenu .= "$salarie";
$contenu .= "$SituationAutre";
$contenu .= "J'habite $Ville";
$contenu .= "Je voyage en $deplacement";
$contenu .= "$centresinteret";
$resultat = mail($to,$subject,$contenu,$reply);
}
if($resultat)
{
echo "email envoyé avec succès";
}
else
{
echo "échec envoi du mail vérifiez les données entrées";
}
}
?>
Comme tu peux le voir, c'est laborieux, mais j'avance petit à petit, tant pis. En revanche, pourrais-tu me dire s'il y a possibilité de passer à la ligne après chaque ligne $contenu .= car ce serait plus lisible dans le mail que je reçois.
Merci encore,
Éric
<?php
if($_POST)
{
$fille = $_POST['fille'];
$garcon = $_POST['garcon'];
$Age = $_POST['Age'];
$collegien = $_POST['collegien'];
$lyceen = $_POST['lyceen'];
$etudiant = $_POST['etudiant'];
$formation = $_POST['formation'];
$demploi = $_POST['demploi'];
$salarie = $_POST['salarie'];
$SituationAutre = $_POST['SituationAutre'];
$deplacement = $_POST['deplacement'];
$Ville = $_POST['Ville'];
$centresinteret = $_POST['centresinteret'];
if(isset($_POST['fille']))
{
$fille = htmlentities($_POST['fille']);
}
if(isset($_POST['garcon']))
{
$garcon = htmlentities($_POST['garcon']);
}
if(isset($_POST['Age']))
{
$Age = htmlentities($_POST['Age']);
}
if(isset($_POST['collegien']))
{
$collegien = htmlentities($_POST['collegien']);
}
if(isset($_POST['lyceen']))
{
$lyceen = htmlentities($_POST['lyceen']);
}
if(isset($_POST['etudiant']))
{
$etudiant = htmlentities($_POST['etudiant']);
}
if(isset($_POST['formation']))
{
$formation = htmlentities($_POST['formation']);
}
if(isset($_POST['demploi']))
{
$demploi = htmlentities($_POST['demploi']);
}
if(isset($_POST['salarie']))
{
$salarie = htmlentities($_POST['salarie']);
}
if(isset($_POST['SituationAutre']))
{
$SituationAutre = htmlentities($_POST['SituationAutre']);
}
if(isset($_POST['Ville']))
{
$Ville = htmlentities($_POST['Ville']);
}
if(isset($_POST['deplacement']))
{
$deplacement = htmlentities($_POST['deplacement']);
}
if(isset($_POST['centresinteret']))
{
$centresinteret = htmlentities($_POST['centresinteret']);
}
if(empty($erreurs))
{
$to = "test@yahoo.fr";
$contenu = "$fille";
$contenu .= "$garcon ";
$contenu .= "J'ai $Age ans";
$contenu .= "$collegien";
$contenu .= "$lyceen";
$contenu .= "$etudiant";
$contenu .= "$formation";
$contenu .= "$demploi";
$contenu .= "$salarie";
$contenu .= "$SituationAutre";
$contenu .= "J'habite $Ville";
$contenu .= "Je voyage en $deplacement";
$contenu .= "$centresinteret";
$resultat = mail($to,$subject,$contenu,$reply);
}
if($resultat)
{
echo "email envoyé avec succès";
}
else
{
echo "échec envoi du mail vérifiez les données entrées";
}
}
?>
Comme tu peux le voir, c'est laborieux, mais j'avance petit à petit, tant pis. En revanche, pourrais-tu me dire s'il y a possibilité de passer à la ligne après chaque ligne $contenu .= car ce serait plus lisible dans le mail que je reçois.
Merci encore,
Éric
J'ai trouvé une réponse pour ma question sur le retour à la ligne : "\n"
Mais en grand nullos je ne sais pas où le mettre.
par exemple, dans la ligne :
$contenu = "$fille ";
il se met où ce "\n" ?
Merci !
Mais en grand nullos je ne sais pas où le mettre.
par exemple, dans la ligne :
$contenu = "$fille ";
il se met où ce "\n" ?
Merci !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ben oui, merci ! J'avais trouvé entre temps.
Bon, je te fiche la paix et te remercie pour tout, Briiiiix !
Bonne soirée ! J'espère pouvoir un jour te montrer le résultat final !
Bon, je te fiche la paix et te remercie pour tout, Briiiiix !
Bonne soirée ! J'espère pouvoir un jour te montrer le résultat final !
Encore une question (je pense la dernière).
Lorsque l'on saisit des infos dans mes champs, s'il y a des accents, ils ne sont pas pris en compte dans les messages que je reçois dans ma boîte mail.
vélo = v & e acute ; lo
C'est pas cool. Est-ce dû à un codage de mon client mail ?
Je peux éviter cela ?
Merci !
Éric
Lorsque l'on saisit des infos dans mes champs, s'il y a des accents, ils ne sont pas pris en compte dans les messages que je reçois dans ma boîte mail.
vélo = v & e acute ; lo
C'est pas cool. Est-ce dû à un codage de mon client mail ?
Je peux éviter cela ?
Merci !
Éric
Il s'agit d'un crochet manquant.
J'ai corrigé ton code et j'ai amélioré sa présentation qui t'aide a distinguer les blocs.
<?php
if($_POST){
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
if(empty($erreurs)) {
$to = "test@yahoo.fr";
$contenu = "message de : ".$prenom." ".$nom;
$resultat = mail($to, $subject, $contenu, $reply);
}
if($resultat) {
echo "email envoyé";
} else {
echo "échec";
}
}
?>
Bon travail
J'ai corrigé ton code et j'ai amélioré sa présentation qui t'aide a distinguer les blocs.
<?php
if($_POST){
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
if(empty($erreurs)) {
$to = "test@yahoo.fr";
$contenu = "message de : ".$prenom." ".$nom;
$resultat = mail($to, $subject, $contenu, $reply);
}
if($resultat) {
echo "email envoyé";
} else {
echo "échec";
}
}
?>
Bon travail
C'est encore moi ...
J'ai voulu compléter mon formulaire en rajoutant deux boutons radio (oui et non).
J'aurais voulu récupérer le choix de l'utilisateur dans mon mail. Encore une fois j'ai une parse erreur :
Voici mon script :
<?php
if($_POST){
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$musique = $_POST['musique'];
if(isset($_POST['musique']))
htmlentities ($_POST['musique']);
if(empty($erreurs)) {
$to = "test@yahoo.fr";
$contenu = "message de : ".$prenom." ".$nom;
$contenu = "reponse : ".$musique.";
$resultat = mail($to, $subject, $contenu, $reply);
}
if($resultat) {
echo "email envoyé";
} else {
echo "échec";
}
}
?>
Le résultat est :
Parse error: syntax error, unexpected T_STRING in /home/b/bijtoulon/html/traitementest.php on line 18
Vous arrivez à voir le gag ? Ca fait deux heures que j'essaie et je vois rien.
Merci !
J'ai voulu compléter mon formulaire en rajoutant deux boutons radio (oui et non).
J'aurais voulu récupérer le choix de l'utilisateur dans mon mail. Encore une fois j'ai une parse erreur :
Voici mon script :
<?php
if($_POST){
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$musique = $_POST['musique'];
if(isset($_POST['musique']))
htmlentities ($_POST['musique']);
if(empty($erreurs)) {
$to = "test@yahoo.fr";
$contenu = "message de : ".$prenom." ".$nom;
$contenu = "reponse : ".$musique.";
$resultat = mail($to, $subject, $contenu, $reply);
}
if($resultat) {
echo "email envoyé";
} else {
echo "échec";
}
}
?>
Le résultat est :
Parse error: syntax error, unexpected T_STRING in /home/b/bijtoulon/html/traitementest.php on line 18
Vous arrivez à voir le gag ? Ca fait deux heures que j'essaie et je vois rien.
Merci !
Voila,
Un conseil, essaies toujours de diviser ton code en blocs
<?php
if($_POST){
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$musique = $_POST['musique'];
$musique = "";
if(isset($_POST['musique'])){
$musique = htmlentities($_POST['musique']); }
if(empty($erreurs)) {
$to = "test@yahoo.fr";
$contenu = "message de : ".$prenom." ".$nom;
$contenu = "reponse : ".$musique;
$resultat = mail($to, $subject, $contenu, $reply);
}
if($resultat) {
echo "email envoyé";
} else {
echo "échec";
}
}
?>
Un conseil, essaies toujours de diviser ton code en blocs
<?php
if($_POST){
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$musique = $_POST['musique'];
$musique = "";
if(isset($_POST['musique'])){
$musique = htmlentities($_POST['musique']); }
if(empty($erreurs)) {
$to = "test@yahoo.fr";
$contenu = "message de : ".$prenom." ".$nom;
$contenu = "reponse : ".$musique;
$resultat = mail($to, $subject, $contenu, $reply);
}
if($resultat) {
echo "email envoyé";
} else {
echo "échec";
}
}
?>
Ben, débrouille toi pour que cela soit visible c'est à dire
<?php
if($_POST)
{
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$musique = $_POST['musique'];
$musique = "";
if(isset($_POST['musique']))
{
$musique = htmlentities($_POST['musique']);
}
if(empty($erreurs))
{
$to = "test@yahoo.fr";
$contenu = "message de : ".$prenom." ".$nom;
$contenu = "reponse : ".$musique;
$resultat = mail($to, $subject, $contenu, $reply);
}
if($resultat)
{
echo "email envoyé";
}
else
{
echo "échec";
}
}
?>
On appel cela indentation et la présentation d'un code. Le quel des deux tu lis le mieux =>
function insert_id($record = 0) {if ($record)return (mysql_insert_id($record)); return (mysql_insert_id());}function insert_id($record = 0){iif ($record)return (mysql_insert_id($record)); return (mysql_insert_id()); }
function insert_id($record = 0)
{
if ($record)
return (mysql_insert_id($record));
return (mysql_insert_id());
}
<?php
if($_POST)
{
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$musique = $_POST['musique'];
$musique = "";
if(isset($_POST['musique']))
{
$musique = htmlentities($_POST['musique']);
}
if(empty($erreurs))
{
$to = "test@yahoo.fr";
$contenu = "message de : ".$prenom." ".$nom;
$contenu = "reponse : ".$musique;
$resultat = mail($to, $subject, $contenu, $reply);
}
if($resultat)
{
echo "email envoyé";
}
else
{
echo "échec";
}
}
?>
On appel cela indentation et la présentation d'un code. Le quel des deux tu lis le mieux =>
function insert_id($record = 0) {if ($record)return (mysql_insert_id($record)); return (mysql_insert_id());}function insert_id($record = 0){iif ($record)return (mysql_insert_id($record)); return (mysql_insert_id()); }
function insert_id($record = 0)
{
if ($record)
return (mysql_insert_id($record));
return (mysql_insert_id());
}
J'ai encore un souci ...
Du coup, dans mon mail, je ne récupère plus que la réponse cochée par l'utilisateur, je ne vois plus son nom et son prénom. (Avant j'avais "réponse de : nom prénom")
Je ne peux utiliser $contenu qu'une seule fois ?
Ou il faut mettre le champ musique et son résultat à la suite de ".nom; ?
En fait, je demande le nom et le prénom puis je pose la question Aimez-vous la musique ? avec oui non comme réponse possible.
Du coup, dans mon mail, je ne récupère plus que la réponse cochée par l'utilisateur, je ne vois plus son nom et son prénom. (Avant j'avais "réponse de : nom prénom")
Je ne peux utiliser $contenu qu'une seule fois ?
Ou il faut mettre le champ musique et son résultat à la suite de ".nom; ?
En fait, je demande le nom et le prénom puis je pose la question Aimez-vous la musique ? avec oui non comme réponse possible.
A ben, oui tu peux pas utiliser plusieurs fois le nom du variable dans ces conditions
pour le nom et le prenom tu devrais nommer ta var : $nom_prenom et pour la musique $musique
et On ne peut pas le voir parce que Comment Ca Marche change la mise en forme mais après
après une condition ou une boucle je te conseil de mettre un TAB histoire d'avancer un peu le code
pour le nom et le prenom tu devrais nommer ta var : $nom_prenom et pour la musique $musique
et On ne peut pas le voir parce que Comment Ca Marche change la mise en forme mais après
après une condition ou une boucle je te conseil de mettre un TAB histoire d'avancer un peu le code
Dsl pour mon absence
Pour $contenu utilisez plustot la concatenation
if(empty($erreurs))
{
$to = "test@yahoo.fr";
$contenu = "message de : ".$prenom." ".$nom;
$contenu .= "reponse : ".$musique;
$resultat = mail($to, $subject, $contenu, $reply);
}
le point avant le = indique a php qu'il faut ajouter a la variable et non pas ecraser.
Bon travail
Pour $contenu utilisez plustot la concatenation
if(empty($erreurs))
{
$to = "test@yahoo.fr";
$contenu = "message de : ".$prenom." ".$nom;
$contenu .= "reponse : ".$musique;
$resultat = mail($to, $subject, $contenu, $reply);
}
le point avant le = indique a php qu'il faut ajouter a la variable et non pas ecraser.
Bon travail
Merci pour ta réponse,
Je vais essayer ce que tu me conseilles ce soir car je commence à fatiguer ...
En effet, c'est plus clair au niveau présentation... et lisibilité.
Si je nomme ma var $nom_prenom qu'est-ce qu'il se passe pour des deux champs de formulaire qui eux sont différents ?
Par contre, si j'ai un formulaire, disons, d'une dizaine de champs texte et d'une vingtaine de boutons radio ... ça va donner quoi ça au niveau du codage en php ???? Il y faudrait y passer des journées entières pour écrire le php correspondant au formulaire html... avec toutes les erreurs qui peuvent en résulter ... Vu comment je galère avec un formulaire de 4 champs !!! Il n'y a pas un moyen de générer le php d'après le formulaire ?
Tu pourrais me conseiller un livre pour apprendre le php ? J'ai pas envie de passer mon temps à emboucanner tout le monde sur le forum à cause de parse errors en pagaille !
Merci encore,
Éric
Je vais essayer ce que tu me conseilles ce soir car je commence à fatiguer ...
En effet, c'est plus clair au niveau présentation... et lisibilité.
Si je nomme ma var $nom_prenom qu'est-ce qu'il se passe pour des deux champs de formulaire qui eux sont différents ?
Par contre, si j'ai un formulaire, disons, d'une dizaine de champs texte et d'une vingtaine de boutons radio ... ça va donner quoi ça au niveau du codage en php ???? Il y faudrait y passer des journées entières pour écrire le php correspondant au formulaire html... avec toutes les erreurs qui peuvent en résulter ... Vu comment je galère avec un formulaire de 4 champs !!! Il n'y a pas un moyen de générer le php d'après le formulaire ?
Tu pourrais me conseiller un livre pour apprendre le php ? J'ai pas envie de passer mon temps à emboucanner tout le monde sur le forum à cause de parse errors en pagaille !
Merci encore,
Éric