[php] probleme avec mail()+multi OU cmt rediriger une page d'erreur

probleme avec mail()+multi OU cmt rediriger une page d'erreur [php] - Programmation

Marsh Posté le 22-11-2001 à 11:18:37    

le probleme est que l'envoi du mail est bien effectué, mais que de temps en temps je me retrouve sur une page blanche:
 
"
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, webads@multimania.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
 
More information about this error may be available in the server error log.
"
 
:??:

 

[edtdd]--Message édité par sisicaivrai--[/edtdd]

Reply

Marsh Posté le 22-11-2001 à 11:18:37   

Reply

Marsh Posté le 22-11-2001 à 11:28:50    

y a personne qui sait que faire? Y a pas moyen de faire en cas de ce type de problème une redirection auto?

Reply

Marsh Posté le 22-11-2001 à 12:38:56    

je crois avoir trouvé, prob avec un mysql_close

Reply

Marsh Posté le 22-11-2001 à 12:39:35    

peut-être en récupérant le résultat de la fonction mail et en testant si cela s'est bien passé.

Reply

Marsh Posté le 22-11-2001 à 12:48:18    

gizmo a écrit a écrit :

peut-être en récupérant le résultat de la fonction mail et en testant si cela s'est bien passé.  




je ne vois pas comment récupérer la valeur, car il me sort cette page blanche... aucun echo, rien
comment faire?
 
car le plus étrange, c qu'a chaque fois l'email est bien envoyé!!!

 

[edtdd]--Message édité par sisicaivrai--[/edtdd]

Reply

Marsh Posté le 22-11-2001 à 12:50:25    

et juste comme ça, t'as mailé webads@machin pour voir ce qu'il en pensait ?

Reply

Marsh Posté le 22-11-2001 à 12:51:53    

youdontcare a écrit a écrit :

et juste comme ça, t'as mailé webads@machin pour voir ce qu'il en pensait ?  




 
vi :
 
The original message was received at Thu, 22 Nov 2001 13:23:18 GMT
from riker.skynet.be [195.238.3.132]
 
   ----- The following addresses had permanent fatal errors -----
<webads@multimania.com>
 
   ----- Transcript of session follows -----
550 <webads@multimania.com>... User unknown
 
 [:sisicaivrai]

Reply

Marsh Posté le 22-11-2001 à 13:13:37    

et avec la fonction email?

Reply

Marsh Posté le 22-11-2001 à 15:37:16    

j'ai un while (list(users...))
{connection autre base etc etc
 
mail(...)
connection base etc  
 
}
 
 
j'ai fait des tests:
j'enleve juste la ligne mail(...)
-> aucune erreur
 
je met la ligne mail(...)
il envoie le mail la 1ere fois et après j'ai plein d'erreurs, il ne parvient même plus à se connecter aux bases de données!!!
:??:

 

[edtdd]--Message édité par sisicaivrai--[/edtdd]

Reply

Marsh Posté le 22-11-2001 à 15:40:28    

regarde s'il n'y a pas de limitations pour la fonction mail(). pas mal d'hébergeurs la désactivent pour restreindre le spam. peut-être que tu as une limite d'un appel par script.

Reply

Marsh Posté le 22-11-2001 à 15:40:28   

Reply

Marsh Posté le 22-11-2001 à 15:41:37    

ok, c'est "normal", multimania restreint les mail pour éviter le flood, donc si tu veux en envoyer plusieur, tu dois mettre tous les destinataires en une fois.

Reply

Marsh Posté le 22-11-2001 à 17:46:50    

j'ai trouvé!!! :cool:
 
en fait apparemment a la fin de la fonction mail, il doit faire un mysql_close -> du coup ma connection à la base est fermée aussi -> je refais un connec après mail()
 
merci pour viotre aide :jap:

Reply

Marsh Posté le 22-11-2001 à 17:54:16    

Ow ow ow... le pconnect ca te dis rien?
 
Plutot que d'ouvrir et fermer ta connection...


---------------
Vendredi c'est Buitoni
Reply

Marsh Posté le 22-11-2001 à 18:22:37    

buitoni a écrit a écrit :

Ow ow ow... le pconnect ca te dis rien?
 
Plutot que d'ouvrir et fermer ta connection...  




je n'en avais pas l'utilité jusqu'a maintenant, mon forum a bcp évolué ;)
 
super j'ai le même probleme avec un pconnect, je vais faire comme je pensais...

 

[edtdd]--Message édité par sisicaivrai--[/edtdd]

Reply

Marsh Posté le 22-11-2001 à 22:26:55    

sisicaivrai a écrit a écrit :

 
je n'en avais pas l'utilité jusqu'a maintenant, mon forum a bcp évolué ;)
 
super j'ai le même probleme avec un pconnect, je vais faire comme je pensais...  
 
 




 
bon ben des fois ca marche, des fois ca marche pas... multi vient de créer le vrai aléatoire  :sarcastic:  
 :gun:

Reply

Marsh Posté le 22-11-2001 à 23:06:40    

sisicaivrai a écrit a écrit :

 
 
bon ben des fois ca marche, des fois ca marche pas... multi vient de créer le vrai aléatoire  :sarcastic:  
 :gun:  




 
Faut pas utiliser de close hein (on sait jamais)


---------------
Vendredi c'est Buitoni
Reply

Marsh Posté le 22-11-2001 à 23:08:27    

buitoni a écrit a écrit :

 
 
Faut pas utiliser de close hein (on sait jamais)  




non non, je ne sais pas pourquoi ca fait ca, vraiment...

Reply

Marsh Posté le 23-11-2001 à 16:21:36    

bon et bien je crois avoir isolé l'erreur:
 
c'est un probleme d'accès concurrents a la fonction mail:
par exemple on a essayé de poster a deux sur mon forum en ayant activé la notification de reponse par mail, et PAF internal server error chez les deux
mais les mails sont partis, et les messages sont postés
 
C a cause de multimania? comment régler ca?  Par ex faire un test avant d'envoyer, mais quel test??
 
Sinon, y a pas moyen de mettre un démon? :sol:

Reply

Marsh Posté le 23-11-2001 à 17:07:56    

y a vraiment pas moyen de faire un redirect quand on tombe sur cette page?? (internal server error)
 
 [:sisicaivrai]  [:sisicaivrai]

Reply

Marsh Posté le 26-11-2001 à 23:16:41    

ce que j'ai trouvé sur multi:
 
 
 
 
 
 
Le mailer MultiMania    
 
 
 
MultiMania met à votre disposition un CGI pour vous permettre d'envoyer des courriers, des formulaires multiples et autres menus déroulant directement à partir de vos pages web.  
 
Si vous êtes un expert en CGI, il vous suffit d'utiliser :
<FORM method=GET action= "/cgi-bin/mailer">.  
 
  Les champs From: et To: sont obligatoires pour faire fonctionner le mailer  
  Votre adresse e-mail peut être cachée par un tag "hidden"
<INPUT TYPE="hidden" VALUE="identifiant@multimania.com" NAME="TO" SIZE="40" MAXLENGTH="35">  
  Le champ "gotourl" vous permet de diriger le visiteur qui vient de remplir votre formulaire sur une page de remerciement que vous avez écrit.  
  Pour le champ "gotourl" vous devez mettre le chemin complet de la page a afficher, une fois le mail validé exemple :
<INPUT TYPE="hidden" NAME="GOTOURL" VALUE="http://www.multimania.com/identifiant" SIZE="40" MAXLENGTH="35">  
  Tous les autres tags pour faire un formulaire sont facultatifs voir les exemples ici.  
 
 
<FORM METHOD=GET ACTION="/cgi-bin/mailer">
<code>
<B>Votre E-mail..........:</B>
<INPUT VALUE="visiteur@fournisseur.com" NAME="FROM"  
SIZE=35 MAXLENGTH=35>
<INPUT TYPE="hidden" VALUE="identifiant@multimania.com" NAME="TO"
SIZE=40 MAXLENGTH=35>
<B>Subject.......:</B>
<INPUT NAME="SUBJECT"SIZE=40 MAXLENGTH=35>
<INPUT TYPE="hidden" NAME="GOTOURL"  
VALUE="http://www.multimania.com/identifiant" SIZE=40 MAXLENGTH=35>
<B>Nom...........:</B>
<INPUT NAME="NOM"SIZE=40 MAXLENGTH=35>
<B>Comments......:</B>
<TEXTAREA NAME="COMMENTS" COLS=50 ROWS=4></TEXTAREA>
<INPUT TYPE=submit VALUE="Envoyer">
<INPUT TYPE="reset" VALUE="Effacer">
</code>
</FORM>  
 
 
je dois passer par le cgi?
Comment faire sans formulaire?

Reply

Marsh Posté le 27-11-2001 à 00:10:51    

plizzz I need help, c quoi l'erreur?? Ca doit etre tellement gros que je ne le voie pas...
 

Code :
  1. function send_notif($msg, $from) // notif de reponse a msg par from
  2. {
  3. include('include_connect.php3');
  4. $query_titre="select titre from Forum where cpt='$msg'";
  5. $result_titre = mysql_query($query_titre);
  6. list($titre)=mysql_fetch_row($result_titre);
  7. $query_sel="select notif.nom, email from notif,users where notif.cpt='$msg' AND users.nom=notif.nom AND notif.nom<>'$from'";
  8. $result_sel = mysql_query($query_sel);
  9. $email_tot="";
  10. if(list($nom,$send_to)=mysql_fetch_row($result_sel
  11. ))
  12. $email_tot=$send_to;
  13. while(list($nom, $send_to)=mysql_fetch_row($result_sel))
  14.        $email_tot.=", ".$send_to;
  15. $message="$from a répondu au message $titre <br>http://www.imho.be.tf";
  16. $message.="<br>PS : pour éviter le spam, vous devrez renotifier si vous voulez a nouveau etre prévenu(e) ;-)\n";
  17. $query_del="DELETE from notif where cpt='$msg' and nom<>'$from'";
  18. $result_del=mysql_query($query_del);
  19. if($email_tot !="" )
  20.    mail($email_tot, "Vous avez une réponse [Imho's forum]", $message,"From: webmaster@imhotep03@freesurf.fr\nReply-To: webmaster@imhotep03@freesurf.fr\nContent-Type: text/html; charset=iso-8859-1\n" );
  21. }


 [:sisicaivrai]
cai ecrit tout pas bo
http://aaaaaaaaaaaaaaaaaaaaaaaaaaa [...] aaaaaaaaaa
juste pour agrandir l'affichage :D
 
PS  : comment faire pour pas que dans le mail on voit toutes les personnes a qui le mail est envoyé? Y a moyen?

 

[edtdd]--Message édité par sisicaivrai--[/edtdd]

Reply

Marsh Posté le 27-11-2001 à 00:19:27    

gizmo a bien vu le truc, la fonction mail renvoie un booléen, t'as qu'a faire
$email = @mail(...)
 
if $email=='TRUE' {
 on renvoie sur la page succès !
}
else {
  page d'erreur
}

 

[edtdd]--Message édité par Sh@rdar--[/edtdd]


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 27-11-2001 à 00:28:45    

Sh@rdar a écrit a écrit :

la fonction mail renvoie un booléen, t'as qu'a faire
$email = @mail(...)
 
if $email=='TRUE' {
 on renvoie sur la page succès !
}
else {
  page d'erreur
}  




 
je peux essayer ca, le prob est que j'ai :
<?session_start();
$id = session_id();
$name = session_name();
Header("Location: aff_topics.php3?$name=$id" );
 
?>
et dès que je met le header plus bas dans le code (sans aucun echo) il ne veut plus...
 
mais d'ou peut provenir une erreur? et même si mail provoquait une erreur, pourquoi faire un "internal server error"? :??:
et en fait je me demande si faire un if else ca peut changer qqchose?? La j'ai fait quelques tests, pas de probleme
 
en fait j'ai des probs quand on est plusieurs sur le site, et UNIQUEMENT en cas de notification!

Reply

Marsh Posté le 27-11-2001 à 00:33:06    

pour pas qu'on voit les personnes auxquelles tu as envoyé un message, faut utiliser le cci (carbon copy invisible)
 
ça doit correspondre à ça dans la doc :
$headers .= "bcc:birthdaycheck@php.net, birthdaygifts@php.net\n"; // Champs BCCs  
mail($recipient, $subject, $message, $headers);

Reply

Marsh Posté le 27-11-2001 à 00:35:41    

sisicaivrai a écrit a écrit :

 
 
je peux essayer ca, le prob est que j'ai :
<?session_start();
$id = session_id();
$name = session_name();
Header("Location: aff_topics.php3?$name=$id" );
 
?>
et dès que je met le header plus bas dans le code (sans aucun echo) il ne veut plus...
 
mais d'ou peut provenir une erreur? et même si mail provoquait une erreur, pourquoi faire un "internal server error"? :??:
et en fait je me demande si faire un if else ca peut changer qqchose?? La j'ai fait quelques tests, pas de probleme
 
en fait j'ai des probs quand on est plusieurs sur le site, et UNIQUEMENT en cas de notification!  




 
pour les erreurs j'en sais rien, mais si tu as un msg d'erreur php dans ta page, ça foire le header à coup sur puisqu'il y un echo avant.
 
faut peut être repenser la structure de tes pages histoire de vérifier les redirections etc... et puis peut être changer d'hébergement si t'es vraiment emmerdé.


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 27-11-2001 à 00:40:20    

Sh@rdar a écrit a écrit :

 
 
pour les erreurs j'en sais rien, mais si tu as un msg d'erreur php dans ta page, ça foire le header à coup sur puisqu'il y un echo avant.
 
faut peut être repenser la structure de tes pages histoire de vérifier les redirections etc... et puis peut être changer d'hébergement si t'es vraiment emmerdé.  




oui, je comprends bien que le hearder peut chier, et donc avoir un echo d'erreur, mais un internal server error, j'ai ca nulle part ailleurs! Juste avec mail et je ne peux rien tester la dessus, c juste une page blanche...:(
 
enfin... changer d'hébergeur, vi... mais les hébérgeur gratuits ne courrent pas les rues
 
enfin, :jap:

 

[edtdd]--Message édité par sisicaivrai--[/edtdd]

Reply

Marsh Posté le 27-11-2001 à 00:40:29    

ethernal a écrit a écrit :

pour pas qu'on voit les personnes auxquelles tu as envoyé un message, faut utiliser le cci (carbon copy invisible)
 
ça doit correspondre à ça dans la doc :
$headers .= "bcc:birthdaycheck@php.net, birthdaygifts@php.net\n"; // Champs BCCs  
mail($recipient, $subject, $message, $headers);  



:jap:  :hello:

Reply

Marsh Posté le 28-11-2001 à 19:56:41    

je crois que j'ai réglé mon prob de internal server error:
un mysql_close() avant l'appel à mail()
 
pourquoi? PASKEUUU :p

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed