prob requete avec variable $_SERVER['REMOTE_USER']

Eléphant du PHP | 493 Messages

11 sept. 2005, 17:12

Bah une autre façon plus simple :
$res = mysql_query
(
    'SELECT id FROM droits
    WHERE log = "' . $_SERVER[ 'REMOTE_USER' ] . '"
    LIMIT 1'
);

$row = mysql_fetch_array( $res );

echo 'id:', $row[ 'id' ], ':fin';

Mammouth du PHP | 983 Messages

11 sept. 2005, 17:14

Encore plus simple:
$res = mysql_query
(
    'SELECT id FROM droits
    WHERE log = "' . $_SERVER[ 'REMOTE_USER' ] . '"
    LIMIT 1'
);

echo 'id:', mysql_result($res,0), ':fin';
;)

Eléphanteau du PHP | 25 Messages

11 sept. 2005, 17:27

ça marche sans le while :wink:

merci vous 2 8)

c'est bien cool le php, je découvre petit à petit.
j'ai pas fini de vous embéter.

a+

ben

Eléphanteau du PHP | 25 Messages

11 sept. 2005, 17:41

je renconre deja un ptit prob.

cette requete s'execute a chaque ouverture de la page.
je souhaiterai plutot qu'elle ne s'execute qu'une seule fois lors d'une mème session.
je ne sais pas comment tester si il s'agit d'une nouvelle ou de la meme session

Mammouth du PHP | 19672 Messages

11 sept. 2005, 17:46

Établis une variable de session en lui attribuant une valeur par défaut: lors de la récupération de ta requête, modifie cette valeur, et en début de page, teste la valeur: soit la valeur est celle par défaut et tu exécutes la requête, soit la valeur de ta variable de session a été modifiée et tu passes à la suite.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 25 Messages

11 sept. 2005, 17:57

hum... :shock:

je comprend ça comme ça

test = 0

if test=0 faire la requete

{
requete
test=1
}


sauf qu'a chaque ouverture test va quand mème repasser à 0
donc je vois pas trop

Mammouth du PHP | 983 Messages

11 sept. 2005, 18:00

On te parle de variables de session, donc des varaibles qui se propagent sur toutes les pages où il y a un session_start().

Je te conseille fortement d'aller voir la doc php: http://www.php.net/manual/fr/

HD
Mammouth du PHP | 1181 Messages

11 sept. 2005, 18:02

lors de la creation de la session crée cette variable de session : $effectuee = 0

si on arrive à la requete :
si $effectuee = 0 --> effectuer la requete
$effectuee = 1
sinon --> ne pas effectuer la requete
"Si Dieu descendait sur la Terre, tous les peuples se mettraient a genoux, excepte les Français qui diraient : " Ah ! Vous êtes la ! C'est pas trop tôt ! On va pouvoir discuter un peu !" [Michel Balfour]

Mammouth du PHP | 19672 Messages

11 sept. 2005, 21:28

...crée cette variable de session : $effectuee = 0...
Est-ce que ça ne devrait pas être $_SESSION['effectuee'] = 0 pour une variable de session ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

HD
Mammouth du PHP | 1181 Messages

11 sept. 2005, 21:32

j'ai donné juste l'algorithme pour expliquer le principe
apres il faut bien sur ecrire ca en php (d'ou lors de la recuperation $_SESSION['effectuee'] que tu donne)
"Si Dieu descendait sur la Terre, tous les peuples se mettraient a genoux, excepte les Français qui diraient : " Ah ! Vous êtes la ! C'est pas trop tôt ! On va pouvoir discuter un peu !" [Michel Balfour]

Eléphanteau du PHP | 25 Messages

11 sept. 2005, 22:49

merci les ptits gars :wink:
les variables globales, ça a l'air un peu chaud dans un premier temps.
en attendant, mon prob d'origine est résolu donc j'édite le titre

thx 8)

Eléphanteau du PHP | 25 Messages

12 sept. 2005, 22:43

Si c'est normal, tu boucles sur la première ligne indéfiniment:
$requete = "SELECT id FROM droits WHERE log = '".$_SERVER['REMOTE_USER']."'";
$id_user = MYSQL_QUERY($requete);
$i=0;
while($id = mysql_result($id_user, $i))
{
    echo "id:". $id .":fin";
    $i++;
}
$date = date("Y-d-m");
echo "test_fin"; 

Code : Tout sélectionner

$requete = "SELECT id FROM droits WHERE log = '".$_SERVER['REMOTE_USER']."'"; $id_user = MYSQL_QUERY($requete); $id = mysql_result($id_user, 0);
salut, le 2eme code c'est bien le 1er sans le while il me semble, mais ça me fait une erreur:
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /var/www/free.fr/7/5/blabla/toto/iii.php on line 46

je ne comprend pas :?
pouvez vous me dire ou est encore le prob svp?

Mammouth du PHP | 19672 Messages

13 sept. 2005, 08:15

Fais afficher ta requête pour vérifier si ce qui est généré est correct: si ça a l'air bon, alors fais un copier/coller pour la tester directement dans phpMyAdmin et tu auras un message de retour plus explicite si quelque chose n'est pas bon.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: