configurer l'envoi de mail avec apache

configurer l'envoi de mail avec apache - PHP - Programmation

Marsh Posté le 11-04-2006 à 20:58:45    

bonjour a tous
 
j'ai installer php5 pour apache 2.0.55 et j'ai tester le php, et ca à lair de
fonctionner ,mais j'ai essayer un script en php pour envoyer un mail ,  
et j'ai eu ce message d'erreur
 
 
 

Code :
  1. Warning: Variable passed to each() is not an array or object in C:\site\ne\Bobo\merci.php on line 8
  2. Notice: Undefined variable: subject in C:\site\ne\Bobo\merci.php on line 12
  3. Warning: Cannot modify header information - headers already sent by (output started at C:\site\ne\Bobo\merci.php:8) in C:\site\ne\Bobo\merci.php on line 14


 
je suis en PHP5 et jai essayer ce script chez lhebergement de free et ca fonctionne mais dans mon hebergement perso ca ne marche pô,
je suis en windows ...
on ma dit que mon script contenait des erreurs mais je vois pas ou..
 
 
 

Code :
  1. <?php
  2. $TO = "mail";
  3. $h = "From: " . $TO;
  4. $message = "merci";
  5. while (list($key, $val) = each($HTTP_POST_VARS)) {
  6. $message .= "$key : $val\n";
  7. }
  8. mail($TO, $subject, $message, $h);
  9. Header("Location: http://<URL de la page de remerciement>" );
  10. ?>


 
 
aidez moi svp

Reply

Marsh Posté le 11-04-2006 à 20:58:45   

Reply

Marsh Posté le 11-04-2006 à 23:56:15    

Parce que $subject n'est pas initialisé.
Si tu a installé PHP5, la configuration change par défaut.
Il y a une option register_globals, qui est mise automatiquement dans PHP4, mais qui doit être configurée avec PHP5.
Dans le php.ini, tu mets: register_globals: On

Message cité 2 fois
Message édité par nargy le 11-04-2006 à 23:56:41
Reply

Marsh Posté le 12-04-2006 à 00:45:41    

nargy a écrit :

Parce que $subject n'est pas initialisé.
Si tu a installé PHP5, la configuration change par défaut.
Il y a une option register_globals, qui est mise automatiquement dans PHP4, mais qui doit être configurée avec PHP5.
Dans le php.ini, tu mets: register_globals: On


 
 
ok alors j'ai modifier le php.ini j'ai encore un message d'erreur mais plus court    

Code :
  1. Warning: Variable passed to each() is not an array or object in C:\site\ne\Bobo\formmail.php on line 8
  2. Warning: Cannot modify header information - headers already sent by (output started at C:\site\ne\Bobo\formmail.php:8) in C:\site\ne\Bobo\formmail.php on line 14


 
 :sweat:

Reply

Marsh Posté le 12-04-2006 à 00:55:20    

c'est encore une config, essaye de remplacer:
$HTTP_POST_VARS
par:
$_POST
 
sinon, tu peut aller voir sur php.net voir quelle est l'option à changer dans le php.ini, je l'ai pas en tête.

Reply

Marsh Posté le 12-04-2006 à 01:18:43    

je dois modifier ca dans le php.ini ?
 
en tout cas merci pour ton aide

Reply

Marsh Posté le 12-04-2006 à 02:01:44    

dame-blanche a écrit :

je dois modifier ca dans le php.ini ?
 
en tout cas merci pour ton aide


 
Non, dans ton code :)

Reply

Marsh Posté le 13-04-2006 à 16:26:04    

nargy a écrit :

Parce que $subject n'est pas initialisé.
Si tu a installé PHP5, la configuration change par défaut.
Il y a une option register_globals, qui est mise automatiquement dans PHP4, mais qui doit être configurée avec PHP5.
Dans le php.ini, tu mets: register_globals: On


 
on m'a dit que le register_globals était destiner uniquement à la sécurité de mon serveur ,
si je l'active ca peux etre dangereux  :o  
 

Reply

Marsh Posté le 13-04-2006 à 16:32:18    

> si je l'active ca peux etre dangereux
 
je ne rentrerai pas dans la discussion (j'ai failli être convaincu, mais...).
 
C'est néanmoins la solution de facilité pour rendre les anciens scripts PHP comptibles avec les nouveaux.
 
Lorsque tu code de nouveaux scripts, n'utilise pas cette option, utilise plutôt $_POST ou $_GET.
 
À toi de décider si tu préfère considérer ton script comme un ancien code à rendre compatible, ou un nouveau code copié d'un ancien. -> je te conseille la 2ème solution si tu n'a pas beaucoup d'expérience avec PHP.

Reply

Marsh Posté le 13-04-2006 à 16:33:41    

PS: en gros, change les $_POST et les $_GET là où au paravant tu utilisait une variables globales toute simple.

Reply

Marsh Posté le 13-04-2006 à 16:36:47    

ok je vais essayer tout ca , et je reviendrai vous dire si ca fonctionne
:jap:

Reply

Sujets relatifs:

Leave a Replay

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