PHP : variable de session
Résolu/Fermé
dimi3
Messages postés
269
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
1 avril 2011
-
10 déc. 2010 à 09:39
dimi3 Messages postés 269 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 1 avril 2011 - 13 déc. 2010 à 17:38
dimi3 Messages postés 269 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 1 avril 2011 - 13 déc. 2010 à 17:38
A voir également:
- PHP : variable de session
- Easy php - Télécharger - Divers Web & Internet
- Php?id=1 - Forum PHP
- \R php ✓ - Forum PHP
- Php if plusieurs conditions ✓ - Forum PHP
- Php echo image ✓ - Forum PHP
11 réponses
Brendonuts
Messages postés
58
Date d'inscription
mercredi 22 juillet 2009
Statut
Membre
Dernière intervention
10 décembre 2010
12
10 déc. 2010 à 11:33
10 déc. 2010 à 11:33
Bonjour,
Oui. Cette question est surprenante, car les variables de session sont très utilisées en PHP.
Il vous suffit de démarrer votre session via la ligne <?php session_start(); ?> qui doit se situer en tout début de fichier (avant même le code HTML).
Vos variables de sessions se définissent ensuite via la ligne $_SESSION['var'] = "value";
Bon nombres de tutoriels très complets sont disponibles...
Oui. Cette question est surprenante, car les variables de session sont très utilisées en PHP.
Il vous suffit de démarrer votre session via la ligne <?php session_start(); ?> qui doit se situer en tout début de fichier (avant même le code HTML).
Vos variables de sessions se définissent ensuite via la ligne $_SESSION['var'] = "value";
Bon nombres de tutoriels très complets sont disponibles...
dimi3
Messages postés
269
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
1 avril 2011
20
10 déc. 2010 à 11:49
10 déc. 2010 à 11:49
Merci pour votre réponse. Je vais étudier ça avec soin.
dimi3
Messages postés
269
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
1 avril 2011
20
10 déc. 2010 à 14:32
10 déc. 2010 à 14:32
J'ai fait mes premiers essais avec session_stat(), mais ils ne sont pas concluants !
J'obtiens cet avertissement :
Qu'est-ce que cela signifie ?
Je vous remercie.
J'obtiens cet avertissement :
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /...chemin.../fichier.php:1) in /chemin/fichier.php on line 2
Qu'est-ce que cela signifie ?
Je vous remercie.
Melooo
Messages postés
1405
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
18 mars 2013
84
Modifié par Melooo le 10/12/2010 à 14:45
Modifié par Melooo le 10/12/2010 à 14:45
Bonjour,
Que tu as un affichage (echo) avant ton header
session_start(); doit être la première ligne de code de ta page.
Que tu as un affichage (echo) avant ton header
session_start(); doit être la première ligne de code de ta page.
dimi3
Messages postés
269
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
1 avril 2011
20
Modifié par dimi3 le 10/12/2010 à 14:55
Modifié par dimi3 le 10/12/2010 à 14:55
Merci de votre réponse.
session_start(); est pourtant bien en première ligne de mon code. Il n'y a pas d'echo avant.
Et voilà ce que j'obtiens encore :
Dur... dur...
Voici mon fichier 1 :
Et voici mon fichier 2 :
session_start(); est pourtant bien en première ligne de mon code. Il n'y a pas d'echo avant.
Et voilà ce que j'obtiens encore :
Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively in Unknown on line 0
Dur... dur...
Voici mon fichier 1 :
<?php session_start(); session_register("prenom"); session_register("nom"); $prenom = "Jean"; $nom = "Valjean"; ?>
Et voici mon fichier 2 :
<?php session_start(); echo "ID de session : ".session_id()."<br>"; echo "$prenom $nom"; session_unset(); session_destroy(); ?>
Melooo
Messages postés
1405
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
18 mars 2013
84
10 déc. 2010 à 14:54
10 déc. 2010 à 14:54
File le code :)
Melooo
Messages postés
1405
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
18 mars 2013
84
Modifié par Melooo le 10/12/2010 à 15:00
Modifié par Melooo le 10/12/2010 à 15:00
Dans ton php.ini essayes de remplacer cette ligne :
session.bug_compat_warn = 1
par
session.bug_compat_warn = 0
Voir : https://www.generation-nt.com/reponses/sessions-entraide-19965.html
session.bug_compat_warn = 1
par
session.bug_compat_warn = 0
Voir : https://www.generation-nt.com/reponses/sessions-entraide-19965.html
dimi3
Messages postés
269
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
1 avril 2011
20
10 déc. 2010 à 15:10
10 déc. 2010 à 15:10
rien n'y fait !
Melooo
Messages postés
1405
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
18 mars 2013
84
10 déc. 2010 à 15:14
10 déc. 2010 à 15:14
Bon apparement personne n'arrives à cerner ce problème, plusieurs recherche sur le net et toujours les mêmes réponse qui reviennet...
Essayes de lire ca :
https://forums.commentcamarche.net/forum/affich-6414114-message-d-erreur-incomprehenssible
Essayes de lire ca :
https://forums.commentcamarche.net/forum/affich-6414114-message-d-erreur-incomprehenssible
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 193
10 déc. 2010 à 14:56
10 déc. 2010 à 14:56
il faut que ce soit en début de page, c'est à dire strictement rien avant dans le fichier, même pas une ligne vide, ni code html.
Si t'as toujours le probleme, fais attention à bien utiliser un codage utf8 sans BOM (c'est un octet bisarre placé en début de fichier texte qui fout la merde)
Si t'as toujours le probleme, fais attention à bien utiliser un codage utf8 sans BOM (c'est un octet bisarre placé en début de fichier texte qui fout la merde)
dimi3
Messages postés
269
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
1 avril 2011
20
Modifié par dimi3 le 10/12/2010 à 15:03
Modifié par dimi3 le 10/12/2010 à 15:03
Oui, il n'y a vraiment rien avant la fonction de session et les fichiers ne sont pas encodés avec BOM.
Melooo, le code de mes 2 fichiers est dans le message précédent.
Melooo, le code de mes 2 fichiers est dans le message précédent.
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 193
10 déc. 2010 à 15:02
10 déc. 2010 à 15:02
fais voir le fichier ...
dimi3
Messages postés
269
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
1 avril 2011
20
Modifié par dimi3 le 10/12/2010 à 15:05
Modifié par dimi3 le 10/12/2010 à 15:05
Voici le fichier 1 :
<?php
session_start();
session_register("prenom");
session_register("nom");
$prenom = "Jean";
$nom = "Valjean";
?>
Et voici mon fichier 2 :
<?php
session_start();
echo "ID de session : ".session_id()."<br>";
echo "$prenom $nom";
session_unset();
session_destroy();
?>
<?php
session_start();
session_register("prenom");
session_register("nom");
$prenom = "Jean";
$nom = "Valjean";
?>
Et voici mon fichier 2 :
<?php
session_start();
echo "ID de session : ".session_id()."<br>";
echo "$prenom $nom";
session_unset();
session_destroy();
?>
dimi3
Messages postés
269
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
1 avril 2011
20
10 déc. 2010 à 16:21
10 déc. 2010 à 16:21
J'ai suivi à la lettre les conseils de la page https://forums.commentcamarche.net/forum/affich-6414114-message-d-erreur-incomprehenssible mais rien ne se résout. Je pense que ça vient de la configuration des serveurs de mon hébergeur et comme je n'ai pas accès au fichier php.ini, il n'y a pas d'espoir... En tout cas merci à tous pour votre attention et votre temps...
dimi3
Messages postés
269
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
1 avril 2011
20
Modifié par dimi3 le 10/12/2010 à 16:47
Modifié par dimi3 le 10/12/2010 à 16:47
@session_start(); ini_set ('session.bug_compat_42', 0); ini_set ('session.bug_compat_warn', 0); session_register("prenom"); session_register("nom"); $prenom = "Jean"; $nom = "Valjean";
Là, je n'ai plus de messages d'erreurs ou d'avertissements, mais les variables $nom et $prénom ne passent pas... Donc ça ne me sert pas à grand-chose... :-(
Melooo
Messages postés
1405
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
18 mars 2013
84
10 déc. 2010 à 16:58
10 déc. 2010 à 16:58
tu as essayé comme ca :
$_SESSION['nom'] = "Valjean"; $_SESSION[prenom'] = "Jean";
dimi3
Messages postés
269
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
1 avril 2011
20
10 déc. 2010 à 17:07
10 déc. 2010 à 17:07
Oui, les variables ne passent pas non plus.
dimi3
Messages postés
269
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
1 avril 2011
20
10 déc. 2010 à 19:11
10 déc. 2010 à 19:11
Avec le code suivant pour récupérer les variables, ça fonctionne :
Je l'ai trouvé à l'adresse : http://www.php-astux.info/sessions-php.php
Merci à tous.
foreach($_SESSION as $cle => $valeur) { echo " <li><strong>".ucfirst($cle)." : </strong><em>".$valeur."</em></li>\n"; }
Je l'ai trouvé à l'adresse : http://www.php-astux.info/sessions-php.php
Merci à tous.
dimi3
Messages postés
269
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
1 avril 2011
20
13 déc. 2010 à 17:38
13 déc. 2010 à 17:38
Je rajoute un petit détail qui m'a donné bien du fil à retordre. Il faut bien déclarer la variable de session dans le fichier index du site. Faute de quoi, la variable est irrégulièrement reconnue dans les autres pages du site.