pb de postdata

pb de postdata - PHP - Programmation

Marsh Posté le 29-03-2005 à 11:58:21    

Bonjour à tous,
J'ai bidouillé un bout de code pour avoir une page de petites annonces sur mon site moto, afin de satisfaire les moto-clubs ...
 
Mais j'ai un petit probleme dans ma plantation !  Dès que l'on rafraichit la page, une fenetre windows m'averti d'un post data.  Et comme la touche Entrée est celle mise par défaut, on valide et BLAM ! on se retrouve avec le dernier post répété autant de fois que l'on rafraichit !  C'est pas pratique du tout !
 
Donc, je voudrais savoir comment faire pour contrer celà ... à noter que je ne souhaite pas une redirection, car je souhaite que la personne ayant posté puisse lire son annonce.
 
voici le code, certainement pas top top, mais bon je débute ...

Code :
  1. <?php
  2. if(!file_exists("annonces.dat" )){$idFicLivre=fopen("annonces.dat","w+" );fputs($idFicLivre,"Fichier Index. Ne pas éditer !\n" );fclose($idFicLivre);}if(!isset($c))$c="";if(!isset($n))$n="";if(!isset($p))$p="";
  3. function coupeMotsLongs($chaine,$ncaracteres){$chaineRes=$chaine;while(ereg("([^ ]{".$ncaracteres."})[^ ]",$chaineRes,$corres)){$partRep=$corres[1];$chaineRes=ereg_replace($partRep,$partRep." <br> ",$chaineRes);}return($chaineRes);}
  4. if($c and$n){
  5. $tdate=getdate();$jour=sprintf("%02.2d",$tdate["mday"])."/".sprintf("%02.2d",$tdate["mon"])."/".$tdate["year"];$heure=sprintf("%02.2d",$tdate["hours"])."H".sprintf("%02.2d",$tdate["minutes"]);$d=$jour." à ".$heure;
  6. $n=htmlentities($n);$n=stripslashes($n);$n=trim($n);
  7. $c=htmlentities($c);$c=str_replace(chr(10)," <br> ",$c);$c=str_replace(chr(13),"",$c);$c=stripslashes($c);$c=trim($c);$idFicLivreCom=fopen("annonces.dat","a+" );fputs($idFicLivreCom,$n);
  8. fputs($idFicLivreCom,"|" );
  9. fputs($idFicLivreCom,$d."|\n" );
  10. fputs($idFicLivreCom,$c."\n" );
  11. fclose($idFicLivreCom);}
  12. $TabLivre=file("annonces.dat" );$nLignesTabLivre=count($TabLivre)-1;$nCommentaires=$nLignesTabLivre/2;for($compt=1;$compt<=$nCommentaires;$compt++){$nom[$compt]=trim(stripslashes(strtok($TabLivre[($compt*2)-1],"|" )));$date[$compt]=trim(stripslashes(strtok("|" )));$commentaire[$compt]=trim(stripslashes($TabLivre[($compt*2)]));}
  13. if($n and$c){print("<table align=\"center\" width=\"$largeurTableauxA\" border=\"1\"> \n" );print("<tr><td bgcolor=\"$couleurFondLigneNomAuteurTableauA\" height=\"30\"> \n" );print("<center> \n" );print("<font face=\"$policeLignesNomAuteurTableauA\" color=\"$couleurPoliceLignesNomAuteurTableauA\" size=\"-1\"> \n" );print("<b>N'oubliez pas de signaler au webmaster la fin de validité de votre annonce. Merci.</b> \n" );print("</font> \n" );print("</center> \n" );print("</td></tr> \n" );print("</table> \n" );print("<br> \n" );}
  14. if(!$p){$p=1;}if($nCommentaires>0){print("<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"$largeurTableauxA\" align=\"center\" bgcolor=\"$couleurBordTableauA\"> \n" );print("<tr><td> \n" );print("<table border=\"0\" width=\"100%\" cellspacing=\"1\" align=\"center\" cellpadding=\"5\"> \n" );print("<tr> \n" );print("<td bgcolor=\"$couleurFondEnteteTableauA\" height=\"30\"> \n" );if($nCommentaires>$NombreComParPage){print("<center> \n" );print("<font face=\"$policeEnteteTableauA\" color=\"$couleurPoliceEnteteTableauA\" size=\"-2\"> \n" );print("<b>pages</b> &nbsp; \n" );print("<b> \n" );for($a=1;$a<=min($NombreMaxPages,floor((($nCommentaires-1)/$NombreComParPage)+1));$a++){if($a==$p)print("$a &nbsp; \n" );else print("<a href=\"petites-annonces.php?p=$a\">$a</a> &nbsp; \n" );}print("</b> \n" );print("</font> \n" );print("</center> \n" );}print("<font face=\"$policeEnteteTableauA\" color=\"$couleurPoliceEnteteTableauA\" size=\"-2\"> \n" );print("<center> \n" );print("<b><a href=\"#ajout\">Poster une Annonce</a></b> <br> \n" );print("</center> \n" );print("</font> \n" );print("</td> \n" );print("</tr> \n" );for($compt=($nCommentaires-(($p-1)*$NombreComParPage));$compt>=max(1,($nCommentaires-($p*$NombreComParPage)+1));$compt--){print("<tr><td bgcolor=\"$couleurFondLigneNomAuteurTableauA\"> \n" );print("<table> \n" );print("<tr> \n" );print("<td width=\"10\">&nbsp;</td> \n" );print("<td> \n" );print("<font face=\"$policeLignesNomAuteurTableauA\" color=\"$couleurPoliceLignesNomAuteurTableauA\" size=\"-1\"><b>".coupeMotsLongs($nom[$compt],$longueurMaxMots)."</b> , le ".$date[$compt]." :</font> \n" );print("</td> \n" );print("</tr> \n" );print("</table> \n" );print("</td></tr> \n" );print("<tr><td bgcolor=\"$couleurFondLigneCommentaireTableauA\"> \n" );print("<table> \n" );print("<tr> \n" );print("<td width=\"20\">&nbsp;</td> \n" );print("<td> \n" );print("<font face=\"$policeLignesCommentairesTableauA\" color=\"$couleurPoliceLignesCommentairesTableauA\" size=\"-1\">".coupeMotsLongs($commentaire[$compt],$longueurMaxMots)."</font>\n" );print("</td> \n" );print("</tr> \n" );print("</table> \n" );print("</td></tr> \n" );}if(($nCommentaires>$NombreComParPage)and$p<=min($NombreMaxPages,floor((($nCommentaires-1)/$NombreComParPage)+1))){print("<tr> \n" );print("<td bgcolor=\"$couleurFondEnteteTableauA\" height=\"20\"> \n" );print("<center> \n" );print("<font face=\"$policeEnteteTableauA\" color=\"$couleurPoliceEnteteTableauA\" size=\"-2\"> \n" );print("<b>pages</b> &nbsp; \n" );print("<b> \n" );for($a=1;$a<=min($NombreMaxPages,floor((($nCommentaires-1)/$NombreComParPage)+1));$a++){if($a==$p)print("$a &nbsp; \n" );else print("<a href=\"petites-annonces.php?p=$a\">$a</a> &nbsp; \n" );}print("</b> \n" );print("</font> \n" );print("</center> \n" );print("</td> \n" );print("</tr> \n" );}print("</table> \n" );print("</td></tr> \n" );print("</table> \n" );print("<br> \n" );}
  15. if($nCommentaires<1){print("<table align=\"center\" width=\"$largeurTableauxA\" border=\"1\"> \n" );print("<tr><td bgcolor=\"$couleurFondLigneNomAuteurTableauA\" height=\"30\"> \n" );print("<center> \n" );print("<font face=\"$policeLignesNomAuteurTableauA\" color=\"$couleurPoliceLignesNomAuteurTableauA\" size=\"-1\"> \n" );print("<b>Aucune annonce n'est actuellement en ligne.</b> \n" );print("</font> \n" );print("</center> \n" );print("</td></tr> \n" );print("</table> \n" );print("<br> \n" );}
  16. print("<a name=\"ajout\"></a>" );print("<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"$largeurTableauxB\" align=\"center\" bgcolor=\"$couleurBordTableauB\"> \n" );print("<tr><td> \n" );print("<table border=\"0\" width=\"100%\" cellspacing=\"1\" align=\"center\" cellpadding=\"5\"> \n" );print("<tr> \n" );print("<td bgcolor=\"$couleurFondEnteteTableauB\" height=\"30\"> \n" );print("<font face=\"$policeEnteteTableauB\" color=\"$couleurPoliceEnteteTableauB\" size=\"-1\"> \n" );if($nCommentaires>0)print("<b><center>Poster une annonce :</center></b> \n" );else print("<b><center>Poster une annonce :</center></b> \n" );print("</font> \n" );print("</td> \n" );print("</tr> \n" );print("<tr><td bgcolor=\"$couleurFondFormulaireTableauB\"> \n" );print("<form method=\"POST\" action=\"petites-annonces.php\"> \n" );print("<center> \n" );print("<br> \n" );print("<font face=\"$policeFondFormulaireTableauB\" color=\"$couleurPoliceFondFormulaireTableauB\" size=\"-1\"> \n" );print("<b>Moto Club</b> ou <b>Prénom</b> :&nbsp; \n" );print("</font> \n" );print("<input type=\"text\" name=\"n\" size=\"64\"> \n" );print("<br><br> \n" );print("<textarea rows=\"6\" name=\"c\" cols=\"70\" wrap=\"virtual\"></textarea> \n" );print("<br> \n" );print("<input type=\"submit\" value=\"Envoyer !\" name=\"B1\"> \n" );print("</form> \n" );print("</td></tr> \n" );print("</table> \n" );print("</td></tr> \n" );print("</table> \n" );
  17. ?>

Reply

Marsh Posté le 29-03-2005 à 11:58:21   

Reply

Marsh Posté le 29-03-2005 à 12:04:05    

[:dark-imperator]  
Joli code, bien formaté et lisible [:zaib3k]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 29-03-2005 à 12:09:30    


 
Passe par une page intermédiaire, comme quand on poste un message ici sur le forum


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 29-03-2005 à 12:34:10    

Y'a un bug ligne 33, colonne 542.

Reply

Marsh Posté le 29-03-2005 à 12:45:28    

comme avec la Réponse rapide en bas de page ...  
 
je sais pas faire !  Comment on redirige APRES avoir validé ?
 
Merci de votre aide

Reply

Marsh Posté le 29-03-2005 à 12:46:56    

el muchacho a écrit :

Y'a un bug ligne 33, colonne 542.


euh ... quel bug ? par ce qu'il faut dire que ce code est associé à 2 autres <? php ?> (qui sont la mise en forme)

Reply

Marsh Posté le 29-03-2005 à 12:49:09    

Ca me fait penser, quelqu'un connait un indenteur de code PHP kimarch(c) ?


---------------
Moi, j'aime pas les signatures - J'écoute actuellement :
Reply

Marsh Posté le 29-03-2005 à 14:01:52    


 
Si tu n'affiches rien dans la page, un header('location: autrepage.php');
Si tu affiches quelque chose, comme sur le forum, avec un <meta> :
 

Code :
  1. <meta http-equiv="Refresh" content="0;url=/forum2.php?post=66996&amp;cat=10&amp;page=1&amp;cache=cache&amp;config=hardwarefr.inc&amp;p=1&amp;sondage=0&amp;owntopic=1&amp;subcat=0#t1028218" />


Message édité par antp le 29-03-2005 à 14:02:41

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 29-03-2005 à 15:28:12    

oky, merci à tous !
:hello:
j'ai réussi à faire la redirection !
Ca fonctionne donc sans POSTDATA maintenant ! :)

Reply

Sujets relatifs:

Leave a Replay

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