Variables de sessions, portées et warning, au secours !!!
RickDangerous57
Messages postés9Date d'inscriptionmardi 8 novembre 2005StatutMembreDernière intervention21 mai 2006
-
13 mai 2006 à 14:03
AZIRIAZIZ
Messages postés28Date d'inscriptiondimanche 4 juillet 2010StatutMembreDernière intervention19 mai 2011
-
31 juil. 2010 à 23:18
Bonjour,
Je souhaitais savoir quelle était la portée des variables de session. Après un session_start(), je n'ai pas réussi à récupérer mes variables de session dans toutes mes pages. Ma variable $_SESSION['valid_user'] n'est pas visible dans tous mes sources appellés.
J'ai ajouté un session_start(); sur la première ligne de mon site (index.php) mais cette même page est rappellée souvent avec des paramètres différents pour réaliser des affichages différents dans des DIV en CSS2.
J'utilise une base de données pour gérer les utilisateurs accédant à certaines sections protégées de mon site.
Mes questions sont les suivantes :
Comment faire pour afficher une page à plusieurs reprises dans laquelle je démarre une session sans avoir d'erreur ou de warning ?
Quel est la portée des variables de session ?
Adresse de mon site www.dolphin-zone.net,
Merci d'avance à tous pour vos réponses,
Rick
A voir également:
"Php variables" "server api" "php version 4.4.3" "build date"
RickDangerous57
Messages postés9Date d'inscriptionmardi 8 novembre 2005StatutMembreDernière intervention21 mai 2006 13 mai 2006 à 16:17
Mes erreurs :
1- Pourquoi dans ma page index.php mes variables de sessions ne sont
pas visibles ? et dans un fichier inclu elles le sont ? (voir mes
source plus bas)
2- Pourquoi quand je recharge ma page index.php j'ai une erreur = > session "already started .... "
RickDangerous57
Messages postés9Date d'inscriptionmardi 8 novembre 2005StatutMembreDernière intervention21 mai 2006 13 mai 2006 à 17:19
Ok. J'ai compris qu'il fallait commencer de suite avec session_start() et ne pas rappeller cette fonction si la session n'est pas détruite, il me reste tout de même un problème : j'essaie d'afficher le contenu d'une variable de session dans mon index.php (ligne 72) :
=> cette dernière ne s'affiche pas (et pas d'erreur ...)
Dans ce même fichier index.php j'inclu dans un DIV un autre fichier accueil.php (ligne 74) et là, dans ce dernier le contenu de cette même variable s'affiche ...
je ne comprends pas pourquoi elle s'affiche à ce moment ...
// Affichage après login réussi
case 'login' :
{
echo ("
>>> Bienvenue, vous êtes loggué en : ".$_SESSION['valid_user']." <<<
");
// Redirection vers l'acueil sans message au bout de 10 secondes
echo("<meta http-equiv="refresh" content="10;URL=index.php?page=accueil&option=">");
break;
}
Merci pour vos réponses déjà postées et merci d'avance pour les futures ;o)
Rick
Vous n’avez pas trouvé la réponse que vous recherchez ?
RickDangerous57
Messages postés9Date d'inscriptionmardi 8 novembre 2005StatutMembreDernière intervention21 mai 2006 13 mai 2006 à 17:52
Merci beaucoup pour votre aide !
Le problème était tout simplement celui résolu par <juki_webmaster>, pourquoi un <? $_SESSION['valid_user'] ?> remplacé
par un <?php echo $_SESSION['valid_user']; ?> posait-il problème ? J'utilise cette syntaxe dans d'autres parties de code et
cela fonctionne ...
Merci à tous ceux qui ont répondus à mes questions, mon post est résolu ;o)
AZIRIAZIZ
Messages postés28Date d'inscriptiondimanche 4 juillet 2010StatutMembreDernière intervention19 mai 20111 24 juil. 2010 à 14:01
bjour
merci de tester ce code et me dire pourquoi la variable contenu perd sa valeur a la selection d'une wilaya ? et comment faire pour que cette derniere reste sur le menu apropos
votre aide me sera d un grand secours merci
<?php
require_once("connexionMysql.inc.php");
if(isset($_GET['famille']))
$requete="SELECT reference,prix FROM articles WHERE famillesID=".$_GET['famille'] ;
else
$requete="SELECT reference,prix FROM articles ";
$resultat=mysql_query($requete);
//--------------requête du menu
$requete2="SELECT ID,intitule FROM familles ";
$resultat2=mysql_query($requete2);
?>
<html>
<head>
<link rel="stylesheet" href="style.css" type="text/css" />
<title>ma page</title>
<script type="text/javascript">
function montrer(element,lien)
{
var les_elements=new Array("apropos","inscription","liens-utiles","Contact");
for(var i=0; i<les_elements.length; i++)
{
document.getElementById(les_elements[i]).style.display='none';
document.getElementById(i+1).className='lien-nonactif';
}
document.getElementById(element).style.display='block';
document.getElementByid(lien).className='lien-actif';
}
</script>
<style type="text/css">
body {
font-family:verdana;
font-size:12px;
}
require_once("connexionMysql.inc.php");
if(isset($_GET['famille']))
$requete="SELECT reference,prix FROM articles WHERE famillesID=".$_GET['famille'] ;
else
$requete="SELECT reference,prix FROM articles ";
$resultat=mysql_query($requete);
//--------------requête du menu
$requete2="SELECT ID,intitule FROM familles ";
$resultat2=mysql_query($requete2);
}
elseif ($contenu=='s_inscrire')
{
if (isset($_POST['pseudo']))
{
$pseudo=$_POST['pseudo'];
$pass=$_POST['pass'];
$email=$_POST['email'];
mysql_connect("localhost","root","") or die ("bd non connectée");
mysql_select_db("p404") or die("BD Inconnue");
$date=date("d/m/y");
$sql="INSERT INTO inscription VALUES('','".$pseudo."','".$pass."','".$date."','".$email."')";
mysql_query($sql) or die ("erreur d ecriture");
echo "inscription reussie";
}
else
{
echo "
Faire attention, en les FLUX POST et GET, car ton formulaire est en METHOD="POST" et que tu utilises des variables en URL donc du "GET".
L'idéal étant
Pour que "A propos" reste actif, je dirais tester en PHP le fait de poser "A propos" actif suivant des critère passer en Variable (POST ou GET).
ex:
<?PHP
$titreCss["apropos"]="";
$titreCss["s_inscrir"]="";
$titreCss["liens"]="";
$titreCss["contact"]="";
/*avec $Catego passée en POST ou GET contenant "apropos" "s_inscrir" "liens" "contact"*/
print('
[?contenu=apropos apropos de la 404]
[?contenu=s_inscrire s'inscrire]
[?contenu=liens liens]
[?contenu=contact contact]
');
?>
Attention ce bout de code n'a pas été testé des erreurs de frappe ont pue se glisser.
Ensuite on peut aller plus loin avec les tableaux et tout paramétrer et utiliser un FOREACH.
AZIRIAZIZ
Messages postés28Date d'inscriptiondimanche 4 juillet 2010StatutMembreDernière intervention19 mai 20111 31 juil. 2010 à 23:18
merci pour l effort mais j y arrive toujours pas et je commence sérieusement a avoir mal a la tête si vous pouvez m expliquer encore cela m épargnerai des quantités de DOLIPRANE Merci