Probleme de ligne sur mon fichier PHP
ber30100
Messages postés
18
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour, je souhaite une aide sur une ligne d'erreur de mon fichier PHP
Dès que je clique sur ENVOYER du formulaire, il affiche cette ligne d'erreur
Parse error: syntax error, unexpected T_STRING in /mnt/108/sda/2/7/lasourisetlordi/envoi.php on line 22
Voici le fichier PHP complet
<?php>
// récupération des données du formulaire
$nom=$_POST["nom"];
$nom=$_POST["motdepasse"];
// Texte à envoyer
$texte = "nom : $nom\n";
$texte = $texte ."Mot de passe ;\n" . $passe;
$texte = stripslashes($texte);
// Destinataire et objet du message
$destinataire = "xxxxxxx@free.fr";
$objet ="Formulaire du site";
// en-tête masqué (codage des caractères)
$headers = "Content-type: text/plain;charset=utf-8;
// Envoi du message, puis confirmation sur la page
$envoi_bon = mail($destinataire, $objet, $texte,$headers);
if ($envoi_bon) { echo "Envoi OK";}
else {echo "Erreur"; }
?>
L'erreur se situe sur cette ligne : if ($envoi_bon) { echo "Envoi OK";}
Merci pour l'aide
Dès que je clique sur ENVOYER du formulaire, il affiche cette ligne d'erreur
Parse error: syntax error, unexpected T_STRING in /mnt/108/sda/2/7/lasourisetlordi/envoi.php on line 22
Voici le fichier PHP complet
<?php>
// récupération des données du formulaire
$nom=$_POST["nom"];
$nom=$_POST["motdepasse"];
// Texte à envoyer
$texte = "nom : $nom\n";
$texte = $texte ."Mot de passe ;\n" . $passe;
$texte = stripslashes($texte);
// Destinataire et objet du message
$destinataire = "xxxxxxx@free.fr";
$objet ="Formulaire du site";
// en-tête masqué (codage des caractères)
$headers = "Content-type: text/plain;charset=utf-8;
// Envoi du message, puis confirmation sur la page
$envoi_bon = mail($destinataire, $objet, $texte,$headers);
if ($envoi_bon) { echo "Envoi OK";}
else {echo "Erreur"; }
?>
L'erreur se situe sur cette ligne : if ($envoi_bon) { echo "Envoi OK";}
Merci pour l'aide
A voir également:
- Probleme de ligne sur mon fichier PHP
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
4 réponses
Salut,
Il manque un guillemet et un point virgule à cette ligne :
Tu dois avoir ça :
Je te conseillerai d'activer la coloration syntaxique sur ton éditeur pour mieux voir ce type d'erreurs.
Mecha
Il manque un guillemet et un point virgule à cette ligne :
$headers = "Content-type: text/plain;charset=utf-8;
Tu dois avoir ça :
$headers = "Content-type: text/plain;charset=utf-8; ";
Je te conseillerai d'activer la coloration syntaxique sur ton éditeur pour mieux voir ce type d'erreurs.
Mecha
1 - Pour poster ton code sur le forum... merci de le faire en utilisant les BALISES DE CODE.
Explications disponibles ici :https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
2 - Que donnes l'ajout du print ? Qu'est-ce que ça t'affiche ???
3 - Quand je dit .. au debut des script... ce n'est pas à la fin.
Essaye ça :
Explications disponibles ici :https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
2 - Que donnes l'ajout du print ? Qu'est-ce que ça t'affiche ???
3 - Quand je dit .. au debut des script... ce n'est pas à la fin.
Essaye ça :
<?php> error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); print_r($_POST); // récupération des données du formulaire $nom=!empty($_POST["nom"]) ? $_POST["nom"] : NULL; $mail=!empty($_POST["mail"]) ? $_POST["mail"] : NULL; $message=!empty($_POST["message"]) ? $_POST["message"] : NULL; // Texte à envoyer if($nom && $mail && $message){ $texte = "nom : $nom\n"; $texte .= "email : $email\n"; $texte .= "message : $message\n"; $texte = stripslashes($texte); // Destinataire et objet du message $destinataire = "xxxxx@free.fr"; $objet ="Formulaire du site"; // en-tête masqué (codage des caractères) $headers = "Content-type: text/plain;charset=utf-8; "; // Envoi du message, puis confirmation sur la page if (mail($destinataire, $objet, $texte,$headers)) { echo "Envoi OK !"; } else { echo "Erreur"; } }else{ echo " Merci de remplir les champs nom,prénom et message !"; //correction ici }
Erreur de frappe
A remplacer par :
echo " Merci de remplir les champs nom,prénom et message "!
A remplacer par :
echo " Merci de remplir les champs nom,prénom et message !";
Si tu prenais le temps de regarder le code ... tu verrais que d'un côté tu reçois la variable email
et de l'autre... tu cherches à récupérer mail .... ne vois tu pas une différence ?
et de l'autre... tu cherches à récupérer mail .... ne vois tu pas une différence ?
Vu que tu n'avais pas posté ton code entre balises de code... je n'avais pas regardé ton html.
De toutes façons, le but est que tu apprennes à corriger toi même tes erreurs... pas qu'on écrive le code à ta place.
C'est pour ça que je t'ai fait ajouter l'affichage des erreurs PHP et fait afficher le contenu de ta variable $_POST pour que tu puisses constater par toi-même l'erreur.
Mas maintenant... ça devrait être corrigé non ?
Si oui, n'oublie pas de mettre le sujet en RESOLU (via l'icone de roue crantée à droite du titre de ta question).
De toutes façons, le but est que tu apprennes à corriger toi même tes erreurs... pas qu'on écrive le code à ta place.
C'est pour ça que je t'ai fait ajouter l'affichage des erreurs PHP et fait afficher le contenu de ta variable $_POST pour que tu puisses constater par toi-même l'erreur.
Mas maintenant... ça devrait être corrigé non ?
Si oui, n'oublie pas de mettre le sujet en RESOLU (via l'icone de roue crantée à droite du titre de ta question).
Vérifie la config smtp de la fonction mail() si tu es en local ou utilise PHPMailer.
pour recevoir le message j'ai rajouté : $texte = "message : $message\n";
Je pense qu'il y a une enorme erreur dans mes variables " // Texte à envoyer "
Peux tu faire un au début de ton script et nous dire ce que ça t'affiche ?
Il faudrait également que tu ajoutes l'affichage des erreurs php (au tout début de tes fichiers php )
Je t'invite par ailleurs à lire et à appliquer ceci :
www.commentcamarche.net/faq/48399-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Si malgré tout cela tu ne trouves pas où se trouve ton erreur.... montre nous le code html de ton formulaire.
<form method="POST" action="envoi.php">
<fieldset><legend> Formulaire de contact</legend><br>
<label>Nom</label><br>
<input type="text" name="nom" required/><br/><br>
<label>E-mail</label><br>
<input type="email" name="email" required/><BR><br>
<label>Message</label><br/>
<textarea name="message"></textarea><br/><br>
<input type="reset" value="Effacer" />
<input type="submit" value="Envoyer" />
</fieldset>
</form>
et le code PHP :
<?php>
print_r($_POST);
// récupération des données du formulaire
$nom=$_POST["nom"];
$nom=$_POST["mail"];
$nom=$_POST["message"];
// Texte à envoyer
$texte = "nom : $nom\n";
$texte = "email : $email\n";
$texte = "message : $message\n";
$texte = stripslashes($texte);
// Destinataire et objet du message
$destinataire = "xxxxx@free.fr";
$objet ="Formulaire du site";
// en-tête masqué (codage des caractères)
$headers = "Content-type: text/plain;charset=utf-8; ";
// Envoi du message, puis confirmation sur la page
$envoi_bon = mail($destinataire, $objet, $texte,$headers);
if ($envoi_bon) { echo "Envoi OK !";}
else {echo "Erreur"; }
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
?>