Je ne vois pas pourquoi l'envoi n'envoie pas!

Je ne vois pas pourquoi l'envoi n'envoie pas! - PHP - Programmation

Marsh Posté le 19-05-2007 à 12:43:33    

Bonjour!
 
Je m'adresse à vous parce que je souhaite installer un système de "mini-forum" sur mon site, et cela ne fonctionne pas.
 
N'ayant pas des connaissances assez poussées pour faire ça moi-même, j'ai téléchargé un script "tout prêt", appellé "J-Web Mini-Forum" et disponible ici : http://www.jeunes-webmasters.com/j-web-mini-forum.php
 
Afin de faire un premier essai, j'ai uploadé tous les fichiers sur le FTP de mon site, tels quels.
 
J'ai bien la bonne interface (avec les champs à remplir, etc...), mais lors de l'appui sur le bouton Envoyer, il ne se passe rien sinon une "remise à zéro" des champs remplis.
 
Voici la page concernée : (mini-forum.php)
 

Code :
  1. <html><head>
  2. <link rel="stylesheet" type="text/css" href="style-forum.css">
  3. <TITLE><? echo("J-Web Online :: Exemple du script J-Web Mini Forum v1.0 ::" ); ?></TITLE>
  4. </head><body>
  5. <?
  6. $cpt=0;
  7. $fp = fopen("mini-forum.txt", "r" );
  8. while (!feof($fp))
  9. {
  10.     $ligne = fgets($fp,2000000);
  11.     $login = explode("£",$ligne);
  12.     $stop = sizeof( $login );
  13.     for($x = 0; $x < $stop-1; $x++)
  14. {
  15.     $liste = explode("|",$login[$x]);
  16.    
  17.     for($y = 0;$y <= 4 ;$y++)
  18. {
  19.     $case[$x][$cpt] = $liste[$y];
  20.     $cpt++;
  21. }
  22. $cpt = 0;
  23. }
  24. }
  25. fclose($fp);
  26. // Division en plusieurs pages :
  27. if($stop-1 > 15){
  28. if(!isset($debut) && !isset($fin)){$debut = 1; $fin = 15;}
  29. echo("<center>[ " );
  30. $afficn = 1;
  31. for($alt = 0; $alt <= $stop-2; $alt = $alt+15)
  32. {
  33. $alt2 = $alt+15;
  34. $alt0 = $alt+1;
  35. if ($alt2 > $stop-1){$alt2 = $stop-1;}
  36. if ($debut == $alt0 && $fin == $alt2){echo("<b>" );}
  37. echo("<a href=\"mini-forum.php?debut=$alt0&fin=$alt2\">$afficn </a>" );
  38. if ($debut == $alt0 && $fin == $alt2){echo("</b>" );}
  39. $afficn++;
  40. if ($alt2 < $stop-1)
  41. {
  42. echo(" | " );
  43. }
  44. }
  45. echo("]</center><br>" );
  46. }
  47. else
  48. {
  49. $debut = 1;
  50. $fin = $stop-1;
  51. }
  52. // Dessin du tableau :
  53. $debut = $stop-1-$debut;
  54. $fin = $stop-1-$fin;
  55. for($x = $debut; $x >= $fin; $x--)
  56. {
  57. $ama = "{$case[$x][0]}";
  58. $ama = strtolower($ama);
  59. $ama = ucwords($ama);
  60. $mess = "{$case[$x][2]}";
  61. $mess = strtolower($mess);
  62. $mess = ucwords($mess);
  63. $comm = "{$case[$x][1]}";
  64. $comm = preg_replace("`((?:https?|ftp)://\S+)(\s|\z)`", '<a title="Visiter le site" target="_blank" href="$1">$1</a>$2', $comm);
  65. echo("&nbsp;<img border=\"0\" src=\"forum-bts/puce.gif\">&nbsp;<b><font color=\"#AD84D6\">$ama</font></b> écrit par <i>$mess</i><br>$comm<br><br>" );
  66. }
  67. ?>
  68. <br><p align="center"><img border="0" src="forum-bts/ajout.gif" width="218" height="31"><form method="POST" name="form" action="mini-forum.php">
  69. <input type="text" name="titrems" size="22" value="Titre du message" onClick="javascript:document.form.titrems.value='';">
  70. <input type="text" name="pseudo" size="22" value="Pseudo/Nom" onClick="javascript:document.form.pseudo.value='';"><br>
  71. <textarea style="font-size: 8 pt; font-family: Verdana" rows="10" name="commentaire" cols="47"></textarea><br>
  72.   <img src="forum-bts/2.gif" style="CURSOR: hand" onClick="commentaire.value+=' [main] '">
  73.   <img src="forum-bts/10.gif" style="CURSOR: hand" onClick="commentaire.value+=' [fume] '">
  74.   <img src="forum-bts/3.gif" style="CURSOR: hand" onClick="commentaire.value+=' [cool] '">
  75.   <img src="forum-bts/6.gif" style="CURSOR: hand" onClick="commentaire.value+=' [nul] '">
  76.   <img src="forum-bts/1.gif" style="CURSOR: hand" onClick="commentaire.value+=' [waoo] '">
  77.   <img src="forum-bts/0.gif" style="CURSOR: hand" onClick="commentaire.value+=' [dingue] '">
  78.   <img src="forum-bts/9.gif" style="CURSOR: hand" onClick="commentaire.value+=' [triste] '">
  79.   <img src="forum-bts/5.gif" style="CURSOR: hand" onClick="commentaire.value+=' [idee] '">
  80.   <img src="forum-bts/11.gif" style="CURSOR: hand" onClick="commentaire.value+=' [mechant] '">
  81.   <img src="forum-bts/4.gif" style="CURSOR: hand" onClick="commentaire.value+=' [perplexe] '">
  82.   <img src="forum-bts/8.gif" style="CURSOR: hand" onClick="commentaire.value+=' [amigo] '">
  83.   <img src="forum-bts/7.gif" style="CURSOR: hand" onClick="commentaire.value+=' [love] '">
  84. &nbsp;<INPUT TYPE="submit" value="Valider" name="submit">
  85.   </p></form>
  86. <?
  87. if (isset($submit) AND ($titrems <> "Titre du message" ) AND ($pseudo <> "Pseudo/Nom" ) AND ($commentaire <> "" ))
  88. {
  89. $fp = fopen("mini-forum.txt","a" );
  90. $commentaire = str_replace("\'", "'", $commentaire);
  91. $titrems = str_replace("\'", "'", $titrems);
  92. $titrems = str_replace(">", "&gt;", $titrems);
  93. $titrems = str_replace("<", "&lt;", $titrems);
  94. $pseudo = str_replace("\'", "'", $pseudo);
  95. $commentaire = str_replace('\"', '"', $commentaire);
  96. $titrems = str_replace('\"', '"', $titrems);
  97. $pseudo = str_replace('\"', '"', $pseudo);
  98. $pseudo = str_replace("<", "&lt;", $pseudo);
  99. $pseudo = str_replace(">", "&gt;", $pseudo);
  100. $commentaire = str_replace(">", "&gt;", $commentaire);
  101. $commentaire = str_replace("<", "&lt;", $commentaire);
  102. $commentaire = str_replace(",", ", ", $commentaire);
  103. $commentaire = str_replace(" ,", ", ", $commentaire);
  104. $commentaire = str_replace(" , ", ", ", $commentaire);
  105. $commentaire = str_replace(" .", ". ", $commentaire);
  106. $commentaire = str_replace(" . ", ". ", $commentaire);
  107. $commentaire = str_replace(CHR(10), "<br>", $commentaire);
  108. $commentaire = str_replace("[cool]", "<img align='absmiddle' border='0' src='forum-bts/3.gif'>", $commentaire);
  109. $commentaire = str_replace("[nul]", "<img align='absmiddle' border='0' src='forum-bts/6.gif'>", $commentaire);
  110. $commentaire = str_replace("[waoo]", "<img align='absmiddle' border='0' src='forum-bts/1.gif'>", $commentaire);
  111. $commentaire = str_replace("[dingue]", "<img align='absmiddle' border='0' src='forum-bts/0.gif'>", $commentaire);
  112. $commentaire = str_replace("[triste]", "<img align='absmiddle' border='0' src='forum-bts/9.gif'>", $commentaire);
  113. $commentaire = str_replace("[idee]", "<img align='absmiddle' border='0' src='forum-bts/5.gif'>", $commentaire);
  114. $commentaire = str_replace("[fume]", "<img align='absmiddle' border='0' src='forum-bts/10.gif'>", $commentaire);
  115. $commentaire = str_replace("[mechant]", "<img align='absmiddle' border='0' src='forum-bts/11.gif'>", $commentaire);
  116. $commentaire = str_replace("[main]", "<img align='absmiddle' border='0' src='forum-bts/2.gif'>", $commentaire);
  117. $commentaire = str_replace("[perplexe]", "<img align='absmiddle' border='0' src='forum-bts/4.gif'>", $commentaire);
  118. $commentaire = str_replace("[love]", "<img align='absmiddle' border='0' src='forum-bts/7.gif'>", $commentaire);
  119. $commentaire = str_replace("[amigo]", "<img align='absmiddle' border='0' src='forum-bts/8.gif'>", $commentaire);
  120. fputs($fp, "$titrems|$commentaire|$pseudo" );
  121. fputs($fp,"£" );
  122. fclose($fp);
  123. echo("<script language=\"javascript\">document.location=\"mini-forum.php\";</script>" );
  124. }
  125. elseif (isset($submit))
  126. {
  127. echo("<script language=\"javascript\">alert('Vous devez renseigner votre Nom, le Titre de votre message et laisser un message!');</script>" );
  128. }
  129. ?>
  130. <br><br><center>Script développé par <a href="http://www.jeunes-webmasters.com" target="_blank">Jeunes Webmasters</a><br>J-Web Mini Forum v1.1 tous droits réservés</center>
  131. </body>
  132. </html>


 
 
 
Apparemment, le bouton 'Envoyer' est bien du type 'Submit'...
 
Et ce script écrit dans un fichier texte, que j'ai passé en chmod 777 ...
 
 
 
Quelqu'un sait-il d'où provient le problème de fonctionnement?
 
 
Merci beaucoup !

Reply

Marsh Posté le 19-05-2007 à 12:43:33   

Reply

Marsh Posté le 19-05-2007 à 16:15:47    

Bon, on ne fait pas le débugage de scripts tout fait (surtout un aussi peu à jour que celui là).
 
Parce que le problème est là, ce script n'a tout simplement pas suivi les évolutions de PHP (notamment la manière dont on accède aux données d'un formulaire) ni celle du XHTML (moins grave mais bon, c'est pour la beauté du geste :D)

Reply

Marsh Posté le 19-05-2007 à 17:17:35    

Bonjour naceroth,
 
Et merci d'avoir pris le temps de me répondre.
 
Si j'ai bien compris, cela ne fonctionne pas parce que le langage php a changé, c'est ça?
 
Cela vaudrait-il le coup que je modifie le script ci-dessus pour l'adapter au 'nouveau' langage?
 
Sinon, connaîtrais-tu un script équivalent mais 'à jour' ?
 
Merci beaucoup!!!

Reply

Marsh Posté le 19-05-2007 à 19:01:16    

SiberiaVirtual a écrit :


Si j'ai bien compris, cela ne fonctionne pas parce que le langage php a changé, c'est ça?

 

En gros. Pour l'instant, c'est surtout la configuration de PHP qui a changé mais les versions futures ne te laisseront plus le choix pour ce qui cause ton problème.

 
Citation :

Cela vaudrait-il le coup que je modifie le script ci-dessus pour l'adapter au 'nouveau' langage?

 

Etant plutôt partisan d'un respect relativement strict des normes xhtml, je répondrais non, surtout si tu n'as pas une idée assez claire de ce que tu fais (pas que la théorie soit difficile, mais modifier le code d'un autre est toujours un exercice délicat).

 

//edit :
Ah oui, j'avais oublié la question sur les scripts équivalents. Non, désolé, surtout avec un fichier texte comme bd.


Message édité par naceroth le 19-05-2007 à 19:03:46
Reply

Marsh Posté le 19-05-2007 à 19:52:45    

OK, merci de ta réponse, je vais donc me réorienter vers un autre type de mini-forum...
 
Mais comment puis-je savoir si le script que j'installe est dépassé en ce qui concerne le langage? Est-ce aisément reconnaissable?
 
merci!

Reply

Marsh Posté le 19-05-2007 à 19:59:42    

Sans plonger dans le code tu veux dire ?
 
Regarde déjà la date de création du script (2006 ou plus tard) et la version de php supportée (oublie si c'est PHP 3, le 4 et le 5 devraient avoir un code plus propre).
 
Dans le code même, fait une recherche dans la page php qui traite ton formulaire, si tu trouves un $_POST ou $_GET, c'est bien parti.

Reply

Marsh Posté le 19-05-2007 à 20:10:28    

Ok, merci des conseils!
 
J'abuse peut-être, mais j'ose une dernière question : peut-on trouver un récapitulatif des commandes ayant changé? (j'ai regardé sur le site de php, mais sans succès... ? peut-être l'ai-je loupé...)
 
Merci infiniment!

Reply

Marsh Posté le 19-05-2007 à 20:27:52    

Faut fouiner entre les changelogs (depuis la page de téléchargement tu as un lien qui y conduit) et la page qui concerne les migrations qui en détaillent d'autres.
 
Dans ton cas, c'est la page des directives du php.ini qui explique ton problème (et qui confirme que l'option disparaît dans PHP 6).

Reply

Marsh Posté le 19-05-2007 à 22:47:56    

Merci beaucoup pour ta précieuse aide, je regarde ça!

Reply

Sujets relatifs:

Leave a Replay

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