Fonction include .....

Résolu/Fermé
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 - 2 oct. 2011 à 10:44
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 - 5 oct. 2011 à 17:35
Bonjour,

Mon include :
$inc = 'liste_nom_02.php&lettre=A'; 
........ 
include($inc);

me renvoie l'erreur :
Warning: include(liste_nom_02.php&lettre=A) [function.include]: failed to open stream: No such file or directory in ..........

Est-ce parceque je lis une base de données ???
A voir également:

3 réponses

t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 11
2 oct. 2011 à 11:03
Le script qui contient l'include, et l'include sont dans le même répertoire.
Mais les éléments de la base de donnée ...............
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
2 oct. 2011 à 12:35
Salut,

Les paramètres GET ne fonctionnent pas via un include sans passer par HTTP.
Tu peux faire comme ceci :

<?php
$lettre = 'A';
include 'liste_nom_02.php';


Et la variable $lettre sera accessible dans le fichier inclu :
<?php
// Fichier: liste_nom_02.php
include 'pdo.connexion.php';

$sql = 'SELECT * FROM utilisateurs WHERE nom LIKE "'. $lettre .'%"';
// ...
0
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 11
2 oct. 2011 à 14:42
Et en faisant comme tu dis, il faudra que je fasses un script pour chaque lettre de l'alphabet .......... ?
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
2 oct. 2011 à 16:08
Non, il faut utiliser $lettre plutôt que $_GET['lettre']
0
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 11
2 oct. 2011 à 17:56
Mais tu es bien obligé d'utiliser $_GET['lettre'] pour récupérer la valeur de "lettre" qui vient d'un autre script !?
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
2 oct. 2011 à 18:10
Les paramètres GET ne fonctionnent qu'avec une URL, donc par exemple :
http://example.com/page.php?param=valeur
Sera traduit par « exécuter page.php avec $_GET['param'] qui vaut "valeur" ».

Ici, tu demandes à inclure « liste_nom_02.php », sans donner plus d'informations.
Ce fichier sera directement inclu depuis le disque dur du serveur. Le serveur ne communiquera pas avec lui-même via Internet (HTTP) pour obtenir le fichier.
Le code du fichier « liste_nom_02.php » sera "inclu" à l'intérieur de la page "appelante".
Les variables définies dans la page appelante sont donc accessibles par le fichier inclu.

Par contre, intile d'essayer ceci :
<?php
include 'http://example.com/liste_nom_02.php?letter=A';
Précédemment, j'ai souligné le mot « exécuter » qui est très important !
Lorsqu'on demande un script PHP par HTTP, il est exécuté !
Le PHP n'est plus présent une fois le fichier envoyé.
Tu inclueras donc un fichier vide.
0
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 11
2 oct. 2011 à 18:19
Si j'ai bien compris, je travaille avec $lettre dans la page appelante, et comme la page appelée est inclus dans l'appelante, je peux utliser $lettre dans la page appelée !
C'est ça ???
0
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 11
2 oct. 2011 à 12:52
Merci ! J'ai rajouter le menu dans le 2° script, et je boucle sur celui-ci à la demande ....

A ++
0