Problème $_GET + BDD - Page 2

Résolu
Précédent
  • 1
  • 2
  1. killermano66 Messages postés 233 Date d'inscription   Statut Membre Dernière intervention   41
     
    J'ai testé les deux dans le doute et ça ne change absolument rien l'erreur revient dans les deux cas. J'y compred quedale. Merci.
    0
  2. stephane_mc2004 Messages postés 807 Statut Membre 96
     
    Je reprend donc
    ===================
    INDEX.PHP
    ===================
    <?php
    
    if ($_GET['page'] == "news") {include("http://www.rpg-z.com/get_test/news.php");}
    if ($_GET['page'] == "articles") 
    {
         if(isset($_GET['id']))
         {
              include('http://www.rpg-z.com/get_test/articles/main.php?id=' . $_GET['id'] );
         }
         else { include("http://www.rpg-z.com/get_test/articles/main.php"); } 
    
    
    }
    
    
    
    if ($_GET['page'] == "forums") {include("http://www.rpg-z.com/get_test/forums.php");}
    if ($_GET['page'] == "medias") {include("http://www.rpg-z.com/get_test/medias.php");}
    ?> 
    
    
    

    =============
    articles/main.php
    =============*
    <?php
    
    include('ici ladresse absolue de la page de connexion');
    if(isset($_GET['id']){ //si la variable id existe 
    $id = $_GET['id']; // je cree une variable qui sapel id qui a pour valeur l'id en parametre dans l'URL
    
    
    $requete_selection = mysql_query('SELECT * FROM articles WHERE id="$id"') or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    
    $donnees = mysql_fetch_array($requete_selection);
    echo $donnees['contenu'];
    echo $donnees['auteur'] . '<br />';
    mysql_close();
    }
    else {
    
    include('ici aussi ladresse absolue de la page de connexion a la base');
    
    $requete_selection = mysql_query('SELECT * FROM articles') or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    while ($donnees = mysql_fetch_array($requete_selection)){
    
    echo '<a href="index.php?page=articles&id='.$donnees["id"].' ">';
    echo $donnees['titre'] . '</a>' . ' ' . 'écrit par ';
    echo $donnees['auteur'] . '<br />';
    }
    mysql_close();
    }
    ?> 
    
    
    0
  3. stephane_mc2004 Messages postés 807 Statut Membre 96
     
    si le probleme persiste copie/colle ton code de main.php ici et index.php
    0
  4. killermano66 Messages postés 233 Date d'inscription   Statut Membre Dernière intervention   41
     
    Alors la c'est pire en mettant les url absolue même les autres liens déconnent pourtant ils sont bon.

    http://www.rpg-z.com/get_test/index.php?page=news

    code index.php :
    <div>
    MON MENU :
    <a href="index.php?page=news">News</a>
    <a href="index.php?page=articles">Articles</a>
    <a href="index.php?page=forums">Forums</a>
    <a href="index.php?page=medias">Medias</a><br /><br /><br />
    <div>

    <div>
    CONTENUE DES PAGES DU MENU :<br />
    <?php
    if ($_GET['page'] == "news") {include("http://www.rpg-z.com/get_test/news.php");}
    if ($_GET['page'] == "articles")
    {
    if(isset($_GET['id']))
    {
    include('http://www.rpg-z.com/get_test/articles/main.php?id=' . $_GET['id'] );
    }
    else { include("http://www.rpg-z.com/get_test/articles/main.php"); }
    }
    if ($_GET['page'] == "forums") {include("http://www.rpg-z.com/get_test/forums.php");}
    if ($_GET['page'] == "medias") {include("http://www.rpg-z.com/get_test/medias.php");}
    ?>
    </div>

    code articles/main.php :
    <?php

    include('http://www.rpg-z.com/get_test/connection.php');
    if(isset($_GET['id']){ //si la variable id existe
    $id = $_GET['id']; // je cree une variable qui sapel id qui a pour valeur l'id en parametre dans l'URL

    $requete_selection = mysql_query('SELECT * FROM articles WHERE id="$id"') or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

    $donnees = mysql_fetch_array($requete_selection);
    echo $donnees['contenu'];
    echo $donnees['auteur'] . '<br />';
    mysql_close();
    }
    else {

    include('http://www.rpg-z.com/get_test/connection.php');

    $requete_selection = mysql_query('SELECT * FROM articles') or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    while ($donnees = mysql_fetch_array($requete_selection)){

    echo '<a href="index.php?page=articles&id='.$donnees["id"].' ">';
    echo $donnees['titre'] . '</a>' . ' ' . 'écrit par ';
    echo $donnees['auteur'] . '<br />';
    }
    mysql_close();
    }
    ?>

    Merci encore.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. stephane_mc2004 Messages postés 807 Statut Membre 96
     
    Apareamment c'est mauvais avec l'include des url absolues... une minute je redige un nouveau code
    0
  7. stephane_mc2004 Messages postés 807 Statut Membre 96
     
    ===================
    INDEX.PHP
    ===================
    <?php
    
    if ($_GET['page'] == "news") {include("news.php");}
    if ($_GET['page'] == "articles") 
    {
         if(isset($_GET['id']))
         {
    
              include("/get_test/articles/main.php?id=$_GET['id']" );
         }
         else { include("/get_test/articles/main.php"); } 
    
    
    }
    
    
    
    if ($_GET['page'] == "forums") {include("forums.php");}
    if ($_GET['page'] == "medias") {include("medias.php");}
    ?> 
    
    


    =============
    articles/main.php
    =============*

    <?php
    
    include('connection.php');
    if(isset($_GET['id']){ //si la variable id existe 
    $id = $_GET['id']; 
    
    
    $requete_selection = mysql_query('SELECT * FROM articles WHERE id="$id"') or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    
    $donnees = mysql_fetch_array($requete_selection);
    echo $donnees['contenu'];
    echo $donnees['auteur'] . '<br />';
    mysql_close();
    }
    else {
    
    include('connection.php');
    
    $requete_selection = mysql_query('SELECT * FROM articles') or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    while ($donnees = mysql_fetch_array($requete_selection)){
    
    echo '<a href="index.php?page=articles&id='.$donnees["id"].' ">';
    echo $donnees['titre'] . '</a>' . ' ' . 'écrit par ';
    echo $donnees['auteur'] . '<br />';
    }
    mysql_close();
    }
    ?> 
    


    desespere pas, jespere que sa marchera
    0
  8. killermano66 Messages postés 233 Date d'inscription   Statut Membre Dernière intervention   41
     
    J'ai une parse error à la ligne 19 :

    include("/get_test/articles/main.php?id=$_GET['id']" );

    j'ai tenté de la remplaçer par

    include("/get_test/articles/main.php?id='$_GET['id']'" );

    mais l'erreur reste

    Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/www/8b02f9045067109a0cbb419d432d633f/web/get_test/index.php on line 19

    Merci, je cherche de mon côtés aussi.
    0
    1. stephane_mc2004 Messages postés 807 Statut Membre 96
       
      ok ça commence a aller (enfin je crois bien ;) )
      bon

      essais
      include('/get_test/articles/main.php?id=' . $_GET[\'id\'] );

      si sa marche pas, essais sa aussi ::

      $adresse = '/get_test/articles/main.php?id=' . $_GET['id'];
      include($adresse);


      ou encore

      $adresse = '/get_test/articles/main.php?id=' . $_GET[\'id\']; 
      include($adresse);


      Pour ce dernier je crois pas trop, mais on sait jaimais
      0
  9. killermano66 Messages postés 233 Date d'inscription   Statut Membre Dernière intervention   41
     
    Donc, effectivement il y a du mieux avec la deuxième méthode :
    $adresse = '/get_test/articles/main.php?id=' . $_GET['id'];
    include($adresse);

    Les erreurs de la page index.php disparaissent en partie vu qu'il m'en reste 2 lorsque je clique sur articles :

    Warning: include(/get_test/articles/main.php) [function.include]: failed to open stream: No such file or directory in /home/www/8b02f9045067109a0cbb419d432d633f/web/get_test/index.php on line 22

    Warning: include() [function.include]: Failed opening '/get_test/articles/main.php' for inclusion (include_path='.:/opt/php/lib/php') in /home/www/8b02f9045067109a0cbb419d432d633f/web/get_test/index.php on line 22

    Donc ligne 22 evidement toujours une url qui pose problème :

    echo '<a href="index.php?page=articles&id='.$donnees["id"].' ">';

    Merci beaucoup ;)
    0
  10. stephane_mc2004 Messages postés 807 Statut Membre 96
     
    essais dappliker la deuxieme methode avec ce probleme, je vais faire des courses. A ce soir et bon courage
    0
  11. killermano66 Messages postés 233 Date d'inscription   Statut Membre Dernière intervention   41
     
    Alors, après quelques tests c'est le contenue du else qui affiche l'erreur donc ceci :

    else {
    $adresse2 = '/get_test/articles/main.php';
    include($adresse2);

    }

    Si je l'enlève l'erreur n'apparait pas donc j'en viens à la conclusion que la condition du if ne se vérifie pas vu que c'est le else qui s'exécute. C'est quand même bizarre tout ça.
    Merci de ton aide, a ce soir ;)
    0
    1. Psyk974 Messages postés 559 Statut Membre 51
       
      <?php
      /*===================
      INDEX.PHP
      ===================*/
      
      //A placer dans ta page index.php
      
      if (isset($_GET['page'])) {
      	switch($_GET['page']) {
      		case "news": include("news.php");break;
      		case "articles": include("articles/main.php");break;
      		case "forums": include("forums.php");break;
      		case "medias": include("medias.php");break;
      	}
      else {
      	include("news.php");
      }
      ?>
      
      
      
      <?php
      /*=============
      articles/main.php
      =============*/
      
      //A placer dans ton main.php du répertoire articles
      
      include('connection.php'); //On se connecte à la base
      if(isset($_GET['id']){ //si la variable id existe 
      	$requete_selection = mysql_query('SELECT * 
      					                  FROM articles 
      							  WHERE id='.$_GET['id']) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
      
      	$donnees = mysql_fetch_array($requete_selection);
      	echo $donnees['contenu'];
      	echo $donnees['auteur'] . '<br />';
      	
      }
      else {
      	$requete_selection = mysql_query('SELECT * 
      							  FROM articles') or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
      	while ($donnees = mysql_fetch_array($requete_selection)){
      
      		echo '<a href="index.php?page=articles&id='.$donnees["id"].' ">';
      		echo $donnees['titre'] . '</a>' . ' ' . 'écrit par ';
      		echo $donnees['auteur'] . '<br />';
      	}
      }
      mysql_close(); //On se déconnecte
      ?> 


      Donc je resume. Lorsque tu arrives sur ton site par défaut lorsque tu vas cliquer sur le lien articles, tous les articles s'afficheront car ta variable "$_GET['id']" n'existe pas.
      Dès lors que tu vas cliquer sur un article pour l'afficher, tu vas instancier la variable "$_GET['id']" qui cette fois-ci n'affichera plus la liste des articles mais uniquement l'article voulu.

      J'ai bien compris ta démarche ?
      0
  12. killermano66 Messages postés 233 Date d'inscription   Statut Membre Dernière intervention   41
     
    ²Ben écoute, nikel ça marche trés bien mis à part deux petites erreur de syntaxes, tu as tout à fait saisi le problème et maintenant c'est parfait, ce que je voulais.

    Merci beaucoup ;)
    0
  13. Psyk974 Messages postés 559 Statut Membre 51
     
    Les erreurs je sais pas car j'ai repris le code de stephane_mc2004.
    J'ai juste modifié les endroits les plus importants pour faire fonctionner ton script.

    Applique un petit résolu à cette discussion :)

    Allez ciao
    0
    1. stephane_mc2004 Messages postés 807 Statut Membre 96
       
      Coucou a tous. Merci pour ton amélioration, comme quoi, il fallait 2 conducteurs pour la même voiture (lol )

      A+
      0
  14. Utilisateur anonyme
     
    ouffffffffffffffff qui ca met que

    <div>
    MON MENU :
    <a href="index.php?page=news">News</a>
    <a href="index.php?page=articles">Articles</a>
    <a href="index.php?page=forums">Forums</a>
    <a href="index.php?page=medias">Medias</a><br /><br /><br />
    <div>

    c'est fini mini menu
    0
  15. killermano66 Messages postés 233 Date d'inscription   Statut Membre Dernière intervention   41
     
    En tout cas merci à tous les deux vous m'avez grandement aidé ;)
    0
Précédent
  • 1
  • 2