Quelle est la valeur d'une variable id ?

Résolu/Fermé
Max747 Messages postés 258 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 11 janvier 2024 - 15 sept. 2020 à 14:12
Max747 Messages postés 258 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 11 janvier 2024 - 15 sept. 2020 à 19:12
Bonjour,

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 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
15 sept. 2020 à 14:28
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'];
1
Max747 Messages postés 258 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 11 janvier 2024
15 sept. 2020 à 15:31
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.
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476 > Max747 Messages postés 258 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 11 janvier 2024
15 sept. 2020 à 18:23
Si ton site fonctionne bien, elle existe bien, en effet, quelque part avant cette ligne 8 ci dessus.
Ton site fonctionne-t'il?
Si tu veux que nous t'aidions à la découvrir, il serait utile de partager l'ensemble de tes pages de code.
0
Max747 Messages postés 258 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 11 janvier 2024
15 sept. 2020 à 15:39
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.
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
Modifié le 15 sept. 2020 à 17:14
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 faire
echo $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
1
Max747 Messages postés 258 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 11 janvier 2024
15 sept. 2020 à 18:20
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.
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
15 sept. 2020 à 18:30
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
1
Max747 Messages postés 258 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 11 janvier 2024
15 sept. 2020 à 18:50
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.
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011 > Max747 Messages postés 258 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 11 janvier 2024
15 sept. 2020 à 19:05
Oui pour toutes tes questions. En fait on met n'importe quoi dans un cookie...

Pour la deuxième ligne ?:, ça donne ça :
$id =  !empty($a_auth) ? $a_auth[0] : NULL;

Équivaut à
if(!empty($a_auth))
    $id =  $a_auth[0];
else
    $id =  NULL;

Xavier
0
Max747 Messages postés 258 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 11 janvier 2024 > Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021
15 sept. 2020 à 19:12
Bien.
Merci.
Sujet résolu pour moi.
0