bobby76 | Bonjour,
Le livre d'or de mon site fonctionne sans problème avec mon ftp chez Free, mais avec l'hébergeur que j'ai récemment pris, l'affichage est bon mais pas moyen d'envoyer un commentaire ou de faire défiler les différentes pages (contenant les commentaires). Le script est écrit en php4, et ayant très peu de bases dans ce langage, je n'ai pas réussi a déterminer quelles fonctions ou bout de code a changer pour le rendre compatible avec php5. A ce que j'ai pu trouver sur le net il y aurai très peu de modifications faire... Pouvez vous me donner quelques pistes?
Voici le scripte du livre d'or (Comment'R v1) :
Code :
- <?php
- // #####################################################################################
- // ****************************************************************************************
- // Vérification du nombre de caractères envoyés dans le commentaire éventuellement posté.
- // (certains utilisateurs mal intentionnés pourraient être tentés d'envoyer des commentaires
- // comportant un très grand nombre de caractères, dans le but de ralentir le temps
- // d'affichage du livre d'or)
- // ****************************************************************************************
- if((@ strlen($n)>$longueurMaxCommentaires) or (@ strlen($c)>$longueurMaxCommentaires)) {
- print("Désolé, la taille maximale des commentaires pouvant être postés est limitée à $longueurMaxCommentaires caractères.<br>\n" );
- print("<a href=\"livredor.php\">Retour au Livre d'Or</a>\n" );
- exit;
- }
- // #####################################################################################
- ?>
- <?php
- // #####################################################################################
- // ***********************************************************************************
- // Création du fichier livre.dat s'il n'existe pas
- // ***********************************************************************************
- if(!file_exists("ADmod/livre.dat" )) {
- $idFicLivre=fopen("ADmod/livre.dat","w+" );
- fputs($idFicLivre,"Fichier Index. Ne pas éditer !\n" );
- fclose($idFicLivre);
- }
- if(!isset($c)) $c="";
- if(!isset($n)) $n="";
- if(!isset($p)) $p="";
- // ***********************************************************************************
- // Définition de la fonction coupeMotsLongs($chaine,$ncaracteres) destinée à découper
- // mots contenants plus de $ncaracteres caractères.
- // (certains utilisateurs envoient parfois des textes contenant des mots très long,
- // ce qui a pour effet d'altérer la structure d'affichage des tableaux)
- // ***********************************************************************************
- function coupeMotsLongs($chaine,$ncaracteres) {
- $chaineRes=$chaine;
- while(ereg("([^ ]{".$ncaracteres."})[^ ]",$chaineRes,$corres)) {
- $partRep=$corres[1];
- $chaineRes=ereg_replace($partRep,$partRep." <br> ",$chaineRes);
- }
- return($chaineRes);
- }
- // ***********************************************************************************
- // Nettoyage et enregistrement des nouveaux commentaires envoyés lors de l'appel du script
- // ***********************************************************************************
- if ($c and $n) {
- // détermination de la date
- $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;
- // nettoyage du nom
- $n=htmlentities($n);
- $n=stripslashes($n);
- $n=trim($n);
- // nettoyage du commentaire
- $c=htmlentities($c);
- $c=str_replace(chr(10)," <br> ",$c);
- $c=str_replace(chr(13),"",$c);
- $c=stripslashes($c);
- $c=trim($c);
- $idFicLivreCom=fopen("ADmod/livre.dat","a+" );
- fputs($idFicLivreCom,$n); // 1ère ligne
- fputs($idFicLivreCom,"|" ); //
- fputs($idFicLivreCom,$d."|\n" ); //
- fputs($idFicLivreCom,$c."\n" ); // 2ème ligne
- fclose($idFicLivreCom);
- }
- // ***********************************************************************************
- // Lecture des messages déjà postés dans le livre, et stockage des données
- // dans les tableaux $nom et $commentaire
- // ***********************************************************************************
- $TabLivre=file("ADmod/livre.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)]));
- }
- // ***********************************************************************************
- // Affichage d'un message de remerciement au cas ou un commentaire a été envoyé en même
- // temps que l'appel du script
- // ***********************************************************************************
- 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>Merci pour votre participation !</b> \n" );
- print("</font> \n" );
- print("</center> \n" );
- print("</td></tr> \n" );
- print("</table> \n" );
- print("<br> \n" );
- }
- // ***********************************************************************************
- // Affichage des commentaires déjà postés dans un tableau
- // ***********************************************************************************
- if(!$p) {
- $p=1; // $p représente le numéro de la page de commentaire à afficher : par défaut, $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" );
- print("<font face=\"$policeEnteteTableauA\" color=\"$couleurPoliceEnteteTableauA\" size=\"-2\"> \n" );
- print("<center> \n" );
- print("<b><a href=\"#ajout\">Ajouter un nouveau commentaire</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\"> </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\"> </td> \n" );
- print("<td> \n" );
- print("<font face=\"$policeLignesCommentairesTableauA\" color=\"$couleurPoliceLignesCommentairesTableauA\">".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> \n" );
- print("<b> \n" );
- for($a=1;$a<=min($NombreMaxPages,floor((($nCommentaires-1)/$NombreComParPage)+1));$a++) {
- if($a==$p) print("$a \n" );
- else print("<a href=\"livredor.php?p=$a\">$a</a> \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" );
- }
- // *********************************************************************************************
- // Affichage d'un message d'avertissement au cas où aucun commentaire n'a été encore été envoyé
- // *********************************************************************************************
- 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>Le livre d'or ne comporte encore aucun commentaire.</b> \n" );
- print("</font> \n" );
- print("</center> \n" );
- print("</td></tr> \n" );
- print("</table> \n" );
- print("<br> \n" );
- }
- // ***********************************************************************************
- // Affichage du formulaire permettant de poster un nouveau commentaire
- // ***********************************************************************************
- 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>Ajouter un nouveau commentaire :</center></b> \n" );
- else print("<b><center>Envoyer un premier commentaire :</center></b> \n" );
- print("</font> \n" );
- print("</td> \n" );
- print("</tr> \n" );
- print("<tr><td bgcolor=\"$couleurFondFormulaireTableauB\"> \n" );
- print("<form method=\"POST\" action=\"livredor.php\"> \n" );
- print("<center> \n" );
- print("<br> \n" );
- print("<font face=\"$policeFondFormulaireTableauB\" color=\"$couleurPoliceFondFormulaireTableauB\" size=\"-1\"> \n" );
- print("<b>Votre nom</b> : \n" );
- print("</font> \n" );
- print("<input type=\"text\" name=\"n\" size=\"24\"> \n" );
- print("<br><br> \n" );
- print("<textarea rows=\"6\" name=\"c\" cols=\"55\" 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" );
- // ################################################################
- ?>
|
Message édité par bobby76 le 18-08-2010 à 17:10:10
|