Marchait mais marche plus!
Bonjour à tous, voilà je vous explique mon problème, pour mon site j'ai du créer une interface d'administration dont les fonctions sont stockées dans une librairie PHP4. Avant cette librairie fonctionnait sans problème, mais depuis le passage de mon hébergeur à PHP 4.3.8 la librairie ne marche plus. Plus particulièrement la mailing-liste dont voici le code:
La page me met mail envoyé lors de l'envoi du formulaire alors que le mail ne l'a pas été. J'avoue être très intrigué par ce problème singulier. Si quelqu'un voit pourquoi ce script ne marche plus ça m'aiderait beaucoup. D'avance merci.
Koboneil : Merci d'utiliser le BB-code !
- <?PHP
- function mailer()
- {
- if($_POST['ajouter']=='Envoyer!' && $_POST['action']=="ajouter")
- {
- $connexion_hote = mysql_connect(hote,utilisateur,password);
- $connexion = mysql_select_db(bdd);
- $res=mysql_query("SELECT `email` FROM `abonnement`");
- $titre= "Newsletter";
- $email2 = "webmaster1@numericable.frfr";
- $entete = "<style>A {text-decoration:none; color:#990000};A:hover {font-weight: bold};A:active {color:#990000};A:visited {text-decoration: none; color:#990000;};</style><body text='#990000' link='#990000' vlink='#990000' alink='#990000'>";
- $signature= "<table border='0' bgcolor='' width='100%'><tr><td width='' align='center'><a href='http://www.freepgs.com/dondavid'>Cliquez ici pour accèder au site</a></td><td width='' align='center'><a href='http://55732.aceboard.net/index.php?login=55732'>Cliquez ici pour accèder au forum</a></td></tr></table><p><center>Amicalement,<br/>Angelo</p></center>Merci de ne pas répondre à ce mail car il est généré automatiquement.";
- $message=stripslashes($entete.$_POST['message'].$signature);
- while($infos=mysql_fetch_array($res))
- {
- mail($infos['email'],$titre,$message,"From:$email2\nMIME-version: 1.0\nContent-type: text/html; charset= iso-8859-1\n");
- }
- echo "<center>Mail envoyé</center>";
- }
- else {
- ?>
- <form name="form1" action="index.php3?action=verifie" method="post">
- <table border="0" class="tableau" cellpadding="5" cellspacing="3" width="100%" align="center">
- <tr>
- <td width="100%" class="titre">
- <table width="100%" border="0" cellpadding="0" cellspacing="0">
- <tr>
- <td>Contenu:</td>
- <td><textarea name="message" style="width:99%; height:300px" class="textarea"><font face="Times New Roman" size="3" color=#990000>Bonjour, voici la newsltter .</textarea>
- <script language="JavaScript1.2" defer>
- editor_generate('message');
- </script></td></tr>
- <tr><td colspan="2"> </td></tr></tr><tr>
- <td width="100%" align="center" colspan="2">
- <input type=hidden name=login value="<?php echo $_POST['login']; ?>" >
- <input type=hidden name=password value="<?php echo $_POST['password']; ?>" >
- <input type=hidden name=texte value="<?php echo $ip ?>" >
- <input type=hidden name=action value="ajouter" >
- <input type="hidden" name="ajouter" value="Envoyer!">
- <input type="submit" name="envoyer" value="Envoyer!"/>
- </td>
- </tr>
- </table>
- </form>
- </td>
- </tr>
- </table>
- <?
- }
- }
- ?>
La page me met mail envoyé lors de l'envoi du formulaire alors que le mail ne l'a pas été. J'avoue être très intrigué par ce problème singulier. Si quelqu'un voit pourquoi ce script ne marche plus ça m'aiderait beaucoup. D'avance merci.
Koboneil : Merci d'utiliser le BB-code !
Essaies de débuguer ton code :
Vérifie ce qui est renvoyé par ta base de données par exemple.
Lis la doc de ton hébergeur sur la fonction mail, il peut y avoir certaines contraintes à respecter.
Vérifie ce qui est renvoyé par ta base de données par exemple.
Lis la doc de ton hébergeur sur la fonction mail, il peut y avoir certaines contraintes à respecter.
remplaces
par
- mail($infos['email'],$titre,$message,"From:$email2\nMIME-version: 1.0\nContent-type: text/html; charset= iso-8859-1\n");
par
- <?
- if(mail($infos['email'],$titre,$message,"From:$email2\nMIME-version: 1.0\nContent-type: text/html; charset= iso-8859-1\n"))
- {
- echo "ok";
- }
- else
- {
- echo 'pas ok';
- }
- ?>
Merci de vos réponses
koboneil ==> désolé j'y penserai la prochaine fois.
mojorisin ==> Mon hébergeur n'a pas de doc à ma connaissance. Debbbuger mon code, qu'entends-tu par là? avec un débuggeur, je n'en ai pas, j'suis obligé de faire ça à l'ancienne loll. Ou avec Easy PHP, mais comme la base de données n'existe pas sur mon PC, ça ne me semble pas cohérent.
bibi ==> Le code que tu m'as donné ne retourne rien si ce n'est qu'il fait planter toute la librairie.
J'ai essayer de vérifier la requète SQL, sur PHPMyadmin, et en plus du résultat, le serveur me retourne trois fois une erreur incompréhensible. En recommençant à l'identique, le serveur ne retourne pas d'erreur. A mon avis c'est mon hébergeur qui déconne car , même avec ma librairie que jai postée plus haut et qui marchait elle plante.
koboneil ==> désolé j'y penserai la prochaine fois.
mojorisin ==> Mon hébergeur n'a pas de doc à ma connaissance. Debbbuger mon code, qu'entends-tu par là? avec un débuggeur, je n'en ai pas, j'suis obligé de faire ça à l'ancienne loll. Ou avec Easy PHP, mais comme la base de données n'existe pas sur mon PC, ça ne me semble pas cohérent.
bibi ==> Le code que tu m'as donné ne retourne rien si ce n'est qu'il fait planter toute la librairie.
J'ai essayer de vérifier la requète SQL, sur PHPMyadmin, et en plus du résultat, le serveur me retourne trois fois une erreur incompréhensible. En recommençant à l'identique, le serveur ne retourne pas d'erreur. A mon avis c'est mon hébergeur qui déconne car , même avec ma librairie que jai postée plus haut et qui marchait elle plante.
c pas normal pcke mail retourne un booléen
Salut,
Pour le debugage => http://www.lephpfacile.com/cours/index.php?p=21
cela consiste a mettre des print_r, var_dump, et autre echo afin d'etre sur du contenu de ces variables !
Pour le debugage => http://www.lephpfacile.com/cours/index.php?p=21
cela consiste a mettre des print_r, var_dump, et autre echo afin d'etre sur du contenu de ces variables !
En effet ce n'est pas normal car la librairie refonctionne correctement. C'est à n'y rien comprendre. A mon avis ce n'était qu'une défaillance temporaire.
Merci Moogli pour ce lien.
Merci Moogli pour ce lien.
ben de rien !
Accès rapide :
Remonter 

