Aller au menu - Aller au contenu

Variables superglobales, sessions et cookies

Pour accéder à cette section
Connectez-vous !
connexion_rpx
Page Précédente  1  2  3 
Pseudo Commentaire
Page Précédente  1  2  3 
Hors ligne etienne.castay # Posté le 27/09/2010 à 17:49:31

Bonjour à tous,

Un gros HELP car vraiment, je n'arrive pas à m'en sortir :(

Je cherche à mettre en superglobale le choix de ma case à cocher.

Avec la fonction Alert (la ligne en commentaire), tout va bien :
- quand coché, j'ai bien un message TRUE.
- quand décoché, j'ai bien un message FALSE.

Par contre, avec mes bouts de PHP, ma var superglobale reste toujours à false :
Array ( [Sep_Box_1_1] => FALSE )


Voici le code de test.php
------------------------------------------------------------------

<?php session_start(); ?>

<html>
<head>
<script language="JavaScript" type="text/JavaScript">
function test()
{
myform = document.forms[0];
// (myform.SepBox_1_1.checked == true) ? alert("TRUE") : alert("FALSE");
(myform.SepBox_1_1.checked == true) ? <?php $_SESSION['Sep_Box_1_1'] = "TRUE" ?> : <?php $_SESSION['Sep_Box_1_1'] = "FALSE" ?> ;
}
</script>

</head>

<body>
<p>Test</p>

<form> <p><input type="checkbox" name="SepBox_1_1" value="checkbox" onClick="test()" /> <label for="SepBox_1_1">Ma case à cocher</label> </p> </form>

<a href="show_superglobales.php">show_superglobales</a>
</body>
</html>

------------------------------------------------------------------

Voici le code de show_superglobales.php
------------------------------------------------------------------
<?php session_start(); ?>
<html>
<head> <title>show_superglobales</title> </head>
<body> <?php print_r($_SESSION); ?> </body>
</html>
Hors ligne orquato # Posté le 30/09/2010 à 19:26:09
Avatar

Bonjour,

Je travail en local sur le serveur MANP.
J'utilise la fonction "session_start"
Malheureusement elle ne fonctionne pas.
J'ai vu sur le forum que pour faire fonctionnées les variables superglobales, il faut absolument créer un répertoire nommé "sessions" à la racine du serveur.

Pouvez vous m'aidez à savoir comment on créer un répertoire à la racine du serveur, ne sachant pas où la racine se trouve ?
Hors ligne dospass # Posté le 15/12/2010 à 19:16:56

Avis : Très bon

Un tuto facile à comprendre, mais j'aurais aimé que ce soit un peu plus développé, en particulier sur les sessions et cookies.
Par exemple on met :
Citation : m@teo
Il y a un petit problème avec setcookie... Comme pour session_start, cette fonction ne marche que si vous l'appelez avant tout code HTML (donc avant la balise <!DOCTYPE>).


mais on ne dit pas si, comme pour session_start, il faut répéter set_cookie pour chaque page où on veut l'utiliser.
Ça me paraîtrait étonnant car normalement Set_cookie est là pour créer un cookie et on ne veut pas créer un cookie à chaque nouvelle page. Mais d'un autre côté on n'est pas sûr.
Par ailleurs, je vois dans les commentaires que beaucoup de gens semblent utiliser ces deux fonctions à la fois. Est-ce que c'est obligatoire ?
Si non, quel est l'intérêt ?

Bref, il y a quelques questions sans réponse.

Mais dans l'ensemble c'est un bon tuto pour le php. :magicien:
Hors ligne otibom # Posté le 12/01/2011 à 22:58:02
Avatar

Il y a une erreur dans ce chapitre.
En effet, d'après la documentation, session_destroy() ne suffit pas à déconnecter l'utilisateur.

http://fr.php.net/session_destroy
Hors ligne stafilo # Posté le 28/01/2011 à 14:54:27

Ville : Chessy
Pays : France métropolitaine

bonjour à tous,
Je vous dresse le tableau,je débute en php et comme tout apprentis je me fais un petit site en local pour tester mes connaissance :-° si petites soient-elles...
Mais voilà j ai un petit soucis concernant les sessions.
en index j ai un tout petit formulaire qui demande le prénom du visiteur (jusque la pas de souci).
J arrive bien à récupérer le $_POST['prenom'] dans la page cible encore pas de soucis,mais lorsque j applique la procédure des sessions,et biiiieeeennnn ...... la je n arrive pas à récupérer le prenom dans mes autres pages.
J ai lu et relu le tutoriel j ai essayé des tas de trucs mais rien a faire...JE CRAAAAQQQQQUUUUEEE!!!!!
Il y aurait il une âme charitable pour éclaircir ma lanterne?
merci a tous et merci pour ce tutoriel génial
Hors ligne stafilo # Posté le 28/01/2011 à 15:15:36

Ville : Chessy
Pays : France métropolitaine

heuuuuu c est restafilo,
ne vous cassez pas la tête j ai fini par trouver la solution :p ...
il me suffisait de déclarer dans ma 1ere page cible, avant le <!doctype> :
$_SESSION['prenom'] = $_POST['prenom'];
et ça maaarrccchhhhe .
je viens de me mettre une grande claque dans le dos :lol:
merci et désolé si quelqu un a essayé de trouver ma réponse :-°
bye
stafilo
Hors ligne ezdixan.34 # Posté le 24/02/2011 à 21:18:55
Avatar

salut jai une petite question regarder se code que jai prix du chapitre

<?php
setcookie('pseudo', 'M@teo21', time() + 365*24*3600, null, null, false, true); // On écrit un cookie
setcookie('pays', 'France', time() + 365*24*3600, null, null, false, true); // On écrit un autre cookie...
?>

on c'est tous que sa creer des cookies et c'est obliger que ya marquer pseudo mateo21 et pays france est ce que on a le droit de changer?
merci d'aidee
Hors ligne nasadi # Posté le 09/04/2011 à 09:58:30

Trés bon tuto.
Il faut juste mentionner quand doit on utiliser les coockies/sessions ou utiliser les deux à la fois pour plus de fléxibilité.
Hors ligne nasadi # Posté le 09/04/2011 à 10:02:21

et pour supprimer un coockie, il suffit donner une date ultérieur comme ceci
<?php
setcookie('pseudo', 'M@teo21', time()-3600);
?>
Hors ligne nasadi # Posté le 09/04/2011 à 10:09:32

et pour supprimer les variables de session
<?php
$_SESSION = array();
?>
Hors ligne timozattol # Posté le 24/04/2011 à 20:32:38
Avatar

Ville : Geneve
Pays : Suisse

Salut, petit bug, une balise <span class="courrier"> s'affiche dans le texte assez souvent. Peut être que c'est mon ordi... Allez vérifier, j'en ai une à la 2ème ligne du paragraphe "LES SESSIONS"
Hors ligne 007jackpot # Posté le 28/08/2011 à 15:54:04
Qui le veut le peut
Avatar

Il pourrait être judicieux d'expliquer ce qu'est la fixation de session, il suffit d'indiquer aux lecteurs de changer l'identifiant de session des utilisateurs avant de les authentifier ou de stocker des infos sensibles au début de la session.

Il faut en pratique faire appel à la fonction session_regenerate_id() pour éviter ce problème.

Progression dans la lecture des tutoriaux :
XHTML / CSS : |||||||||| 100 % PHP / MySQL : |||||||||| 100 % C : |||||||||| 100 % C# (C# et .NET de 1 à 4) : |||||||||| 100 % Blender : |||||||||| 100 % Linux : |||||||||| 100 %

Image utilisateur
Image utilisateur
 
Hors ligne thedead05 # Posté le 08/01/2012 à 02:38:11
Avatar

Il serrait important de cite avec une baliste ERREUR que les variables SESSION qui vont stocker les info doivent être déclaré dans les mes baliste php que le SESSION_START voici un exemple
<code=php>
<?php
session_start();
$_SESSION['on stock ici sans problème']
?>
//si on sépare nos variable session qui vont servire à stocker par une nouvelle baliste php comme ceci
<?php
session_start();
?>
<?php
$_SESSION['on stock ici avec problème']
?>
</code>
Si on déclare la variable session comme dans mon deuxieme exemple on efface ce que l'on met dedans aussitôt la page regénéré

Est-ce normale qu'une ensemble de réaction chimique puisse Rire,Pleurer,Aimer,Vivre...
 
Hors ligne xpiratex # Posté le 22/02/2012 à 13:20:36
Avatar

il faudrer fair tp sur un espace membre (formulaire d'incription, de connexion puis page de connexion et page index apres la connexion securise) car c'est un peu difficile de comprendre sans avoir de vrai exemple merci d'avance

http://hitsky.fr/ -La webradio complétement sky !!


il embauche!!

 
Hors ligne julian007 # Posté le 27/02/2012 à 04:35:26

J'ai un problème avec le code PHP pour les sessions, il ne se lance pas seul le code html s'éxécute.

et ça donne ça

Re-bonjour !

Je me souviens de toi ! Tu t'appelles !
Et ton âge hummm... Tu as ans, c'est ça ? :-D

Je ne comprends pas bien habituellement mon navigateur le lit sans problèmes

Merci d'avance pour votre aide
Hors ligne julian007 # Posté le 27/02/2012 à 04:46:53

ahh oui et voici les messages d'erreur:Notice: Undefined index: prenom in C:\wamp\www...
Undefined index: nom in C:\wamp\www....
et Undefined index: age in C:\wamp\www...
Hors ligne Ek # Posté le 11/04/2012 à 17:41:34
Avatar

Avis : Très bon

Super, tout le mystère de $_GET['balbla'] et $_POST['blabla'] s'envole avec en bonus la découverte des Sessions et Coockies qui vont me simplifier grandement la vie :-)
Hors ligne jacques1434 # Posté le 21/04/2012 à 09:23:12
Avatar

Citation : etienne.castay
Bonjour à tous,

Un gros HELP car vraiment, je n'arrive pas à m'en sortir :(

Je cherche à mettre en superglobale le choix de ma case à cocher.

Avec la fonction Alert (la ligne en commentaire), tout va bien :
- quand coché, j'ai bien un message TRUE.
- quand décoché, j'ai bien un message FALSE.

Par contre, avec mes bouts de PHP, ma var superglobale reste toujours à false :
Array ( [Sep_Box_1_1] => FALSE )


Voici le code de test.php
------------------------------------------------------------------

Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php session_start(); ?>

<html>
 <head> 
    <script language="JavaScript" type="text/JavaScript">
    function test()
    {
     myform = document.forms[0];
//    (myform.SepBox_1_1.checked == true) ? alert("TRUE") : alert("FALSE");
 <gras>     (myform.SepBox_1_1.checked == true) ? <?php $_SESSION['Sep_Box_1_1'] = "TRUE" ?> : <?php $_SESSION['Sep_Box_1_1'] = "FALSE" ?> ;</gras>
    } 
    </script>
    
</head>
 
<body>
 	<p>Test</p>   

 	<form> <p><input type="checkbox" name="SepBox_1_1" value="checkbox" onClick="test()" /> <label for="SepBox_1_1">Ma case à cocher</label>  </p> </form>	 

	<a href="show_superglobales.php">show_superglobales</a>
</body> 
</html>

------------------------------------------------------------------

Voici le code de show_superglobales.php
------------------------------------------------------------------
Code : PHP
1
2
3
4
5
<?php session_start(); ?>
<html>
 <head> <title>show_superglobales</title> </head>
 <body> <?php print_r($_SESSION); ?> </body> 
</html>

Si votre problème est résolu : cliquez sur Image utilisateur pour montrer que vous avez réussi !!! :)
Et un conseil, cliquez ici : http://www.l2-semper-fidelis.com/catchem.php?id=95513 pour avoir un super truc !!!! :)
 
Hors ligne Maxime Barbeau # Posté le 27/04/2012 à 17:47:00

Avis : Bon

bonjour,
je suis actuellement en train de créer un site avec une connection pour les utilisateurs.
J'aurais aimer savoir comment je pourrais faire pour integrer le nom de l'utilisateur dans la variable du cookies pour pouvoir le recuperer sur une autre page?
merci
Hors ligne Stojil # Posté le 02/05/2012 à 07:31:03
Avatar

Avis : Très bon

@jacques1434

Salut,

Alors avant tout, je précise que je viens de lire cette section de PHP, donc je suis aussi novice que toi.
A la lecture de ce script, 3 idées me viennent :

1. Un détail mais dans la partie formulaire de ton HTML, il n'y a pas d'id à l'<input>, par conséquent le 'for' de ton label ne sert à rien.
2. ça me fait vraiment bizarre de voir du html brut dans du javascript (les balises <gras>, les virer serait peut-être la solution.
3. Si la 2 n'a pas marché, j'ai une autre idée. Il est probable que javascript n'arrive pas à lire le php et les balises correspondantes. De là me vient l'idée un petit "tricks" à essayer : et si tu mettais des '___' autour des deux <?php ?> ?? Ca permettrait à ces instructions de repasser en format html avant d'être reconverties en php. Je ne suis pas sûr de mon coup hein, c'est juste une idée en passant qui pourrait marcher :)

Bons tests !
Hors ligne ZeshiKun # Posté le 05/05/2012 à 20:23:30

Avis : Très bon

Super cours, mais comment on fait pour mettre une valeur dans une super globale avec un formulaire ?

EDIT :

Inutile de répondre, j'ai mis une valeur normale que j'ai stockée ensuite dans une super globale ^^
Pour accéder à cette section
Connectez-vous !
connexion_rpx