Contact mail html / php

Fermé
Utilisateur anonyme - 18 juin 2014 à 10:50
 Utilisateur anonyme - 25 juin 2014 à 14:29
Bonjour,

J'ai modifié du code pour faire un formulaire de contact avec du html et du php.
J'ai 2 questions;
Premièrement est-ce j'ai mis les informations dans le bon sens pour que le sujet du mail se mette automatiquement dans le mail final selon ce qui a été entré dans la page html.
Deuxièmement, il me renvoie l'erreur "Parse error: syntax error, unexpected T_IF in [...] on line 3". Partout ou j'ai cherché j'ai vu qu'il manquait habituellement un ; mais là je ne vois pas ce qui manque.

Voici mon code :



Merci d'avance

Bonjour,

J'ai modifié du code pour faire un formulaire de contact avec du html et du php.
J'ai 2 questions;
Premièrement est-ce j'ai mis les informations dans le bon sens pour que le sujet du mail se mette automatiquement dans le mail final selon ce qui a été entré dans la page html.
Deuxièmement, il me renvoie l'erreur "Parse error: syntax error, unexpected T_IF in [...] on line 3". Partout ou j'ai cherché j'ai vu qu'il manquait habituellement un ; mais là je ne vois pas ce qui manque.

Voici mon code :



<?php

if(isset($_POST['email'])) {

// EDIT THE 2 LINES BELOW AS REQUIRED

$email_to = "mail@domain.fr";

$sujet = $_POST['sujet'];





function died($error) {

// your error code can go here

echo "Désolé mais il y a des erreurs dans les informations soumises.";

echo "Ces erreurs apparaissent ci-dessous.<br /><br />";

echo $error."<br /><br />";

echo "Veuillez retourner en arrière et corriger ces erreurs.<br /><br />";

die();

}



// validation expected data exists

if (!isset($_POST['prenom']) ||

!isset($_POST['nom']) ||

!isset($_POST['email']) ||

!isset($_POST['sujet']) ||

!isset($_POST['message'])) {

died('Désolé mais il y a un problème dans les informations soumises.');

}


$prenom = $_POST['prenom']; // required

$nom = $_POST['nom']; // required

$email_from = $_POST['email']; // required

$sujet = $_POST['sujet']; // required

$message = $_POST['message']; // required



$error_message = "";

$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';

if(!preg_match($email_exp,$email_from)) {

$error_message .= "L'adresse email que vous avez entré ne semble pas valide.<br />";

}

$string_exp = "/^[A-Za-z .'-]+$/";

if(!preg_match($string_exp,$prenom)) {

$error_message .= 'Le prénom que vous avez entré ne semble pas valide <br/>';

}

if(!preg_match($string_exp,$nom)) {

$error_message .= 'Le nom que vous avez entré ne semble pas valide. <br/>';

}

if(!preg_match($string_exp,$sujet)) {

$error_message .= 'Le sujet que vous avez entré ne semble pas valide <br/>';

}

if(strlen($message) < 2) {

$error_message .= 'Le message que vous avez entré ne semble pas valide.<br />';

}

if(strlen($error_message) > 0) {

died($error_message);

}

$email_message = "Détails ci-dessous.\n\n";



function clean_string($string) {

$bad = array("content-type","bcc:","to:","cc:","href");

return str_replace($bad,"",$string);

}



$email_message .= "Prénom: ".clean_string($prenom)."\n";

$email_message .= "Nom: ".clean_string($nom)."\n";

$email_message .= "Email: ".clean_string($email_from)."\n";

$email_message .= "Sujet: ".clean_string($sujet)."\n";

$email_message .= "Message: ".clean_string($message)."\n";





// create email headers

$headers = 'From: '.$email_from."\r\n";

'Reply-To: '.$email_from."\r\n" ;

'X-Mailer: PHP/' . phpversion();

@mail($email_to, $sujet, $email_message, $headers);

?>



<!-- include your own success html here -->



<p> Merci de nous avoir contacté. Nous vous contacterons très bientôt. </p>

<?php

}

?>



Merci d'avance

A voir également:

6 réponses

Imagine43 Messages postés 264 Date d'inscription jeudi 5 juin 2014 Statut Membre Dernière intervention 15 novembre 2023 54
Modifié par Imagine43 le 18/06/2014 à 11:16
Bonjour,

Je vais éditer mon message après parce que je suis au bureau, mais pour ton premier if, il te manque une accolade fermante je crois.

EDIT : La structure a respecter pour imbriquer les if est celle-ci :


<?php
if (Condition)
{
Instructions;
}
elseif (Condition)
{
Instruction;
}
else
{
Instructions;
}
?>

Deuxièmement : Pour la fonction mail, c'est niquel ;)
cdt,
Imagine.

The Gift Of the Godess'.
0
Utilisateur anonyme
18 juin 2014 à 12:01
Euh certes mais je vois pas comment je corrige. C'est quel if qui est faux? Si c'est le premier l'accolade de fin est tout en bas.
J'ai pris mon code de ici : http://www.freecontactform.com/email_form.php et cette version avec l'accolade en bas fonctionne mais pas la mienne.
Je comprend pas T_T

Merci pour la prompte réponse ^^
Cdt.

Kévin
0
Imagine43 Messages postés 264 Date d'inscription jeudi 5 juin 2014 Statut Membre Dernière intervention 15 novembre 2023 54
Modifié par Imagine43 le 18/06/2014 à 12:07
Alors en fait,ce que je te disais de faire est :

<?php
if(isset($_POST['email']))
{

$email_to = "mail@domain.fr";
$sujet = $_POST['sujet'];


function died($error)
{
// your error code can go here
echo "Désolé mais il y a des erreurs dans les informations soumises."; echo "Ces erreurs apparaissent ci-dessous.<br /><br />";
echo $error."<br /><br />";
echo "Veuillez retourner en arrière et corriger ces erreurs.<br /><br />";
die(); }

} else {
IF { [...] } }
[...]


Mais, si je peux te donner un conseil, n'utilises pas ces formulaires tout fait. Il y a tellements de choses inutiles qui allourdissent le code... Et C'est pas simple à corriger. Tu devrais donc créer ce script PHP de toi même. ;)

Cdt,
Imagine.
The Gift Of the Godess'.
0
Utilisateur anonyme
18 juin 2014 à 15:17
C'est bizarre si je comprend bien ça donne ça?

<?php

if(isset($_POST['email'])) {

// EDIT THE 2 LINES BELOW AS REQUIRED

$email_to = "name@domain.com";

$sujet = $_POST['sujet'];

function died($error) {

// your error code can go here

echo "Désolé mais il y a des erreurs dans les informations soumises.";

echo "Ces erreurs apparaissent ci-dessous.<br /><br />";

echo $error."<br /><br />";

echo "Veuillez retourner en arrière et corriger ces erreurs.<br /><br />";

die();

}



// validation expected data exists

if (!isset($_POST['prenom']) ||

!isset($_POST['nom']) ||

!isset($_POST['email']) ||

!isset($_POST['sujet']) ||

!isset($_POST['message'])) {

died('Désolé mais il y a un problèmme dans les informations soumises.');

}



$prenom = $_POST['prenom']; // required

$nom = $_POST['nom']; // required

$email_from = $_POST['email']; // required

$sujet = $_POST['sujet']; // required

$message = $_POST['message']; // required



$error_message = "";

$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
else {
if(!preg_match($email_exp,$email_from)) {

$error_message .= "L'adresse email que vous avez entré ne semble pas valide.<br />";

}}

$string_exp = "/^[A-Za-z .'-]+$/";
else {
if(!preg_match($string_exp,$prenom)) {

$error_message .= 'Le prénom que vous avez entré ne semble pas valide.<br />';

}} else {

if(!preg_match($string_exp,$nom)) {

$error_message .= 'Le nom que vous avez entré ne semble pas valide.<br />';

}} else {

if(!preg_match($string_exp,$sujet)) {

$error_message .= 'Le sujet que vous avez entré ne semble pas valide.<br />';

}} else {

if(strlen($message) < 2) {

$error_message .= 'Le message que vous avez entré ne semble pas valide.<br />';

}} else {

if(strlen($error_message) > 0) {

died($error_message);

}

$email_message = "Détails ci-dessous.\n\n";



function clean_string($string) {

$bad = array("content-type","bcc:","to:","cc:","href");

return str_replace($bad,"",$string);

}



$email_message .= "Prénom: ".clean_string($prenom)."\n";

$email_message .= "Nom: ".clean_string($nom)."\n";

$email_message .= "Email: ".clean_string($email_from)."\n";

$email_message .= "Sujet: ".clean_string($sujet)."\n";

$email_message .= "Message: ".clean_string($message)."\n";





// create email headers

$headers = 'From: '.$email_from."\r\n".

'Reply-To: '.$email_from."\r\n" .

'X-Mailer: PHP/' . phpversion();

@mail($email_to, $sujet, $email_message, $headers);

?>



<!-- include your own success html here -->



<p> Merci de nous avoir contacté. Nous vous contacterons très bientôt. </p>

<?php

}

?>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
20 juin 2014 à 10:32
Bon ben j'ai essayé comme ci-dessus et ça fonctionne pas =(
0
Utilisateur anonyme
25 juin 2014 à 14:29
UP
une idée svp?
0