Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
894 connectés 

  FORUM HardWare.fr
  Programmation

  [PHP] Erreur bizarre. Dois être facile à trouver je pense....

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Erreur bizarre. Dois être facile à trouver je pense....

n°194717
Kyle_Katar​n
Posté le 13-08-2002 à 16:48:59  profilanswer
 

Voilà : http://www.katarncorp.com/test/form.htm
 
le script php marche super bien mais sur un autre serveur on a des message du type :  
 
Notice: Undefined variable: name in D:\Inetpub\charlottencstateclub\sub.php on line 8
 
Voilà le code complet du script :
 

Code :
  1. <?
  2. /* Ce script a été conçu par la Katarn Corp.
  3. pour de plus amples informations vous n'avez qu'à
  4. contacter la Katarn Corp. (http://www.katarncorp.com)
  5. */
  6. $name = trim($name);
  7. $mail = trim($mail);
  8. $bon = "3";
  9. if ($accept == "" ){
  10. if ($name == "" ) {
  11. echo "<CENTER>Invalid or missing name</CENTER>";
  12. $bon--;
  13. }
  14. if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,3}$", $mail)) {
  15. }
  16. else {
  17. echo '<CENTER>Invalid or missing email address</CENTER>';
  18. $bon--;
  19. }
  20. if ($list == "" ) {
  21. echo "<CENTER>Please choose at least one list.</CENTER>";
  22. $bon--;
  23. }
  24. if ($bon == "3" ) {
  25. confirm();
  26. }
  27. else {
  28. echo "<CENTER><H4>Error. Please click <a href='javascript:history.go(-1)'>here</a>";
  29. }
  30. }
  31. else {
  32. proceed();
  33. }
  34. function confirm() {
  35. global $mail, $name, $list, $sub, $accept, $mlist, $REMOTE_HOST, $SERVER_NAME, $REMOTE_ADDR;
  36. echo "<CENTER><H2>Confirmation</H2><H5>To change anything, click <a href='javascript:history.go(-1)'>here</a></H5>";
  37. if ($sub == "off" ) {
  38. echo "Operation in progress : <I>Unsubscribe</I><BR>";
  39. }
  40. if ($sub == "on" ) {
  41. echo "Operation in progress : <I>Subscribe</I><BR>";
  42. }
  43. echo "Name : <I>", $name, "</I><BR>";
  44. echo "E-mail : <I>", $mail, "</I><BR>";
  45. echo "Lists you're applying for : <I>";
  46. if($list) {
  47. while(list($key,$val)=each($list)) {
  48. if($mlist == "" ) {
  49. $mlist = $mlist.$val;
  50. }
  51. else {
  52. $mlist = $mlist.",".$val;
  53. }
  54. }
  55. }
  56. else
  57. $list=array();
  58. echo $mlist;
  59. echo '<form method="POST" action="'.$PHP_SELF.'">';
  60. echo '<input type=hidden name="name" value="'.$name.'">';
  61. echo '<input type=hidden name="mail" value="'.$mail.'">';
  62. echo '<input type=hidden name="sub" value="'.$sub.'">';
  63. echo '<input type=hidden name="mlist" value="'.$mlist.'">';
  64. echo '<input type=hidden name="accept" value="1">';
  65. echo '<input type="submit" value="Send">';
  66. }
  67. function proceed() {
  68. global $mail, $name, $list, $sub, $accept, $mlist, $REMOTE_HOST, $SERVER_NAME, $REMOTE_ADDR;
  69. if ($REMOTE_HOST == "" ) {                   //Vérification
  70. $REMOTE_HOST = "N/A";                       //Des variables
  71. }
  72. if ($SERVER_NAME == "" ) {                   //S'il existe
  73. $SERVER_NAME = "N/A";                       //Sinon remplace
  74. }
  75. if ($REMOTE_ADDR == "" ) {                   //Par N/A
  76. $REMOTE_ADDR = "N/A";                       //Meilleur présentation
  77. }
  78. $msg = "\nDate: ".date('l dS of F Y h:i:s A')."\nServer: ".$SERVER_NAME."\nIP: ".$REMOTE_ADDR." [".$REMOTE_HOST."]\n----------------------------------------\n\nName : ".$name."\nE-mail : ".$mail."\nLists ".$mlist;
  79. $msg2 = "Subscribe\n\nName : $name\nE-mail : $mail\nLists $mlist\n";
  80. $msg3 = "Unsubscribe\n\nName : $name\nAE-mail : $mail\nLists $mlist\n";
  81. $enteter = "Date: ".date("D, j M Y H:i:s" )."\n"."X-Mailer: K-ML"; 
  82. $entete  = "From: $name <$mail> \n".$enteter;
  83. $entete2 = "From: ADMIN <ADMIN@MAIL.COM> \n".$enteter;
  84. $f = fopen ("mlist.dat", "a" );
  85. if ($sub == "on" ) {
  86. $contenu = "SUB\n$name\n$mail\n$mlist\n";
  87. fputs($f, $contenu);
  88. //--> Removed by K-MLmail("ADMIN <mkinney@ettaingroup.com>", "[K-ML] Subscribe", "----------------------------------------\nSubscribe".$msg, $entete);
  89. mail("$name <$mail>", "[K-ML] Subscribe", $msg2, $entete2);
  90. }
  91. else {
  92. $contenu = "UNSUB\n$name\n$mail\n$mlist\n";
  93. fputs($f, $contenu);
  94. //--> Removed by K-MLmail("ADMIN <mkinney@ettaingroup.com>", "[K-ML] Unsubscribe", "----------------------------------------\nUnsubscribe".$msg, $entete);
  95. mail("$name <$mail>", "[K-ML] Unsubscribe", $msg3, $entete2);
  96. }
  97. fclose($f);
  98. echo "<CENTER>Request sent successfully !<BR>Click <A HREF='http://www.charlottencstateclub.com'>here</a> to get back to the main page";
  99. }
  100. ?>

mood
Publicité
Posté le 13-08-2002 à 16:48:59  profilanswer
 

n°194718
zion
Plop
Posté le 13-08-2002 à 16:50:26  profilanswer
 


Change le niveau de report d'erreur  ;)


---------------
Informaticien.be - Lancez des défis à vos amis
n°194719
zion
Plop
Posté le 13-08-2002 à 16:53:34  profilanswer
 

http://www.php.net/manual/en/funct [...] orting.php
 
error_reporting  (E_ERROR | E_WARNING | E_PARSE);
 
 
Sinon, c'est juste du au fait que la variable $name n'existe pas, mais bon, c'est juste un hint, a toi de voir si tu veux y préter attention ou pas.


---------------
Informaticien.be - Lancez des défis à vos amis
n°194720
Kyle_Katar​n
Posté le 13-08-2002 à 16:53:57  profilanswer
 

le problème est que c'est le serveur d'une boite qui se sert de ce script et d'un de mes softs (K-ML, qui génère justementce script)
 
Faut déclarer les varibles comment pour pas avoir ce genre de message ?

n°194722
zion
Plop
Posté le 13-08-2002 à 16:55:37  profilanswer
 

Ehm... Tu vas avoir d'autres problèmes aussi, parce que sur les derniers PHP avec la configuration standard, les variables sont pas auto déclarées, cfr 50 millions de topics ici.
 


---------------
Informaticien.be - Lancez des défis à vos amis
n°194723
Kyle_Katar​n
Posté le 13-08-2002 à 16:55:44  profilanswer
 

merci

n°194735
Kyle_Katar​n
Posté le 13-08-2002 à 17:14:25  profilanswer
 

En fait j'utilise ce script avec la page HTML suivante. Sur le serveur "a erreur de déclaration" dont je parle, ton bout de code fait bien disparaitre les erreurs mais j'ai un prob car visiblement les données passent pas du html vers le script.
Voilà la page :  

Code :
  1. <!-- saved from url=(0022)http://internet.e-mail -->
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
  5. <title>K-ML</title>
  6. </head>
  7. <body>
  8. <P align="center"><font face="Arial">test</font></P>
  9. <hr color="#000000" width="60%" size="1">
  10. <form method="POST" action="sub.php">
  11.   <p> </p>
  12.   <div align="center">
  13.     <center>
  14.     <table border="1" cellpadding="0" cellspacing="0" width="79%" id="AutoNumber2">
  15.       <tr>
  16.         <td width="100%"> <div align="center">
  17.   <center>
  18.   <table border="0" width="63%" id="AutoNumber1" height="131" cellspacing="0" cellpadding="0">
  19.     <tr>
  20.       <td width="41%" height="22"><font face="Arial">Name :</font></td>
  21.       <td width="59%" height="22"><input type="text" name="name" size="33"></td>
  22.     </tr>
  23.     <tr>
  24.       <td width="41%" height="22"><font face="Arial">E-mail :</font></td>
  25.       <td width="59%" height="22"><input type="text" name="mail" size="33"></td>
  26.     </tr>
  27.     <tr>
  28.       <td width="41%" height="21"><font face="Arial">Options :</font></td>
  29.       <td width="59%" height="21"><font face="Arial">
  30.       <input type="radio" value="on" checked name="sub">Subscribe 
  31.       <input type="radio" name="sub" value="off">Unsubscribe</font></td>
  32.     </tr>
  33.     <tr>
  34.       <td width="41%" height="55"><font face="Arial">Lists :</font></td>
  35.       <td width="59%" height="22"><font face="Arial"><B>test</B></font></td><input type="hidden" name="list[]" value="test">
  36.     </tr>
  37.   </table>
  38.   </center>
  39. </div>
  40.         <p align="center"><input type="submit" value="Send"><input type="reset" value="Reset"><br>
  41.  </td>
  42.       </tr>
  43.     </table>
  44.     </center>
  45.   </div>
  46. <div align="center">
  47.   <center>
  48.   <p> </p>
  49.   </center>
  50. </div>
  51. </form>
  52. </body>
  53. </html>

n°194736
Kyle_Katar​n
Posté le 13-08-2002 à 17:15:18  profilanswer
 

sur ce serveur quoi qu'on mette dans nom et email, le script mets invalid email, invalid name, please choose at least one list.... comme si il n'y avait rien sur la page HTML !

n°194738
zion
Plop
Posté le 13-08-2002 à 17:20:13  profilanswer
 

:heink:  
 
Je t'ai répondu plus haut que les variables sur cette version sont probablement plus déclarées.
 
Cfr 50millions +1 topic la dessus  :p


---------------
Informaticien.be - Lancez des défis à vos amis
n°194740
Kyle_Katar​n
Posté le 13-08-2002 à 17:21:25  profilanswer
 

oui, mais comment corriger mon code ? y'a bien moyen de le faire marcher non ?

mood
Publicité
Posté le 13-08-2002 à 17:21:25  profilanswer
 

n°194742
antp
Super Administrateur
Champion des excuses bidons
Posté le 13-08-2002 à 17:21:54  profilanswer
 

vais être gentil :
$_GET['nom variable'] contient chaque variable


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°194743
Kyle_Katar​n
Posté le 13-08-2002 à 17:24:14  profilanswer
 

c'est à dire ?
 
parceque c'est pas moi qui code le php de mon softs d'hab et mon codeur est abscent et je dois tout corriger.... je dois faire quoi là antp ??
 
merci de votre aide ;-)

n°194745
zion
Plop
Posté le 13-08-2002 à 17:25:30  profilanswer
 

T'as vraiment pas envie de la faire cette recherche? :/
 
Allez, un effort  :D


---------------
Informaticien.be - Lancez des défis à vos amis
n°194746
zion
Plop
Posté le 13-08-2002 à 17:27:54  profilanswer
 
n°194747
Kyle_Katar​n
Posté le 13-08-2002 à 17:30:00  profilanswer
 

ok merci... faut juste que je comprenne comment ça marche....
 
Dans mon cas est ce que

Code :
  1. reset ($_POST);
  2. while (list ($clef, $valeur)=each($_POST)){
  3. ${$clef}=$valeur;
  4. }


 
utilisé brut comme ça en haut de mon script suffit ou pas ? faut il le modifier ou pas ?

n°194767
Kyle_Katar​n
Posté le 13-08-2002 à 17:45:58  profilanswer
 

je viens de le mettre et brut ça corrige le bug mais maintenant après la "confirmation" il affiche ça :

Code :
  1. Warning: Failed to Connect in D:\Inetpub\charlottencstateclub\sub.php on line 122

  uniquement sur le serveur a erreurs, pas sur le mien...


Message édité par Kyle_Katarn le 13-08-2002 à 17:46:34
n°194786
zion
Plop
Posté le 13-08-2002 à 18:31:40  profilanswer
 

Ouai et?
c'est laquelle la ligne 122, pas envie de compter moi  :p


---------------
Informaticien.be - Lancez des défis à vos amis
n°194802
Kyle_Katar​n
Posté le 13-08-2002 à 19:31:06  profilanswer
 

c'est la commande mail visiblement, en l'enlevant tout marche...
 
ca vient de la config du gars à ton avis ? faut spécifier un smtp valide qqpart ?

n°194806
zion
Plop
Posté le 13-08-2002 à 19:56:43  profilanswer
 

Oui, sous Windows il faut le configurer dans php.ini absolument.  


---------------
Informaticien.be - Lancez des défis à vos amis
n°194811
Kyle_Katar​n
Posté le 13-08-2002 à 20:12:03  profilanswer
 

ok merci, je forwarde l'info....

n°194813
Kyle_Katar​n
Posté le 13-08-2002 à 20:12:57  profilanswer
 

où se trouve php.ini ?

n°194814
zion
Plop
Posté le 13-08-2002 à 20:15:32  profilanswer
 

Kyle_Katarn a écrit a écrit :

où se trouve php.ini ?




 
touche windows+f php.ini  :D  
 


---------------
Informaticien.be - Lancez des défis à vos amis
n°194823
Kyle_Katar​n
Posté le 13-08-2002 à 20:20:32  profilanswer
 

ok transmis ;-)

n°194825
antp
Super Administrateur
Champion des excuses bidons
Posté le 13-08-2002 à 20:22:12  profilanswer
 

Zion a écrit a écrit :

 
 
touche windows+f php.ini  :D  
 
 




 
et si il a pas la touche Windows sur son clavier ? :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°194837
Kyle_Katar​n
Posté le 13-08-2002 à 20:32:06  profilanswer
 

lol

n°194839
zion
Plop
Posté le 13-08-2002 à 20:36:05  profilanswer
 

antp a écrit a écrit :

 
 
et si il a pas la touche Windows sur son clavier ? :D




 
alors il est puni et doit faire de l'ASP  [:ddr555]


---------------
Informaticien.be - Lancez des défis à vos amis
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [PHP] Erreur bizarre. Dois être facile à trouver je pense....

 

Sujets relatifs
PHP - Savoir si un fichier existe[HTML - PHP] P'tit question menu
PHP 4 avec htaccessInterfacer une base de données Access avec PHP c'est possible?
[PHP] objet - méthode appelée etc..Erreur 430 automation ou interface non supporté ??
[PHP] Recuperer l'adresse mac d'un pc ?[URGENT] -PHP- déplacement de fichiers (suite...)
[PHP]Quest. sur l'utilisation de "switch case break" pour des includes[PHP] Dépilement tableaux associatifs
Plus de sujets relatifs à : [PHP] Erreur bizarre. Dois être facile à trouver je pense....


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR