Quelle est la valeur d'une variable id ?
Résolu
Max747
Messages postés
264
Statut
Membre
-
Max747 Messages postés 264 Statut Membre -
Max747 Messages postés 264 Statut Membre -
Bonjour,
Quelqu' un pourrait il me rappeler comment obtenir la valeur de la variable $id de ce script ci dessous montré en exemple
:
Merci d'avance.
Quelqu' un pourrait il me rappeler comment obtenir la valeur de la variable $id de ce script ci dessous montré en exemple
:
$requete = $connection->prepare("SELECT username FROM inscriptions WHERE id='$id'");
$requete->execute(array(
':username' => $id
));
while ($row = $requete->fetch(PDO::FETCH_ASSOC))
{
$user=($row['username']);
$_SESSION['id_inscription'] = $id;
}
Merci d'avance.
Configuration: Windows / Opera 36.0.2130.80
3 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
comme tu as la valeur, que veux-tu dire par "obtenir la valeur"?
si tu veux l'obtenir dans une autre page:session_start(); $id = $_SESSION['id_inscription'];
-
Je veux dire connaître la valeur de la variable $id.
Elle existe bien quelque part avant cette ligne 8 ci dessus.
$_SESSION['id_inscription'] est définie à partir de $id.Mais je ne sais pas trouver la valeur de cette variable.
$id est un chiffre ou un nombre en correspondance avec un champ d'une colonne s'appelant id en auto-incrément d'une table.
Alors ma question est: Comment obtenir ce chiffre ou ce nombre pour l'inclure dans une variable?
Un exemple pour ma compréhension serait le bienvenu.
Merci. -
Je veux dire connaître la valeur de la variable $id.
Elle existe bien quelque part avant cette ligne 8 ci dessus.$_SESSION['id_inscription']
est définie à partir de $id.Mais je ne sais pas trouver la valeur de cette variable.
$id est un chiffre ou un nombre en correspondance avec un champ d'une colonne s'appelant id en auto-incrément d'une table.
Alors ma question est: Comment obtenir ce chiffre ou ce nombre pour l'inclure dans une variable?
Un exemple pour ma compréhension serait le bienvenu.
Merci.
-
-
Bonjour,
C'est forcément écrit quelque part plus haut dans le code...
À savoir que quand une page php est inclue dans une autre en utilisant « include », les variables sont portées.
Donc si on a page1.php qui contient$id=5; include("page2.php");
, on peut très bien faireecho $id;
dans page2.php.
Tout ça pour dire qu'il faut que tu recherches :
- Soit dans la même page, un code du genre $id = ...
- Soit dans une autre page, un code du genre include("ta_page.php") où ta_page est le nom du fichier où le script que tu montres est placé. (ça peut être include, require, include_once, require_once, avec des guillemets ou des quotes... Ce sera probablement plus rapide de faire directement une recherche sur le nom de ton fichier dans le texte des autres fichiers. Notepad++ fait ça très bien, AgentRansack aussi.)
Xavier-
Voici le résultat de mes recherches:
// récupération PROPRE de la variable COOKIE AVANT de l'utiliser $auth = !empty($_COOKIE['auth']) ? $_COOKIE['auth'] : NULL; $a_auth = explode('-----',$auth); // on extrait l'ID si présence cookies. $id = !empty($a_auth) ? $a_auth[0] : NULL; if (!empty ($id)) { //Présence cookie. $requete = $connection->prepare("SELECT id, username, password FROM inscriptions WHERE id='$id'"); $requete->execute(array( ':username' => $id, ':password' => $id )); while ($row = $requete->fetch(PDO::FETCH_ASSOC)) { $_SESSION['id_inscription']=($row['id']); $_SESSION['username']=($row['username']); $_SESSION['password']=($row['password']); } $_SESSION['id'] = $id;
Cette ligne:$auth = !empty($_COOKIE['auth']) ? $_COOKIE['auth'] : NULL;
dont la variable $auth est un cookie comportant un id.
Sur cette ligne ci dessous:$id = !empty($a_auth) ? $a_auth[0] : NULL;
On crée la variable $id comportant le numéro ou nombre contenu dans le cookie.
Ainsi je sais comment est obtenu cette variable id.
Mais peux tu m'expliquer la syntaxe de cette ligne:$auth = !empty($_COOKIE['auth']) ? $_COOKIE['auth'] : NULL;
Et de celle ci:$id = !empty($a_auth) ? $a_auth[0] : NULL;
Merci.
-
-
Alors, l'opérateur « ? : » (appelé opérateur ternaire car il opère sur trois opérandes) est en fait une sorte de raccourci pour dire if...else.
$auth = !empty($_COOKIE['auth']) ? $_COOKIE['auth'] : NULL;
pourrait s'écrire :if (!empty($_COOKIE['auth'])) $auth = $_COOKIE['auth']; else $auth = NULL;
De même pour la ligne suivante.
La fonction « empty », quant à elle, permet de savoir si une variable est affectée et si sa valeur est non-vide (donc différente de 0, chaîne vide "", false, tableau vide...).
Xavier-
Merci pour le "?" dont je ne connaissais pas sont utilité.
Pour la ligne suivante te serait il possible de la faire correspondre avec if et else pour plus de certitude dans mon esprit?
Concernant !empty, je savais déjà.Merci.
NULL est une valeur vide je crois?
Différente de false ou true si je ne me trompe pas?
Ainsi il est possible d'inclure dans un cookie l'id d'une table correspondant à un champ bien défini.
Comme par exemple une valeur se trouvant dans un champ d' une colonne username.
-