Précédent
- 1
- 2
-
if(!empty($nom) && !empty($email) && !empty($message)){
Cette ligne sert à rien puisque la première effectue déjà les vérifications demandées. De plus la syntaxe laisse à désirer.
Ce sont les modifications que tu as apportés qui produisent cette erreur apparemment (en plus de ne servir à rien). -
Donc avec la ligne qui ne sert à rien ca donne :
<?php
$_POST("nom")
if (isset($_POST) && !empty($_POST['nom']) && !empty($_POST['email']) && !empty($_POST['message'])) {
extract($_POST);
$message=addslashes($message);
$message=str_replace("\' "," '", mixed search, mixed replace, mixed subject);
$destinataire="heureslave@gmail.com";
$sujet="Formulaire de contact";
$msg="Une nouvelle question est arrivée \n
Nom : $nom \n
Email : $email \n
Message : $message";
$entete= "From: $nom \n Reply-To: $email";
if (mail($destinataire, $sujet, $msg, $entete)) {
echo "Le mail a bien été envoyé.";
}
else {
echo "Le mail n'a pas pu être envoyée !";
}
}
else {
echo "Vous n'avez pas remplis tous les champs.";
}
}
?> -
J'ai vraiment du mal à comprendre là ...
Tu sais ce que tu fais ou tu te contentes d'ajouter des lignes au pif en espérant que tout fonctionne comme tu le souhaites ?
PHP possède une syntaxe (comme tout langage) relativement strict. les points-virgules sont obligatoires en fin d'instructions.
Et dès ta première ligne, il en manque un.
Est-ce que ton erreur sur la ligne trois apparait avant ou après tes modifications ?
Si elle apparait après. Arrête de tout bidouiller, et trouve un tutoriel (voire même un bouquin) parlant de la programmation en PHP. -
Je fais ce que je peux...
Je ne met pas des codes aux hasard...
Je suis quasi débutant en php si tu préfères!
Donc maintenant j'ai une erreur en ligne 6
$message=str_replace("\' "," '", mixed search, mixed replace, mixed subject);
Ce doit être ici : ("\' "," '",
qui se transforme en : ("\' ","'",
??? -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
http://www.manuelphp.com/php/function.str-replace.php
Les "mixed" ne sont pas à mettre dans la fonction.
-
Ligne 9 :
$msg="Une nouvelle question est arrivée" \n;
Je saisi pas l'erreur.
Merci de ta patience et de ton aide. -
Il ne faut pas mettre de guillemets dans cette ligne, ni de points-virgules, car ta variable est définie sur plusieurs lignes.
$msg="Une nouvelle question est arrivée \n Nom : $nom \n Email : $email \n Message : $message";
Si tu fermes les guillemets avant, PHP défini la valeur de ta variable avec ce qu'il y a entre les deux guillemets (une nouvelle question est arrivée), et comme en plus tes guillemets ne sont pas suivis d'un point-virgule, tu as le droit à une belle erreur de syntaxe ; )
-
Ca y est le code fonctionne!!!!!
Merci, merci beaucoup à tous pour votre aide.
Voici le code :
<?php
if (isset($_POST) && !empty($_POST['nom']) && !empty($_POST['email']) && !empty($_POST['message'])) {
extract($_POST);
$message=addslashes($message);
$message=str_replace("%body%", "black", "<body text='%body%'>");
$destinataire="heureslave@gmail.com";
$sujet="Formulaire de contact";
$msg="Une nouvelle question est arrivée \n
Nom : $nom \n
Email : $email \n
Message : $message";
$entete= "From: $nom \n Reply-To: $email";
if (mail($destinataire, $sujet, $msg, $entete)) {
echo "Le mail a bien été envoyé.";
}
else {
echo "Le mail n'a pas pu être envoyée !";
}
}
else {
echo "Vous n'avez pas remplis tous les champs.";
}
?>
Le seule problème est que lorsqu'un message est envoyé, il y a écrit :
le mail a bien ?t? envoy?e
Comment afficher ces accents?? -
Mettre le bon encodage ...
-
Hum, une question ...
$message=str_replace("%body%", "black", "<body text='%body%'>");
Pourquoi recopier bêtement un bout de code s'il n'a pas la moindre utilité sur ta page ?
Tu peux supprimer cette ligne, elle ne sert strictement à rien.
-
Je ne savais pas que cette phrase ne servait pas.
Je l'ai supprimée.
Précédent
- 1
- 2