Les session et les variables super-globales servent à quoi ?

Fermé
lynda789456 Messages postés 225 Date d'inscription mercredi 24 février 2016 Statut Membre Dernière intervention 22 novembre 2016 - 28 mai 2016 à 16:25
jordane45 Messages postés 38284 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 novembre 2024 - 29 mai 2016 à 01:02
Bonjour tous le monde :)
S'il vous plait une session sert à quoi ?
Pourquoi des fois on met ,
$login
, et des fois
$_SESSION[$login]
????
et
if(!empty($_FILES))
//si le fichier téléchargé n'est pas vide ??
et
file_name = $_FILES['fichier']['name']; 
//initialisation, définition du nom du fichier avant le téléchargement ,c ça ??
Cordialement :)

1 réponse

jordane45 Messages postés 38284 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 novembre 2024 4 697
28 mai 2016 à 18:12
Bonjour,

Normalement .. on ne pose qu' UNE question par discussion...
mais bon....


et file_name = $_FILES['fichier']['name'];//initialisation, définition du nom du fichier avant le téléchargement ,c ça ??

Non. la variable $_FILES (qui est un ARRAY) contient le nom du fichier que tu es en train d'uploader.


if(!empty($_FILES))//si le fichier téléchargé n'est pas vide ??

Non.. ça ne vérifie pas si le fichier est vide.... ça vérifie si la VARIABLE $_FILES n'est pas vide.



S'il vous plait une session sert à quoi ?


Les variables de SESSION permettent de conserver des données en mémoire tant que l'utilisateur se trouve sur ton site et ce.. même si il change de page. (en gros.. tant que la navigateur est ouvert sur ton site et/ou que la durée de vie des sessions n'est pas atteinte.. la variable est disponible en mémoire.
Mais tu trouveras sans mal sur le net des explications plus complétes et/ou techniques sur le sujet.....
https://www.google.fr/search?q=php+session

Pourquoi des fois on met ,
$login , et des fois $_SESSION[$login] ????

$login est un variable. on y met ce qu'on veut.
La logique veut, vu le nom des variables que tu nous proposes... que $login contienne la même chose que $_SESSION['loggin'].

NB: $_SESSION est également une variable de type ARRAY (les tableaux)

NB² : Que ce soit les variables SESSION / COOKIE / POST / GET / FILES .... on les récupère "proprement" AVANT de les utiliser.
Par exemple:
$loggin = !empty($_SESSION['loggin']) ? $_SESSION['loggin'] : NULL;

Regarde ceci : https://forums.commentcamarche.net/forum/affich-37636387-php-notice-undefined-index

0
lynda789456 Messages postés 225 Date d'inscription mercredi 24 février 2016 Statut Membre Dernière intervention 22 novembre 2016
Modifié par lynda789456 le 28/05/2016 à 23:58
D'accord, merci pour ces réponses Jordane :)
Non. la variable
$_FILES 
(qui est un ARRAY) contient le nom du fichier que tu es en train d'uploader.
//Mais là on fait une initialisation ?
file_name = $_FILES['fichier']['name'];

Non.. ça ne vérifie pas si le fichier est vide.... ça vérifie si la VARIABLE $_FILES n'est pas vide.
//Pourquoi alors on teste la variable $_files si elle n'est pas vide ?
//Est ce que les sessions servent à sauvegarder les variables temporaires liés au user sur le serveur ??
//Et dans ce cas c quoi la différence entre mettre
$login
et
$_SESSION[$login]
??
Jordane dis moi juste le role de ces deux lignes stp :(
$req = $db->prepare('INSERT INTO files(name, file_url) VALUES(?,?)');$req-execute(array($file_name, $file_dest));

Merci beaucoup Jordane pour ces explications :)
0
jordane45 Messages postés 38284 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 novembre 2024 4 697 > lynda789456 Messages postés 225 Date d'inscription mercredi 24 février 2016 Statut Membre Dernière intervention 22 novembre 2016
29 mai 2016 à 00:05
/Mais là on fait une initialisation ? file_name = $_FILES['fichier']['name'];

=> On stocke le contenu de $_FILES['fichier']['name'] dans la varialble $ile_name

/Pourquoi alors on teste la variable $_files si elle n'est pas vide ?

=>Ben parce que si cette variable est vide ...et qu'on essaye de faire appel à une valeur dedans ... alors le programme va te cracher un message d'erreur......


Est ce que les sessions servent à sauvegarder les variables temporaires liés au user sur le serveur ??

=> Toute variable que tu souhaites conserver en mémoire le temps de la navigation sur le site par l'utilisateur. Son Login par exemple, son ID ...etc...

//Et dans ce cas c quoi la différence entre mettre $login et $_SESSION[$login] ??

=> C'est la même chose... C'est juste plus simple d'écrire $login ...au lieu d'écrire à chaque fois $_SESSION[$login]
Donc lorsqu'on va avoir besoin du contenu de $_SESSION[$login] ... on va d'abord le stocker dans $login.


Jordane dis moi juste le role de ces deux lignes stp :(
$req = $db->prepare('INSERT INTO files(name, file_url) VALUES(?,?)');
$req-execute(array($file_name, $file_dest));

Effectuer une REQUETE qui va INSERER dans la BDD, dans la table nommée files, dans les champs "name" et "file_url" respectivant les valeurs contenue dans les variable $file_name et $file_dest.


Vu les questions que tu me poses il semble évidant que tu ne disposes d'aucune connaissance en php (ni même en un quelconque langage de programmation....)
Je pense qu'il serait préférable que tu commences par le début .... et que tu suives des tutoriels sur les langages de programmation + des tutos sur les bases de données.
Sans ça ... tu vas venir poser 100 000 questions sur le forum à chaque nouvelle ligne de code.......
0
lynda789456 Messages postés 225 Date d'inscription mercredi 24 février 2016 Statut Membre Dernière intervention 22 novembre 2016
29 mai 2016 à 00:43
D'accord merci beaucoup beaucoup beaucoup Jordane :)
STP Jordane, les dernières questions :(
ces lignes servent à quoi svp ?
$query=mysql_query($sql); $rows=mysql_num_rows($query);if($rows==1){ $_SESSION['login']=$login;

et le :
if(isset($_POST['login'])){$login=$_POST['login'];}else{$login=NULL;}

$_POST['....']
//le POST stp ?
isset($_POST['login']
//le isset stp ?
Bonne soirée et merci beaucoup beaucoup beaucoup pour votre aide c gentil :)
0
jordane45 Messages postés 38284 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 novembre 2024 4 697
Modifié par jordane45 le 29/05/2016 à 01:03

ces lignes servent à quoi svp ?
$query=mysql_query($sql);
$rows=mysql_num_rows($query);

Ces deux lignes utilisent l'ancienne extension mysql contrairement aux lignes de tout à l'heure qui elles utilisent PDO.
La première sert à faire une requête
La seconde à savoir combien de résultats sont retournés par cette requête

Pour le reste de ta question... je vais te donner un premier cours qui te sera extrêmement utile pour progresser (et pourra même te servir pour ta vie de tous les jours)
C'est ceci : https://lmgtfy.app/?q=php+isset
Tu vas voir.. c'est magique... ^^

et pour POST : https://www.google.fr/search?q=php+POST
0