Problème $_GET + BDD - Page 2
Résolu
Précédent
- 1
- 2
-
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.
-
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(); } ?> -
si le probleme persiste copie/colle ton code de main.php ici et index.php
-
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. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Apareamment c'est mauvais avec l'include des url absolues... une minute je redige un nouveau code
-
===================
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 -
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.-
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
-
-
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 ;) -
essais dappliker la deuxieme methode avec ce probleme, je vais faire des courses. A ce soir et bon courage
-
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 ;)-
<?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 ?
-
-
²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 ;) -
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
-
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 -
En tout cas merci à tous les deux vous m'avez grandement aidé ;)
Précédent
- 1
- 2