// Je fais une selection dans getVignoble du statut du raisin qui
normalement est A.
// Je souhaite appeler ce A stocker dans la RAM du serveur.
// J'essaie plusieurs alternatives qui merdouillent. Celle-ci
fonctionne mais j'ai peur que la requête MYSQL soit tout même
réalisée :
echo $bob[0]['status'];
// Celle-ci marche pas (malheureusement) :
$_SESSION[0]['status']
//Pourtant la session est lancée, car cela fonctinone :
$_SESSION['myName'] = 'bpat1434';
echo '<br><br>My Name Is (session set): ' . $_SESSION['myName'];
?>
Je te conseille de faire un var_dump() de $_SESSION pour voir ce que contient réellement ta session.
De plus, tu fais: $_SESSION['status']=$rsstatus;
Donc, tu dois essayer de lire $_SESSION['status'][0] et non pas $_SESSION[0]['status']
-- Réseau IRC Francophone: http://www.zeolia.net Aide et astuces webmasters : http://www.c-p-f.org Communauté Francophone sur les Eggdrops: http://www.eggdrop.fr
Olivier Miakinen
Bonjour,
Connaissez-vous le $_SESSION ?
De nom. http://fr2.php.net/session
On me dit d'utiliser le $_SESSION pour cacher des résultats MYSQL.
Ah ? « Cacher » dans le sens « mettre en cache », ou dans le sens « ne pas montrer » ? Quelle que soit la réponse, je n'ai pas l'impression que ce soit vraiment adapté.
$rsstatus = getVignoble("ps.website_id=$cerise and b.raisin_id $raisin");
Bizarre cette syntaxe avec « = » d'un côté et une espace de l'autre. En outre, que se passe-t-il si $_REQUEST['cerise'] est une chaîne vide, ou bien comprend des caractères guillemets ?
Si $_SESSION['status'] est positionné, tu te contrefiches de cette valeur puisque tu l'écrases avec la valeur de $rsstatus.
$bob=$_SESSION['status'];
Puis tu mets cette même valeur dans $bob.
echo 'case 1 <br>'; } else {
$rsstatus = getVignoble("ps.cerise_id=$cerise and b.raisin_id $raisin"); $bob=$_SESSION['status'];
Au contraire, si $_SESSION['status'] n'est pas positionné, tu mets la valeur vide dans $bob et tu fais un deuxième appel à ta fonction (dont je suppose qu'elle fait une requête à la base de données).
Je suppose que tu as en fait oublié un « ! » dans « !isset() ».
Bonjour,
Connaissez-vous le $_SESSION ?
De nom.
http://fr2.php.net/session
On me dit d'utiliser le $_SESSION pour cacher des résultats MYSQL.
Ah ? « Cacher » dans le sens « mettre en cache », ou dans le sens « ne
pas montrer » ? Quelle que soit la réponse, je n'ai pas l'impression que
ce soit vraiment adapté.
$rsstatus = getVignoble("ps.website_id=$cerise and b.raisin_id $raisin");
Bizarre cette syntaxe avec « = » d'un côté et une espace de l'autre. En
outre, que se passe-t-il si $_REQUEST['cerise'] est une chaîne vide, ou
bien comprend des caractères guillemets ?
Si $_SESSION['status'] est positionné, tu te contrefiches de cette
valeur puisque tu l'écrases avec la valeur de $rsstatus.
$bob=$_SESSION['status'];
Puis tu mets cette même valeur dans $bob.
echo 'case 1 <br>';
} else {
$rsstatus = getVignoble("ps.cerise_id=$cerise and b.raisin_id $raisin");
$bob=$_SESSION['status'];
Au contraire, si $_SESSION['status'] n'est pas positionné, tu mets la
valeur vide dans $bob et tu fais un deuxième appel à ta fonction (dont
je suppose qu'elle fait une requête à la base de données).
Je suppose que tu as en fait oublié un « ! » dans « !isset() ».
On me dit d'utiliser le $_SESSION pour cacher des résultats MYSQL.
Ah ? « Cacher » dans le sens « mettre en cache », ou dans le sens « ne pas montrer » ? Quelle que soit la réponse, je n'ai pas l'impression que ce soit vraiment adapté.
$rsstatus = getVignoble("ps.website_id=$cerise and b.raisin_id $raisin");
Bizarre cette syntaxe avec « = » d'un côté et une espace de l'autre. En outre, que se passe-t-il si $_REQUEST['cerise'] est une chaîne vide, ou bien comprend des caractères guillemets ?
Si $_SESSION['status'] est positionné, tu te contrefiches de cette valeur puisque tu l'écrases avec la valeur de $rsstatus.
$bob=$_SESSION['status'];
Puis tu mets cette même valeur dans $bob.
echo 'case 1 <br>'; } else {
$rsstatus = getVignoble("ps.cerise_id=$cerise and b.raisin_id $raisin"); $bob=$_SESSION['status'];
Au contraire, si $_SESSION['status'] n'est pas positionné, tu mets la valeur vide dans $bob et tu fais un deuxième appel à ta fonction (dont je suppose qu'elle fait une requête à la base de données).
Je suppose que tu as en fait oublié un « ! » dans « !isset() ».
Bruno Desthuilliers
Hello,
Connaissez-vous le $_SESSION ?
Oui, je prend l'apéro avec lui presque tous les soirs !-)
On me dit d'utiliser le $_SESSION pour cacher des résultats MYSQL.
Je ne sais pas qui est "On", mais il n'a pas forcément raison. En mettant en cache de cette façon le résultat d'une requête, tu risques d'avoir des données pas à jour si la base est modifiée pendant la durée de la session... Accessoirement, il n'est pas forcément plus rapide (selon la requête, la taille du jeu de données, le système, la phase de la lune etc) de récupérer des données en session que de faire une requête (il se peut même que récupérer des données en session implique une requête SQL -> si la session est stockée en base)
$where = "ps.website_id=$cerise and b.raisin_id=$raisin"; $_SESSION['status'] = getVignoble($where); }
// maintenant, ça devrait être ok $status = $_SESSION['status'];
var_export($status); ?>
Mais bon... je le repète: ce n'est pas *nécessairement* une bonne idée, donc réfléchis bien à *pourquoi* tu veux mettre ça en session ('On m'a dis de le faire' n'étant pas une bonne réponse).
Mes deux centimes...
Hello,
Connaissez-vous le $_SESSION ?
Oui, je prend l'apéro avec lui presque tous les soirs !-)
On me dit d'utiliser le $_SESSION pour cacher des résultats MYSQL.
Je ne sais pas qui est "On", mais il n'a pas forcément raison. En
mettant en cache de cette façon le résultat d'une requête, tu risques
d'avoir des données pas à jour si la base est modifiée pendant la durée
de la session... Accessoirement, il n'est pas forcément plus rapide
(selon la requête, la taille du jeu de données, le système, la phase de
la lune etc) de récupérer des données en session que de faire une
requête (il se peut même que récupérer des données en session implique
une requête SQL -> si la session est stockée en base)
$where = "ps.website_id=$cerise and b.raisin_id=$raisin";
$_SESSION['status'] = getVignoble($where);
}
// maintenant, ça devrait être ok
$status = $_SESSION['status'];
var_export($status);
?>
Mais bon... je le repète: ce n'est pas *nécessairement* une bonne idée,
donc réfléchis bien à *pourquoi* tu veux mettre ça en session ('On m'a
dis de le faire' n'étant pas une bonne réponse).
Oui, je prend l'apéro avec lui presque tous les soirs !-)
On me dit d'utiliser le $_SESSION pour cacher des résultats MYSQL.
Je ne sais pas qui est "On", mais il n'a pas forcément raison. En mettant en cache de cette façon le résultat d'une requête, tu risques d'avoir des données pas à jour si la base est modifiée pendant la durée de la session... Accessoirement, il n'est pas forcément plus rapide (selon la requête, la taille du jeu de données, le système, la phase de la lune etc) de récupérer des données en session que de faire une requête (il se peut même que récupérer des données en session implique une requête SQL -> si la session est stockée en base)
$where = "ps.website_id=$cerise and b.raisin_id=$raisin"; $_SESSION['status'] = getVignoble($where); }
// maintenant, ça devrait être ok $status = $_SESSION['status'];
var_export($status); ?>
Mais bon... je le repète: ce n'est pas *nécessairement* une bonne idée, donc réfléchis bien à *pourquoi* tu veux mettre ça en session ('On m'a dis de le faire' n'étant pas une bonne réponse).
Mes deux centimes...
P'tit Marcel
On me dit d'utiliser le $_SESSION pour cacher des résultats MYSQL.
Je suis d'accord avec Bruno: ce n'est pas une top idée de cacher des résultats d'une requête, sauf si ton site n'a qu'un seul utilisateur aiu monde...
$cerise=$_REQUEST['cerise']; $raisin=$_REQUEST['raisin']; $rsstatus = getVignoble("ps.website_id=$cerise and b.raisin_id $raisin");
Il faudrait savoir ce qu'il y a dans cette fonction. A priori : 1- il manque un = avant $raisin 2- ton programme n'est pas protégé contre un hacker
pour contrer le 2, il faudrait ajouter avant la ligne getvignoble ces instructions : if(!is_numeric($cerise) or !is_numeric($raisin)) { // gestion d'erreur die(); }
if(isset($_SESSION['status'])) {
comme vu par Olivier, il manque un ! avant le isset (ou alors le reste a été programmé par un Bandar-Log bourré)
eça -- P'tit Marcel stats sur les forums modérés http://www.centrale-lyon.org/ng/
On me dit d'utiliser le $_SESSION pour cacher des résultats MYSQL.
Je suis d'accord avec Bruno: ce n'est pas une top idée de cacher des
résultats d'une requête, sauf si ton site n'a qu'un seul utilisateur aiu
monde...
$cerise=$_REQUEST['cerise'];
$raisin=$_REQUEST['raisin'];
$rsstatus = getVignoble("ps.website_id=$cerise and b.raisin_id $raisin");
Il faudrait savoir ce qu'il y a dans cette fonction. A priori :
1- il manque un = avant $raisin
2- ton programme n'est pas protégé contre un hacker
pour contrer le 2, il faudrait ajouter avant la ligne getvignoble ces
instructions :
if(!is_numeric($cerise) or !is_numeric($raisin)) {
// gestion d'erreur
die();
}
if(isset($_SESSION['status'])) {
comme vu par Olivier, il manque un ! avant le isset (ou alors le reste a
été programmé par un Bandar-Log bourré)
eça
--
P'tit Marcel
stats sur les forums modérés http://www.centrale-lyon.org/ng/
On me dit d'utiliser le $_SESSION pour cacher des résultats MYSQL.
Je suis d'accord avec Bruno: ce n'est pas une top idée de cacher des résultats d'une requête, sauf si ton site n'a qu'un seul utilisateur aiu monde...
$cerise=$_REQUEST['cerise']; $raisin=$_REQUEST['raisin']; $rsstatus = getVignoble("ps.website_id=$cerise and b.raisin_id $raisin");
Il faudrait savoir ce qu'il y a dans cette fonction. A priori : 1- il manque un = avant $raisin 2- ton programme n'est pas protégé contre un hacker
pour contrer le 2, il faudrait ajouter avant la ligne getvignoble ces instructions : if(!is_numeric($cerise) or !is_numeric($raisin)) { // gestion d'erreur die(); }
if(isset($_SESSION['status'])) {
comme vu par Olivier, il manque un ! avant le isset (ou alors le reste a été programmé par un Bandar-Log bourré)
eça -- P'tit Marcel stats sur les forums modérés http://www.centrale-lyon.org/ng/
Bruno Desthuilliers
(snip)
2- ton programme n'est pas protégé contre un hacker
pour contrer le 2, il faudrait ajouter avant la ligne getvignoble ces instructions : if(!is_numeric($cerise) or !is_numeric($raisin)) { // gestion d'erreur die(); }
Heu... Qu'est-ce qui te permet d'affirmer que les champs ps.website_id et b.raisin_id sont numériques ??? Tu connais le schéma de la base de données ???
(snip)
2- ton programme n'est pas protégé contre un hacker
pour contrer le 2, il faudrait ajouter avant la ligne getvignoble ces
instructions :
if(!is_numeric($cerise) or !is_numeric($raisin)) {
// gestion d'erreur
die();
}
Heu... Qu'est-ce qui te permet d'affirmer que les champs ps.website_id
et b.raisin_id sont numériques ??? Tu connais le schéma de la base de
données ???
2- ton programme n'est pas protégé contre un hacker
pour contrer le 2, il faudrait ajouter avant la ligne getvignoble ces instructions : if(!is_numeric($cerise) or !is_numeric($raisin)) { // gestion d'erreur die(); }
Heu... Qu'est-ce qui te permet d'affirmer que les champs ps.website_id et b.raisin_id sont numériques ??? Tu connais le schéma de la base de données ???
Bruno Baguette
Heu... Qu'est-ce qui te permet d'affirmer que les champs ps.website_id et b.raisin_id sont numériques ??? Tu connais le schéma de la base de données ???
Dès fois - on n'en connait pas les raisons - la boule de cristal retombe en marche, et permet de trouver la lumières dans l'ombre !
-- Bruno Baguette
Heu... Qu'est-ce qui te permet d'affirmer que les champs ps.website_id
et b.raisin_id sont numériques ??? Tu connais le schéma de la base de
données ???
Dès fois - on n'en connait pas les raisons - la boule de cristal retombe
en marche, et permet de trouver la lumières dans l'ombre !
Heu... Qu'est-ce qui te permet d'affirmer que les champs ps.website_id et b.raisin_id sont numériques ??? Tu connais le schéma de la base de données ???
Dès fois - on n'en connait pas les raisons - la boule de cristal retombe en marche, et permet de trouver la lumières dans l'ombre !
-- Bruno Baguette
Guillaume
(snip)
2- ton programme n'est pas protégé contre un hacker
pour contrer le 2, il faudrait ajouter avant la ligne getvignoble ces instructions : if(!is_numeric($cerise) or !is_numeric($raisin)) { // gestion d'erreur die(); }
Heu... Qu'est-ce qui te permet d'affirmer que les champs ps.website_id et b.raisin_id sont numériques ??? Tu connais le schéma de la base de données ??? Je doute qu'il l'ait affirmé, mais plutôt qu'il soit parti sur l'idée de
champs numériques parce que la requête SQL compare ces champs à des "_id", qui sont généralement numériques aussi :)
J'étais sur la même idée.
-- Guillaume
(snip)
2- ton programme n'est pas protégé contre un hacker
pour contrer le 2, il faudrait ajouter avant la ligne getvignoble ces
instructions :
if(!is_numeric($cerise) or !is_numeric($raisin)) {
// gestion d'erreur
die();
}
Heu... Qu'est-ce qui te permet d'affirmer que les champs ps.website_id
et b.raisin_id sont numériques ??? Tu connais le schéma de la base de
données ???
Je doute qu'il l'ait affirmé, mais plutôt qu'il soit parti sur l'idée de
champs numériques parce que la requête SQL compare ces champs à des
"_id", qui sont généralement numériques aussi :)
2- ton programme n'est pas protégé contre un hacker
pour contrer le 2, il faudrait ajouter avant la ligne getvignoble ces instructions : if(!is_numeric($cerise) or !is_numeric($raisin)) { // gestion d'erreur die(); }
Heu... Qu'est-ce qui te permet d'affirmer que les champs ps.website_id et b.raisin_id sont numériques ??? Tu connais le schéma de la base de données ??? Je doute qu'il l'ait affirmé, mais plutôt qu'il soit parti sur l'idée de
champs numériques parce que la requête SQL compare ces champs à des "_id", qui sont généralement numériques aussi :)