Passage de variables par URL

Passage de variables par URL - PHP - Programmation

Marsh Posté le 03-10-2005 à 18:14:41    

Voila, j'aimerais sur un script passer une variables par URL pour l'utiliser dans une requet sur une autre page.
En fait c'est un script qui permet d'editer des articles ecrit sur un site.
 
Voila le code qui affiche le titre article avec le bouton edit a coté
 

Code :
  1. <?
  2. include ("variables.php" );
  3. include("connection_base.php" );
  4. //requete qui va afficher les articles
  5. $req = "SELECT * FROM articles ORDER BY ID_article DESC";
  6. $resultat = mysql_query($req);
  7. $i="0";
  8.   //bla bla divers qui va mettre le resultat de la requete dans un tableau
  9.   while ($i!=$ilimit && $val=mySQl_fetch_array($resultat))
  10.   {
  11.   $i++;
  12.    $id =$val ["ID_article"];
  13.    $titre=$val ["Titre_article"];
  14. ?>
  15. <?//affichage de l'ID?>
  16. <?echo $id;?>
  17. <?//du titre de l'article avec un bouton edit qui recupere l'ID de l'article?>
  18. <? echo $titre;
  19. echo "<p><a href='edit_article.php?id_article=$id'>Editer l'article</a></p>";?>
  20. <?
  21. }
  22. ?>


 
Et voici le code qui va recuperer la variable et l'utiliser dans une requete. Le probleme et le suivant, dans IE, l'ID de l'article apparait bien dans l'URL mais on dirait que le script n'arrive pas a la recupérer, j'ai fait des tests avec des echo et ca ne donne rien....
Serait-ce un probleme de mon PHP.ini?
 

Code :
  1. <?
  2. include ("variables.php" );
  3. include("connection_base.php" );
  4.   $req = "SELECT * FROM articles WHERE ID_article ='$id_article'";
  5. //ligne de test qui montre que $id_article est vide..   
  6. echo "id_article -> $id_article";
  7.  
  8.   $resultat = mysql_query($req);
  9.   $val= mySQL_fetch_array($resultat);
  10.   $texte= $val ["Texte_article"];
  11. ?>


Message édité par mongroidus le 03-10-2005 à 18:17:47
Reply

Marsh Posté le 03-10-2005 à 18:14:41   

Reply

Marsh Posté le 03-10-2005 à 18:20:37    

utilise donc $_GET['id_article'] au lieu de ton $id_article .
Pour des raisons de sécurité, l'option register_global (celle qui transforme les variables venant de l'extérieur en variable de type $var) à était mis à off par défaut dans toutes les versions de php sortie depuis plusieurs mois. Et il est prévus que cette option disparaisse définitivement dés PHP6 alors mieux vaut prendre l'habitude de travailler avec cette option désactivé.

Reply

Marsh Posté le 03-10-2005 à 18:21:10    

Me suis fait grilled, mais bon, conaissait pas cet article là.

Reply

Marsh Posté le 03-10-2005 à 18:35:40    

ah c'est donc a ca que servent ces register_globals que tout le monde parle....
Je vais faire avec des $get comme tu me le conseille
 
merci

Reply

Marsh Posté le 03-10-2005 à 19:11:00    

Euh je n'ai toujours rien qui s'affiche... La je suis perdu j'ai fondu mon cerveau lol

Code :
  1. <?
  2. include ("variables.php" );
  3. include("connection_base.php" );
  4.   $id2 = $GET_['id_article'];
  5.   $req = "SELECT * FROM articles WHERE ID_article = '$id2'" ;
  6.   echo "id_article -> $id2";
  7.   $resultat = mysql_query($req);
  8.   $val= mySQL_fetch_array($resultat);
  9.   $texte= $val ["Texte_article"];
  10. ?>


 
j'ai mis un $GET mais tout reste vierge dans le resultat du script  :(  

Reply

Marsh Posté le 03-10-2005 à 19:16:38    

Reply

Sujets relatifs:

Leave a Replay

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