Easyphp : fonction mail

[Résolu]
Signaler
Messages postés
18
Date d'inscription
lundi 31 janvier 2005
Statut
Membre
Dernière intervention
6 octobre 2005
-
Messages postés
18
Date d'inscription
lundi 31 janvier 2005
Statut
Membre
Dernière intervention
6 octobre 2005
-
Bonjour,

Je possède Easyphp 1.8 et ce dernier me remonte une notice dans un formulaire de mail en php :

Notice: Use of undefined constant destinataire - assumed 'destinataire' in C:\program files\easyphp1-8\www\dossier\contact.php on line 3

Notice: Undefined index: destinataire in C:\program files\easyphp1-8\www\dossier\contact.php on line 3

Pourtant, j'ai configuré mon php.ini en renseignant mon adresse email - smtp - et port 25.

Je vous remercie de vos reponses

16 réponses

Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
non, y'a rien à paramétrer, c'est ton code qu'est incorrect. Il faut coder en affichant les erreurs et en les corrigeant.

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Salut,



file-nous les 10 premières lignes de ton fichier contact.php stp :-)



merci

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
18
Date d'inscription
lundi 31 janvier 2005
Statut
Membre
Dernière intervention
6 octobre 2005

Messages postés
18
Date d'inscription
lundi 31 janvier 2005
Statut
Membre
Dernière intervention
6 octobre 2005

Désolé ; j'ai appuyé trop vite !!

Voici le début de mon code : contact.php

<?php
// Dans la ligne qui suit, remplacer webmaster@domaine.tld par l'adresse email du webmaster, à laquelle les messages devront être envoyés
$email_webmaster = $_POST[destinataire];
// ********************************************* traitement des données du formulaire *************************************************
if (isset($_POST["envoyer"])){
// le formulaire a été soumis
        $etat = "erreur";
// Valeur par défaut. Prendra la valeur "ok" s'il n'y a pas d'erreur
// --- mise en forme des champs saisis dans le formulaire lors de sa soumission ---
        if (isset($_POST["email_expediteur"])) {
                 $_POST["email_expediteur"]=trim(stripslashes($_POST["email_expediteur"]));
        }
        if (isset($_POST["titre"])) {
                 $_POST["titre"]=trim(stripslashes($_POST["titre"]));
        }
        if (isset($_POST["message"])) {
                 $_POST["message"]=trim(stripslashes($_POST["message"]));
        }
        // --- test de la validité des champs saisis ---
        if (empty($_POST["email_expediteur"])) {
// il manque l'email de l'expéditeur
                 $erreur="Saisissez votre adresse email...";
        }
        elseif (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2,4}$",$_POST["email_expediteur"])){
// l'adresse e-mail n'est pas valide
                 $erreur="Votre adresse e-mail n'est pas valide...";
        }
        elseif (empty($_POST["message"])) {
// le message est vide
                 $erreur="Saisissez un message...";
        }
        else {
// --- tous les champs sont correctement remplis: on pourra envoyer le mail ---
                 $etat="ok";
        }
}
else {
// --- le formulaire n'a pas été soumis ---
           $etat="attente";
}
// fin de traitement des données du formulaire
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xml:lang="fr" lang="fr" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Formulaire de contact</title>
</head>

.....etc
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Remplace ça :



$email_webmaster = $_POST[destinataire];



par ça :



if(isset($_POST['destinataire']))

{

$email_webmaster = $_POST['destinataire'];

}

else

{

$email_webmaster = '';

}

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
459
Date d'inscription
dimanche 9 janvier 2005
Statut
Membre
Dernière intervention
11 mai 2013
1
faut vérifier l'existance variables avant de dire qu'elle exists [verif avec isset() comme la fait Anthmicro]
Messages postés
18
Date d'inscription
lundi 31 janvier 2005
Statut
Membre
Dernière intervention
6 octobre 2005

Je te remercie beaucoup Anthmicro ! çà fonctionne.



Cela dit ; je ne comprends pas pourquoi il faut verifier avec un isset en local alors que chez un hebergeur, cela fonctionne.



Wizard512, je te remercie de ta reponse meme si je ne la saisis pas completement !!
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
" Wizard512, je te remercie de ta reponse meme si je ne la saisis pas completement !!" > flood (lol)



Bah concernant ça, ça vient du fait que l'hébergeur autorise toutes
sortes de scripts, même mal codés, voilà pourquoi ça fonctionne. Il
faut coder avec les register_globals à off et avec l'error_reporting à
E_ALL :-)



a +

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
459
Date d'inscription
dimanche 9 janvier 2005
Statut
Membre
Dernière intervention
11 mai 2013
1
...pour que sa masque toutes les erreurs
Messages postés
18
Date d'inscription
lundi 31 janvier 2005
Statut
Membre
Dernière intervention
6 octobre 2005

Ok ! là, je comprends mieux ! Merci pour tes explications :o)



Oui....je sais ; dans ce topic, j'ai fait 2 flood mais bon.... ca fait rien !



Bien à vous.
Messages postés
459
Date d'inscription
dimanche 9 janvier 2005
Statut
Membre
Dernière intervention
11 mai 2013
1
bon chance pour la suite
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
non c'est pas toi les floods, et l'error_reporting à E_ALL c'est pour
afficher toutes les erreurs, c'est pour te permettre de mieux coder.

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
18
Date d'inscription
lundi 31 janvier 2005
Statut
Membre
Dernière intervention
6 octobre 2005

rahhhh !



Je viens d'essayer le script en envoyant un e mail ; j'ai sur une nouvelle page :



Forbidden


You don't have permission to access /dossier/
Notice: Undefined index: dossier/contact.php
in c:\program
files\easyphp1-8\www\dossier\contact.php on line
65

on this server.





La ligne 65 de ma page contact.php est la suivante :



<form method="post" action="<?php echo $_SERVER["contact.php"]; ?>">



AMHA, ca doit venir de "contact.php" - peut etre que le chemin n'est pas bien renseigné ?
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
non non non... $_SERVER['contact'] ça n'existe pas comme variable.



c'est $_GET['contact'] ou $_POST['contact'] dans ton cas

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
18
Date d'inscription
lundi 31 janvier 2005
Statut
Membre
Dernière intervention
6 octobre 2005

ok pour le Post ; je trouve une nouvelle fois bizarre que ca fonctionne
avec les hebergeurs mais pour easyphp, ca me met toujours la meme
erreur.



Peut-etre y a t-il une nouvelle chose à paramétrer dans le php.ini ?
Messages postés
18
Date d'inscription
lundi 31 janvier 2005
Statut
Membre
Dernière intervention
6 octobre 2005

ok, je te remercie, je regarde ca ces jours prochains.