probleme avec mail()+multi OU cmt rediriger une page d'erreur [php] - Programmation
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?
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é.
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]
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 ?
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
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]
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.
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.
Marsh Posté le 22-11-2001 à 17:46:50
j'ai trouvé!!!
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
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...
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]
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
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 |
Faut pas utiliser de close hein (on sait jamais)
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...
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?
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)
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?
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 :
|
cai ecrit tout pas bo
http://aaaaaaaaaaaaaaaaaaaaaaaaaaa [...] aaaaaaaaaa
juste pour agrandir l'affichage
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]
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]
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!
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);
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é.
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,
[edtdd]--Message édité par sisicaivrai--[/edtdd]
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); |
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
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]