Bonjour,
J’ai récupéré le script d’un forum et modifié il y a 10 ans pour l’insérer dans mon site.
Mais s’il tourne sous php 5.3, ce n’est pas le cas pour 5.4 : des url avec variables ne s’affichent plus.
Le script est constitué de multiples pages qui s’imbriquent : je vais essayer de mettre à la suite ce que je pense porter les (l') erreur(s).
L’url : nav.php3?page=voirforum&boardid=2 (c’est cette page qui doit afficher le forum N°2)
Pouvez-vous m'orienter pour que cela tourne?
PS: j'ai déjà réglé un problème de $HTTP_POST_VARS et $HTTP_COOKIE_VARS
Modifié par soriro (22 Jan 2017 - 13:58)
J’ai récupéré le script d’un forum et modifié il y a 10 ans pour l’insérer dans mon site.
Mais s’il tourne sous php 5.3, ce n’est pas le cas pour 5.4 : des url avec variables ne s’affichent plus.
Le script est constitué de multiples pages qui s’imbriquent : je vais essayer de mettre à la suite ce que je pense porter les (l') erreur(s).
L’url : nav.php3?page=voirforum&boardid=2 (c’est cette page qui doit afficher le forum N°2)
Pouvez-vous m'orienter pour que cela tourne?
PS: j'ai déjà réglé un problème de $HTTP_POST_VARS et $HTTP_COOKIE_VARS
/* navbar.php3 */
$_GET['navbar'];
include ("skeltons/".$navbar.".navbar.php3");
$skel_navbar=str_replace("#col1#",$col_1,$skel_navbar);
$skel_navbar=str_replace("#col2#",$col_2,$skel_navbar);
$skel_navbar=str_replace("#col3#",$col_3,$skel_navbar);
$skel_navbar=str_replace("#col4#",$col_4,$skel_navbar);
list($navbar_haut,$navbar_forum,$navbar_sujet,$navbar_bas)=explode("#separe#",$skel_navbar);
$navbar_haut=str_replace("#accueil#","<a href=\"index.php3\">Accueil</a>",$navbar_haut);
$navbar_haut=str_replace("#logo#","<img src=\"images/logo.gif\">",$navbar_haut);
echo $navbar_haut;
if (isset($boardid))
{
$navbar_forum=str_replace("#nomforum#","<a href=\"nav.php3?page=voirforum&boardid=".$boardid."\">".$nom_forum."</a>",$navbar_forum);
echo $navbar_forum;
}
if (isset($postid))
{
if ($page=="editer" || $page=="effacer")
{
$postid_nav=$origin;
} else {
$postid_nav=$postid;
}
$navbar_sujet=str_replace("#nomsujet#","<a href=\"nav.php3?page=voirsujet&boardid=".$boardid."&postid=".$postid_nav."\">".$nom_sujet."</a>",$navbar_sujet);
echo $navbar_sujet;
}
echo $navbar_bas;
?>
<?php
/* Include high_includes.php3 */
$_GET['scheme'];
include("variables.dforum.inc.php");
/* include("inc-forum-maintenance-dforum.inc"); */
require ("admin/dfcfg.php3");
$db = mysql_connect($dburl, $dblogin , $dbpass ) or die("Le forum ne peut pas se connecter à la base de données, veuillez réessayer plus tard.");
mysql_query("SET NAMES UTF-8");
mysql_select_db($dbtable,$db);
require ("includes/cookies.php3");
require ("includes/fonc.php3");
require ("includes/getreglages.php3");
require ("includes/getinfo.php3");
include ("colors/".$scheme.".scheme.php3");
require ("includes/header.php3"); /* Recherche fdans les forums, Les autres forums, Nouveau sujet, Répondre */
/* require ("includes/navbar.php3"); Fil d ariane deplacé dans header.php3 pour qu il soit tout en haut */
echo "<br>";
<?php
/* header.php3 */
$_GET['my_header'];
if ($my_header!="")
{
if (strpos($my_header,"http")!=false) {
die("Impossible d'inclure un fichier externe.");
}
if (strpos($my_header,"admin")!=false) {
die("Impossible d'inclure un fichier contenant admin dans le path.");
}
if (strpos($my_header,"www")!=false) {
die("Impossible d'inclure un fichier contenant www dans le path.");
}
if (strpos($my_header,"ftp")!=false) {
die("Impossible d'inclure un fichier externe.");
}
if (strpos($my_header,":/")!=false) {
die("Impossible d'inclure un fichier externe.");
}
if (strpos($my_header,"dfcfg")!=false) {
die("Impossible d'inclure un fichier contenant dfcfg dans le path.");
}
include ($my_header);
} else {
?>
<html>
<head>
<title><?php echo $dftitre." - ".substr($dfpagedes, 3) ;?></title>
<? $sujet_post = substr(strrchr($dfpagedes, "::"), 1); ?>
<META NAME="description" CONTENT="Sujet du dialogue maintenance : <? echo $sujet_post ?> - <? echo substr($dfpagedes, 3) ?>" >
</head>
<body>
<!-- Menu sous l'entete -->
<div class="police">
<span style="font-family: Arial ; font-size:18px; bold; color: #449AF5;">
Bienvenue sur le forum
</span>
<br><br>
<hr>
</div>
</td>
</table>
</div>
</div>
<!-- Début du texte --> <div class="texte">
<!-- Fil d'ariane -->
<? require ("includes/navbar.php3"); /* Include du fil d'ariane */ ?>
<body bgcolor="<?php echo $col_body;?>" text="<?php echo $col_text;?>" link="<?php echo $col_link;?>" vlink="<?php echo $col_vlink;?>" alink="<?php echo $col_alink;?>">
<?php
}
echo "Header:".$header;
if (!isset($header) || strpos($header,".")!=false)
{
die("header invalide.");
}
include ("skeltons/".$header.".header.php3");
$str_recherche="<form method=\"post\" action=\"nav.php3?page=recherche\"><input type=\"hidden\" name=\"rule\" value=\"ANY\"><input type=\"text\" name=\"searchbox\"><input type=\"submit\" name=\"Submit\" value=\"OK\"></form>";
if ($ident==1)
{
$str_enregistrer="<a href=\"nav.php3?page=senregistrer\">S'enregistrer</a>";
$str_profil="<a href=\"nav.php3?page=profil\">Profil</a>";
$str_enregistrerbar="<a href=\"nav.php3?page=senregistrer\">S'enregistrer</a> |";
$str_profilbar="<a href=\"nav.php3?page=profil\">Profil</a> |";
} else {
$str_enregistrer="";
$str_enregistrerbar="";
$str_profil="";
$str_profilbar="";
}
if (isset($boardid))
{
$str_nouveau="<a href=\"nav.php3?page=nouveau&boardid=$boardid\">Nouveau sujet</a>";
$str_nouveaubar="<a href=\"nav.php3?page=nouveau&boardid=$boardid\">Nouveau sujet</a> |";
$str_nouveauimg="<a href=\"nav.php3?page=nouveau&boardid=$boardid\"><img src=\"images/nouveau.jpg\" border=\"0\"></a>";
} else {
$str_nouveau="";
$str_nouveaubar="";
$str_nouveauimg="";
}
if (isset($postid) && $page!="repondre" )
{
$str_reponse="<a href=\"nav.php3?page=repondre&boardid=$boardid&postid=$postid\">Répondre</a>";
$str_reponsebar="<a href=\"nav.php3?page=repondre&boardid=$boardid&postid=$postid\">Répondre</a> |";
$str_reponseimg="<a href=\"nav.php3?page=repondre&boardid=$boardid&postid=$postid\"><img src=\"images/repondre.jpg\" border=\"0\"></a>";
} else {
$str_reponse="";
$str_reponsebar="";
$str_reponseimg="";
}
if ($page=="voirsujet")
{
if ($status[0]=="closed"){
$str_reponse="";
$str_reponsebar="";
$str_reponseimg="";
}
}
if ($page=="voirforum")
{
if ($thread_total<=20)
{
$str_precedent="Voir les 20 précédents";
$str_precedentbar="Voir les 20 précédents |";
} else {
$str_precedent="<a href=\"nav.php3?page=voirforum&boardid=$boardid&limite_bas=".($limite_bas+20)."\">Voir les 20 précédents</a>";
$str_precedentbar="<a href=\"nav.php3?page=voirforum&boardid=$boardid&limite_bas=".($limite_bas+20)."\">Voir les 20 précédents</a> |";
}
if ($limite_bas!=0)
{
$str_suivant="<a href=\"nav.php3?page=voirforum&boardid=$boardid&limite_bas=".($limite_bas-20)."\">Voir les 20 suivants</a>";
$str_suivantbar="<a href=\"nav.php3?page=voirforum&boardid=$boardid&limite_bas=".($limite_bas-20)."\">Voir les 20 suivants</a> |";
} else {
$str_suivant="Voir les 20 suivants";
$str_suivantbar="Voir les 20 suivants |";
}
} else {
$str_precedent="";
$str_suivant="";
$str_precedentbar="";
$str_suivantbar="";
}
$skel_header=str_replace("#lienrecherche#","<a href=\"nav.php3?page=recherche\">Rechercher</a>",$skel_header);
$skel_header=str_replace("#listeforums#",$out_listeforums,$skel_header);
$skel_header=str_replace("#recherche#",$str_recherche,$skel_header);
$skel_header=str_replace("#senregistrer#",$str_enregistrer,$skel_header);
$skel_header=str_replace("#senregistrerbar#",$str_enregistrerbar,$skel_header);
$skel_header=str_replace("#profil#",$str_profil,$skel_header);
$skel_header=str_replace("#profilbar#",$str_profilbar,$skel_header);
$skel_header=str_replace("#aide#","<a href=\"nav.php3?page=aide\" target=\"_blank\">Aide</a>",$skel_header);
$skel_header=str_replace("#accueil#","<a href=\"index.php3\">Accueil</a>",$skel_header);
$skel_header=str_replace("#nouveau#",$str_nouveau,$skel_header);
$skel_header=str_replace("#repondre#",$str_reponse,$skel_header);
$skel_header=str_replace("#nouveauimg#",$str_nouveauimg,$skel_header);
$skel_header=str_replace("#repondreimg#",$str_reponseimg,$skel_header);
$skel_header=str_replace("#nouveaubar#",$str_nouveaubar,$skel_header);
$skel_header=str_replace("#repondrebar#",$str_reponsebar,$skel_header);
$skel_header=str_replace("#stats#","<a href=\"nav.php3?page=stats\" target=\"_blank\">Stats</a>",$skel_header);
$skel_header=str_replace("#logo#","<a href=\"$site\" target=\"_blank\"><img src=\"images/logo.gif\" border=\"0\"></a>",$skel_header);
$skel_header=str_replace("#precedent#",$str_precedent,$skel_header);
$skel_header=str_replace("#suivant#",$str_suivant,$skel_header);
$skel_header=str_replace("#precedentbar#",$str_precedentbar,$skel_header);
$skel_header=str_replace("#suivantbar#",$str_suivantbar,$skel_header);
$skel_header=str_replace("#col1#",$col_1,$skel_header);
$skel_header=str_replace("#col2#",$col_2,$skel_header);
$skel_header=str_replace("#col3#",$col_3,$skel_header);
$skel_header=str_replace("#col4#",$col_4,$skel_header);
echo $skel_header;
?>
<?php
/* getinfo.php3
Sert à rassembler les infos d'un thread, de la liste des sujets ou de la liste des forums dans des tableaux
- appel :
$page=[accueil | voirsujet | voirforum];
$boardid=x;
$postid=x;
require ("include/getinfo.php3");
*/
if (isset($boardid))
{
$SQL="SELECT * FROM dforum_boards WHERE id=$boardid";
$result=mysql_query($SQL);
$nom_forum=mysql_result($result,0,"nom");
}
if (isset($postid))
{
$SQL="SELECT * FROM dforum_posts WHERE id=$postid";
$result=mysql_query($SQL);
$nom_sujet=htmlentities(mysql_result($result,0,"post_title"));
}
switch ($page)
{
case "accueil":
$dfpagedes="Accueil";
$SQL="SELECT * FROM dforum_boards ORDER BY id ASC";
$result=mysql_query($SQL);
$board_nbboards=mysql_numrows($result);
$i=0;
while ($i<mysql_numrows($result))
{
$board_nom[$i]=mysql_result($result,$i,"nom");
$board_descr[$i]=mysql_result($result,$i,"description");
$board_moderateur[$i]=mysql_result($result,$i,"moderator");
$board_ident[$i]=mysql_result($result,$i,"ident");
$board_id[$i]=mysql_result($result,$i,"id");
$SQL="SELECT * FROM dforum_posts WHERE post_idboard=".mysql_result($result,$i,"id")." ORDER BY id DESC";
$res_b=mysql_query($SQL);
$board_nbposts[$i]=mysql_numrows($res_b);
if ($board_nbposts[$i]==0)
{
$board_dernierpost[$i]="Aucun post";
$board_dernierauteur[$i]="---";
} else {
$board_dernierpost[$i]=mysql_result($res_b,0,"post_date");
$board_dernierauteur[$i]=mysql_result($res_b,0,"post_author");
}
if (nix_date($board_dernierpost[$i])>$cook_todayvisit)
{
$board_new[$i]=1;
} else {
$board_new[$i]=0;
}
$SQL="SELECT * FROM dforum_posts WHERE post_idboard=".mysql_result($result,$i,"id")." AND post_istopic=1";
$res_c =mysql_query($SQL);
$board_nbsujets[$i]=mysql_numrows($res_c);
$i++;}
break;
case "voirforum":
$dfpagedes=$nom_forum;
if (!isset($limite_bas)) $limite_bas=0;
$SQL="SELECT * FROM dforum_posts WHERE post_idboard=$boardid AND post_istopic=1";
$result=mysql_query($SQL);
$thread_total=mysql_numrows($result);
$SQL="SELECT * FROM dforum_posts WHERE post_idboard=$boardid AND post_istopic=1 ORDER BY post_lastdate DESC LIMIT $limite_bas,20";
$result=mysql_query($SQL);
$thread_nbthreads=mysql_numrows($result);
$i=0;
while ($i<mysql_numrows($result))
{
$thread_id[$i]=mysql_result($result,$i,"id");
$thread_sujet[$i]=htmlentities(mysql_result($result,$i,"post_title"));
$thread_auteur[$i]=mysql_result($result,$i,"post_author");
$thread_date[$i]=mysql_result($result,$i,"post_date");
$thread_dernieredate[$i]=mysql_result($result,$i,"post_lastdate");
$thread_view[$i]=mysql_result($result,$i,"post_view");
$thread_status[$i]=mysql_result($result,$i,"status");
$SQL="SELECT * FROM dforum_posts WHERE post_reply=".$thread_id[$i]." ORDER BY id DESC";
$res_b=mysql_query($SQL);
$thread_dernierauteur[$i]=mysql_result($res_b,0,"post_author");
$thread_nbposts[$i]=mysql_numrows($res_b);
$thread_nbreponses[$i]=$thread_nbposts[$i]-1;
if (nix_date($thread_dernieredate[$i])>$cook_todayvisit)
{
$thread_new[$i]=1;
} else {
$thread_new[$i]=0;
}
$i++;}
break;
case "voirsujet":
$dfpagedes=$nom_forum." :: ".$nom_sujet;
$SQL="SELECT * FROM dforum_posts WHERE post_reply=$postid ORDER by id ASC";
$result=mysql_query($SQL);
$post_nbposts=mysql_numrows($result);
$i=0;
while ($i<mysql_numrows($result))
{
$post_id[$i]=mysql_result($result,$i,"id");
$post_sujet[$i]=htmlentities(mysql_result($result,$i,"post_title"));
$post_auteur[$i]=mysql_result($result,$i,"post_author");
$post_auteuremail[$i]=mysql_result($result,$i,"post_authoremail");
$post_texte[$i]=mysql_result($result,$i,"post_text");
$post_date[$i]=mysql_result($result,$i,"post_date");
$status[$i]=mysql_result($result,$i,"status");
$thread_view=mysql_result($result,0,"post_view");
if ($ident=="1")
{
$SQL="SELECT * FROM dforum_users WHERE user_login='".$post_auteur[$i]."'";
$resaut=mysql_query($SQL);
if ($allowsig=="1")
{
if (chop(mysql_result($resaut,0,"user_sig"))!="")
{
$strsig[$i]="[sigseparator]".mysql_result($resaut,0,"user_sig");
} else {
$strsig[$i]="";
}
} else {
$strsig[$i]="";
}
if ($allowimg=="1")
{
if (chop(mysql_result($resaut,0,"user_img"))!="")
{
$strimg[$i]="<center><br><br><img src=\"".mysql_result($resaut,0,"user_img")."\"></center>";
} else {
$strimg[$i]="";
}
} else {
$strimg[$i]="";
}
} else {
$strsig[$i]=="";
$strimg[$i]=="";
}
$i++;}
if (!isset($overcount))
{
$SQL="UPDATE dforum_posts SET post_view=post_view+1 WHERE id=$postid";
$result=mysql_query($SQL);
}
break;
case "nouveau":
$dfpagedes="Nouveau message";
if ($cook_pass!="") $retenir="CHECKED";
if ($cook_email!="" && $ident!=1) $retenir="CHECKED";
break;
case "repondre":
$dfpagedes="Repondre";
$SQL="SELECT * FROM dforum_posts WHERE id=$postid";
$result=mysql_query($SQL);
$titre="RE: ".mysql_result($result,0,"post_title");
if ($cook_pass!="" && $ident==1) $retenir="CHECKED";
if ($cook_email!="" && $ident!=1) $retenir="CHECKED";
$status=mysql_result($result,0,"status");
break;
case "editer":
$dfpagedes="Edition du message";
$SQL="SELECT * FROM dforum_posts WHERE id=$postid";
$result=mysql_query($SQL);
$SQL="SELECT * FROM dforum_users WHERE user_login='".mysql_result($result,0,"post_author")."'";
$resb=mysql_query($SQL);
$titre=mysql_result($result,0,"post_title");
$texte=mysql_result($result,0,"post_text");
$auteur=mysql_result($result,0,"post_author");
$auteurpass=mysql_result($resb,0,"user_pass");
$origin=mysql_result($result,0,"post_reply");
if ($cook_pass!="" && $ident==1) $retenir="CHECKED";
if ($cook_email!="" && $ident!=1) $retenir="CHECKED";
break;
case "effacer":
$dfpagedes="Effacement du message";
$SQL="SELECT * FROM dforum_posts WHERE id=$postid";
$result=mysql_query($SQL);
$SQL="SELECT * FROM dforum_users WHERE user_login='".mysql_result($result,0,"post_author")."'";
$resb=mysql_query($SQL);
$auteur=mysql_result($result,0,"post_author");
$auteurpass=mysql_result($resb,0,"user_pass");
$istopic=mysql_result($result,0,"post_istopic");
$origin=mysql_result($result,0,"post_reply");
break;
case "profil":
$dfpagedes="Profil";
if (isset($auteur))
{
$SQL="SELECT * FROM dforum_users WHERE user_login='$auteur'";
$result=mysql_query($SQL);
$auteur_email=mysql_result($result,0,"user_email");
$auteur_web=mysql_result($result,0,"user_webpage");
$auteur_sig=mysql_result($result,0,"user_sig");
$auteur_img=mysql_result($result,0,"user_img");
$auteur_nbposts=mysql_result($result,0,"user_nbpost");
} else {
$auteur="";
}
if ($act=="check")
{
$SQL="SELECT * FROM dforum_users WHERE user_login='$login'";
$result=mysql_query($SQL);
if (mysql_numrows($result)==0)
{
$stop="Utilisateur Inconnu.";
} else {
$stop="";
if (md5($pass)!=mysql_result($result,0,"user_pass")) $stop="Mot de passe invalide";
$auteur_email=mysql_result($result,0,"user_email");
$auteur_web=mysql_result($result,0,"user_webpage");
$auteur_sig=mysql_result($result,0,"user_sig");
$auteur_img=mysql_result($result,0,"user_img");
}
}
break;
case "senregistrer":
$dfpagedes="Profil";
if ($act=="modifie")
{
$SQL="SELECT * FROM dforum_users WHERE user_login='$user_login'";
$result=mysql_query($SQL);
if (mysql_numrows($result)==0)
{
$stop="Utilisateur Inconnu.";
} else {
$stop="";
if (md5($user_pass)!=mysql_result($result,0,"user_pass")) $stop="Mot de passe invalide";
}
}
break;
case "stats":
$dfpagedes="Stats";
$result=mysql_query("SELECT * FROM dforum_boards WHERE ident='1'");
if (mysql_numrows($result)!=0) $st_ident=1;
break;
case "aide":
$dfpagedes="Aide";
break;
case "dcode_ref":
$dfpagedes="Reference D-code";
break;
case "smiley_ref":
$dfpagedes="Reference Smileys";
break;
}//Fin switch
?>
/* dforum.voirforum.php3 */
<?php $skel_voirforum="
<table width=\"100%\" border=\"0\" cellspacing=\"2\" cellpadding=\"0\">
<tr>
<td width=\"35%\" bgcolor=\"#col2#\" height=\"20\"><b>Sujet
:</b></td>
<td width=\"15%\" bgcolor=\"#col3#\" height=\"20\"><b>Auteur :</b></td>
<td width=\"12%\" bgcolor=\"#col3#\" height=\"20\"><b>Réponses
:</b></td>
</tr>
#separe#
<tr>
<td width=\"35%\" bgcolor=\"#col1#\" height=\"20\">#sujet# #new#
</td>
<td width=\"15%\" bgcolor=\"#col3#\" height=\"20\">#auteur#
</td>
<td width=\"12%\" bgcolor=\"#col3#\" height=\"20\">#nbreponses#
</td>
</tr>
#separe#
</table>
<p>
"; ?>
Modifié par soriro (22 Jan 2017 - 13:58)