8721 sujets

Développement web côté serveur, CMS

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


/* 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)
Salut,

Tu as regardé sur le site php, les modifications d'un passage de php 5.3 vers 5.4 ?

Regarde dans les logs Error pour voir d'ou vient les problèmes.

Bon courage.
Bonjour,

1/ J'ai déjà passé 24 heures sur le sujet et j'ai essayé la récupération des variables sans succès. J'ai essayé de passer à mysqli mais la variable "header" devient vide sans que je comprenne pourquoi. Pas de soucis du côté des includes apparemment. Mais mes compétences sont limitées.
2/ Il n'y a pas de message d'erreur. Quand je fais affichage "code source" de la page qui ne s'affiche pas correctement il n'y a pas d'erreur. Peut-être y a-t-il une autre façon de récupérer les erreurs ("logs error"): je vais chercher ?

Merci,
Pierre
Re,
Je viens de regarder comment consulter les Logs (cpanel, mesures/erreurs, activer dans php). Mais la page d'erreurs reste vide pour le moment quand je teste.
Le script n'utilise pas pdo ni mysqli. Mes scripts à moi non plus. Donc j'utilise mysql.
Merci
Sont apparues des erreurs, apparemment suite à l'activation des Logs: Notice: Undefined index: page in /home/.../index.php3 on line 7
Page index forum : $_GET['accueil']; et $_GET['page'];
Page hi-include: $_GET['scheme'];
Regarde du côté des commandes de mysql et les retours d'erreurs.

Essai de récupérer une variable, pour voir si elle passe bien.
Merci de m'aider à creuser.

Je viens d'essayer de remplacer sans succès les variables du type $_GET["page"];par:
- $page = $_GET["page"];
- $_SESSION['page'] = $_GET["page"];
et de remplacer les ' par des "

Les variables semblent bien passer car je les affiche sur la page où il y a un message d'erreur! (par exemple la variable "$scheme" donne "dforum" sur la page où s'affiche l'erreur: "Notice: Undefined index: scheme in /home/... "

Pas simple.
Je viens de lire que l'affichage des erreurs mineures était bien du à l'enregistrement des erreurs.
Je viens de mettre $scheme = isset($_POST['scheme']) ? $_POST['scheme'] : NULL; et je n'ai plus de message d'erreur, mais ma page ne s'affiche toujours pas. Donc cette piste est réglée mais n'est pas à l'origine du problème...
L'erreur est finalement bien là! Sur ma page "nav.php3?page=recherche":
- En php 5.3 la variable $page = "recherche"
- En php 5.4 la variable $page = "accueil"
Mais comment régler cela?
Il faut mettre ' et non ".

De mémoire, il y a des changements entre php3 et php4, il faut voir la liste des modifications de code. A mon avis, je chercherai de ce côté là.

Regarde ici -> http://php.net/
Problème réglé!
J'ai ajouté ceci dans les fichiers utilisant les variables:
extract($_GET, EXTR_OVERWRITE );
extract($_POST, EXTR_OVERWRITE );

Merci beaucoup Tintin, tu m'as appris pas mal de choses...
Met dans le sujet résolu.

Un petit conseil, ne t'investie pas trop dans la version 5.4 car dépassée. L'avenir de la bdd, c'est pdo et là il faut refaire le code entièrement. Je l'ai fait l'année dernière à cette époque. Smiley cligne

Mysql, s'arrête à version 5.4, après tu es obliger de migrer vers Mysli ou PDO.

Content que ça marche pour toi, bon dimanche Smiley smile
Eh bien...
En fait je pensais régler les problèmes au fur et à mesure que je dois évoluer en version.
Reprendre le code de ce forum je ne saurais pas le faire.
Je vais voir ce qu'est pdo. Passer en Mysqli ne me semblait pas compliqué, donc pas bonne nouvelle.
Merci,

Je ne sais pas comment mettre résolu dans le sujet, je vais chercher.