Cherche erreur en php !

Fermé
bg62 Messages postés 23590 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 15 avril 2024 - 12 août 2006 à 10:47
 Dingo - 5 sept. 2006 à 12:40
bonjour
encore moi ! mais avec un problème pour un autre formulaire de contact par mail en php (peut être plus simple à trouver pour les spécialistes !)
je l'utilise chez free sans problème(et sans passer par l'adresse de free ! c super pratique), je veux mettre en ligne chez un autre hébergeur (teria.org) qui me mets ces conditions:
codes imosés par teria :
mail_php($mail_dst,$mail_src,$contenu,$sujet)
et là plus rien ne marche !!!!
voici le code :
--------------------------------------------------------------------------------
<?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 = "MONADRESSE@teria.org";
// === 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 - unesourisetmoi - SCREENSAVERS - FREE - gratuit -</title>
</head>
<body>
<h1>Contacter le webmaster</h1>
<?php
if ($etat!="ok"){// le formulaire n'a pas été soumis, ou soumis avec une erreur
if ($etat=="erreur"){
//le formulaire a été soumis avec une erreur
echo "<p><strong>".$erreur."</strong></p>\n";
// afficher le message d'erreur
}
?>
<form method="post" action="<?php echo $_SERVER["../pages/PHP_SELF"]; ?>">
<p><label for="email_expediteur">Votre adresse e-mail (obligatoire):</label><br />
<input type="text" size="40" name="email_expediteur" id="email_expediteur" value="<?php
if (!empty($_POST["email_expediteur"])) {
// l'adresse email de l'expéditeur a été saisie: la réafficher
echo htmlspecialchars($_POST["email_expediteur"],ENT_QUOTES);
}
?>" />
</p>
<p><label for="titre">Titre de message (facultatif):</label><br />
<input type="text" size="40" name="titre" id="titre" value="<?php
if (!empty($_POST["titre"])) {
// le titre du message a été saisi: le réafficher
echo htmlspecialchars($_POST["titre"],ENT_QUOTES);
}
?>" />
</p>
<p><label for="message">Message (obligatoire):</label><br />
<textarea name="message" id="message" cols="40" rows="5"><?php
if (isset($_POST["message"])) {
// le message a été saisi: le réafficher
echo htmlspecialchars($_POST["message"],ENT_QUOTES);
}
?></textarea>
</p>
<p><input type="submit" name="envoyer" value="Envoyer" />
</p>
</form>
<?php
}
else {
// le formulaire a été soumis sans erreur, on envoie le mail
$entete = "From: ".$_POST["email_expediteur"]." <".$_POST["email_expediteur"].">\n";
$entete .= "MIME-Version: 1.0";
// bg bg ancienne ligne de codes if (@mail($email_webmaster,$_POST["titre"],$_POST["message"],$entete)){
// // // codes imosés par teria : mail_php($mail_dst,$mail_src,$contenu,$sujet)
// essai de correction: if(@mail_php($email_webmaster,'ton_email_teria',$_POST['message'],$_POST['titre'])) {
if(@mail_php($email_webmaster,'MONADRESSE@teria.org',$_POST['message'],$_POST['titre'])) {
// mail envoyé
echo "Votre message a été envoyé.<br />\n";
echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Envoyer un autre message...</a>\n";
}
else {
// erreur lors de l'envoi du mail
echo "Un problème s'est produit lors de l'envoi du message.\n";
echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Réessayez...</a>\n";
}
}
?>
</body>
</html>

--------------------------------------------------------------------------------
si vous me trouvez le bug ... chapeau, cela me soulagera grandement
@mitiés
b g

2 réponses

teria ne prend tout simplement pas en compte la fonction mail.... ;)
0
bg62 Messages postés 23590 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 15 avril 2024 2 362
5 sept. 2006 à 09:34
meci !
tu es sur ?
tu connais teria ?
car s'ils demandent une modif c'est qu'ils devraient accepter ...
de plus je reçois bien les mails envoyés mais ils sont inexploitables car tout est 'mélangé' et on ne peut pas trouveer l'adresse de l'expéditeur ... je pensais plutôt à une erreur de codes (de ma part !) car je suis plus que débutant
et quand je les contacte je n'ai pas de réponse ... cela doit leur paraître évident ?
@mitiés
b g
0
Si ton hébergeur accepte bien l'envoi d'e-mail, avec une fonction qui leur est propre.
http://www.teria.org/charte.php#tth_sEc4.3

Enlève les arobases pour voir quel message d'erreur est indiqué.
0