Variable dans un include

Eléphant du PHP | 184 Messages

16 mars 2012, 18:01

Bonjour à vous,

J'aimerai afficher des articles .html dynamiquement en stockant leur chemin dans une bdd.

Je fais passer l'id de l'article dans l'url mais je n'arrive pas à le récupérer dans mon include à la fin.
J'ai un message d'erreur:

Warning: include() [function.include]: Filename cannot be empty in C:\wamp\www\site.php on line 148
Warning: include() [function.include]: Failed opening '' for inclusion (include_path='.;C:\php5\pear') in C:\wamp\www\site.php on line 148

Je ne sais pas si ce que j'essaye de faire est possible ou même correct, si vous pouvez me donner un coup de main :(

<?php

$chapitre = $_GET['chapitre'];

$sql_chapitre = "SELECT * FROM chapitres WHERE ID_chapitre = '".$chapitre."'";
$requete_chapitre = mysql_query($sql_chapitre) or die( mysql_error());

$texte = $requete_chapitre['lien'];

include ("$texte");

?>

Petit nouveau ! | 9 Messages

16 mars 2012, 18:28

Salut,

A mon avis c'est simplement par ce que ton fichier n'existe pas.

Essaies comme ça...
<?php

// Déclaration de la variable chapitre
(isset($_GET['chapitre']))? $chapitre = $_GET['chapitre']: $chapitre = '';

// On protege un minimum la variable avant de la passer dans mysql
$chapitre = mysql_real_escape_string($chapitre);
 
$sql_chapitre = "SELECT * FROM chapitres WHERE ID_chapitre = '".$chapitre."'";
$requete_chapitre = mysql_query($sql_chapitre) or die( mysql_error());

$texte = $requete_chapitre['lien'];

// On vérifie si le fichier existe avant de l'appeler
if(file_exists($texte)){
	
	include ($texte);
	
} else {
	
	echo "Le fichier n'existe pas";
	
}

?>

Eléphant du PHP | 184 Messages

16 mars 2012, 19:04

Merci pour la réponse, mais cela n'a pas l'air d'être cela.

J'ai fait un echo de ce que me renvoie ma requête et j'ai cela:

Resource id #12

ViPHP
xTG
ViPHP | 7331 Messages

16 mars 2012, 19:18

Il faut exploiter la ressource retournée par la requête.
Regardes de ce côté : http://fr2.php.net/mysql_fetch_array

Eléphant du PHP | 184 Messages

16 mars 2012, 19:23

Parfait ! Merci encore !

Eléphant du PHP | 184 Messages

16 mars 2012, 19:31

J'ai une dernière question si je peux abuser un peu :)

Comment je peux faire pour que quand j'arrive la première fois sur la page, $chapitre soit par défaut à 1.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

16 mars 2012, 20:13

If(!empty($_GET['truc'])) $chapitre = $_GET['truc'];
Else $chapitre =1;

@+
Il en faut peu pour être heureux ......

ViPHP
xTG
ViPHP | 7331 Messages

16 mars 2012, 20:13

// Déclaration de la variable chapitre
(isset($_GET['chapitre']))? $chapitre = $_GET['chapitre']: $chapitre = 1;
:)