Une erreur dans un fichier .php
Résolu/Fermé
lalain67000
Messages postés
92
Date d'inscription
dimanche 14 octobre 2012
Statut
Membre
Dernière intervention
6 mars 2017
-
3 mars 2017 à 11:26
Utilisateur anonyme - 3 mars 2017 à 13:42
Utilisateur anonyme - 3 mars 2017 à 13:42
A voir également:
- Une erreur dans un fichier .php
- Erreur 0x80070643 - Accueil - Windows
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier host - Guide
3 réponses
Utilisateur anonyme
Modifié par ludobabs le 3/03/2017 à 12:03
Modifié par ludobabs le 3/03/2017 à 12:03
Bonjour Lalain
pourrais-tu nous montrer le code ?
Cdt
En informatique 99% des problèmes se situent entre le fauteuil et le clavier
pourrais-tu nous montrer le code ?
Cdt
En informatique 99% des problèmes se situent entre le fauteuil et le clavier
lalain67000
Messages postés
92
Date d'inscription
dimanche 14 octobre 2012
Statut
Membre
Dernière intervention
6 mars 2017
44
3 mars 2017 à 12:00
3 mars 2017 à 12:00
La ligne 48 est celle-ci :
mail($sEmail, $sObjet, $sMessage);
<?php
// Fichier "adminis.php"
// On vérifie d'abord si le formulaire a été envoyé en s'assurant
// que la variable $_POST contient bien une entrée 'valid'
if (isset($_POST['valid'])) {
// Liste de toutes les variables obligatoires du formulaire
$aVars = array('nom','prenom','email','message');
// Les tests de validité pour le e-mail
$aTests = array('email'=> '#\w+[-_.]?\w+?@\w+[-_.]?\w+?\.[a-z]{2,5}#');
// Variable pour savoir s'il y a des erreurs dans les infos fournies
$bErreur = false;
// On boucle sur chaque variable obligatoire du formulaire
foreach ($aVars as $var) {
// On test pour savoir si la variable est vide
$bErreur = (bool)(empty($_POST[$var]));
// On test la validité de l'info fournie
if (isset($aTests[$var])) { $bErreur = (bool)(!preg_match($aTests[$var], $_POST[$var])); }
// Si une erreur a été détectée, alors on rédirige vers la page d'erreur
// et on arrête le script
if ($bErreur) {
header("Location: erreur.html");
exit();
}
}
// Si aucune erreur n'a été détectée, alors on construit le message à envoyer
$sMessage = 'Message envoyé le '.date('d/m/Y').' à '.date('H:i')."\r\n";
$sMessage .= 'Identité : '.$_POST['nom'].''.$_POST['prenom']."\r\n";
$sMessage .= 'E-mail : '.$_POST['email']."\r\n";
$sMessage .= 'Message : '."\r\n\r\n--\r\n\r\n";
$sMessage .= $_POST['message']."\r\n\r\n--\r\n\r\n";
// Objet du mail
$sObjet = 'Message pour, envoyé à partir du site';
// Adresse e-mail de
$sEmail = 'moi@free.fr' // Adresse à personnaliser
// Envoi du message
mail($sEmail, $sObjet, $sMessage);
// On retourne à la page du formulaire
header("Location: administration.php");
}
?>
mail($sEmail, $sObjet, $sMessage);
<?php
// Fichier "adminis.php"
// On vérifie d'abord si le formulaire a été envoyé en s'assurant
// que la variable $_POST contient bien une entrée 'valid'
if (isset($_POST['valid'])) {
// Liste de toutes les variables obligatoires du formulaire
$aVars = array('nom','prenom','email','message');
// Les tests de validité pour le e-mail
$aTests = array('email'=> '#\w+[-_.]?\w+?@\w+[-_.]?\w+?\.[a-z]{2,5}#');
// Variable pour savoir s'il y a des erreurs dans les infos fournies
$bErreur = false;
// On boucle sur chaque variable obligatoire du formulaire
foreach ($aVars as $var) {
// On test pour savoir si la variable est vide
$bErreur = (bool)(empty($_POST[$var]));
// On test la validité de l'info fournie
if (isset($aTests[$var])) { $bErreur = (bool)(!preg_match($aTests[$var], $_POST[$var])); }
// Si une erreur a été détectée, alors on rédirige vers la page d'erreur
// et on arrête le script
if ($bErreur) {
header("Location: erreur.html");
exit();
}
}
// Si aucune erreur n'a été détectée, alors on construit le message à envoyer
$sMessage = 'Message envoyé le '.date('d/m/Y').' à '.date('H:i')."\r\n";
$sMessage .= 'Identité : '.$_POST['nom'].''.$_POST['prenom']."\r\n";
$sMessage .= 'E-mail : '.$_POST['email']."\r\n";
$sMessage .= 'Message : '."\r\n\r\n--\r\n\r\n";
$sMessage .= $_POST['message']."\r\n\r\n--\r\n\r\n";
// Objet du mail
$sObjet = 'Message pour, envoyé à partir du site';
// Adresse e-mail de
$sEmail = 'moi@free.fr' // Adresse à personnaliser
// Envoi du message
mail($sEmail, $sObjet, $sMessage);
// On retourne à la page du formulaire
header("Location: administration.php");
}
?>
Utilisateur anonyme
3 mars 2017 à 12:23
3 mars 2017 à 12:23
$sMessage est mal formé. Essaie comme ça
cdt
$sMessage = "Message envoyé le ".date('d/m/Y')." à ".date('H:i')."\r\n"; $sMessage .= "Identité : ".$_POST['nom']." ".$_POST['prenom']."\r\n"; $sMessage .= "E-mail : ".$_POST['email']."\r\n"; $sMessage .= "Message : "."\r\n\r\n--\r\n\r\n"; $sMessage .= $_POST['message']."\r\n\r\n--\r\n\r\n";
cdt
lalain67000
Messages postés
92
Date d'inscription
dimanche 14 octobre 2012
Statut
Membre
Dernière intervention
6 mars 2017
44
3 mars 2017 à 12:53
3 mars 2017 à 12:53
Je viens d'essayer, j'obtiens la même erreur :-)
mais quand je vois ton code modifié, je ne vois pas de différence ?
mais quand je vois ton code modifié, je ne vois pas de différence ?
lalain67000
Messages postés
92
Date d'inscription
dimanche 14 octobre 2012
Statut
Membre
Dernière intervention
6 mars 2017
44
3 mars 2017 à 12:58
3 mars 2017 à 12:58
Ah oui, la différence entre les ["] et les ['] :-)
Utilisateur anonyme
>
lalain67000
Messages postés
92
Date d'inscription
dimanche 14 octobre 2012
Statut
Membre
Dernière intervention
6 mars 2017
Modifié par ludobabs le 3/03/2017 à 13:02
Modifié par ludobabs le 3/03/2017 à 13:02
avant la fonction mail, peux tu faire un
echo $sMessage; die();
lalain67000
Messages postés
92
Date d'inscription
dimanche 14 octobre 2012
Statut
Membre
Dernière intervention
6 mars 2017
44
>
Utilisateur anonyme
3 mars 2017 à 13:09
3 mars 2017 à 13:09
Cette fois ça me dit que l'erreur est en ligne 46 :
echo $sMessage;
echo $sMessage;
Utilisateur anonyme
>
lalain67000
Messages postés
92
Date d'inscription
dimanche 14 octobre 2012
Statut
Membre
Dernière intervention
6 mars 2017
3 mars 2017 à 13:15
3 mars 2017 à 13:15
quel est le message d'erreur ?
3 mars 2017 à 12:09
j'ai posté le code en cliquant sur "Répondre".. :-)