Problème $_GET + BDD - Page 2

Résolu
Précédent
  • 1
  • 2
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
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
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
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
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
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
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
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
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
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
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
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
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
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
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