IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

variable $_SESSION au rechargement


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 11
    Points : 8
    Points
    8
    Par défaut variable $_SESSION au rechargement
    Bonsoir à tous;

    Je vais tenter d'être le plus clair possible.
    Je réalise un site pour une galerie. Je suis actuellement sur la partie administration et je rencontre un probleme de variable qui disparait ou qui est remise a zero.

    Voici mon code (que j'explique par la suite).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    <?php
    	$_SESSION['mdp'] = $_POST['mdp'];
    	$_SESSION['login'] = $_POST['login'];
    	if (isset($_SESSION['mdp'])  and isset($_SESSION['login'])){
    		$mdp = $_POST['mdp'];
    		$login = $_POST['login'];
    	}
    	else{
    		$_SESSION['mdp'] = "";
    		$_SESSION['login'] = "";
     
    	}
    	if (($_SESSION['mdp'] == "coucou") and ($_SESSION['login'] == "galerie")){ // login = galerie mot de passe = coucou 
    ?>
     
    <?php
    $text='
    <?xml version="1.0" ?>
    <album
    showbuttons="'.$_GET['bouton'].'"
    showtitles="'.$_GET['titre'].'"
    randomstart="'.$_GET['random'].'"
    timer="'.$_GET['vitesse_transition'].'"
    aligntitles="'.$_GET['position'].'"
    alignbuttons="'.$_GET['position'].'"
    transition="'.$_GET['transition'].'"
    speed="20"
    >
    <img src="_diapo/6.jpg" />
    <img src="_diapo/7.jpg"  />
    <img src="_diapo/8jpg"  />
    <img src="_diapo/9.jpg"  />
    <img src="_diapo/10.jpg"  />
    </album>';
     
    		$fichierXML = "_xml/dewslider.xml";
    		$openfichier = fopen($fichierXML,"r+"); 
    		fputs($openfichier,$text); 
    		fclose($openfichier);
    ?>
    	<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    		<head>
    			<title>Galerie</title>
    			<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    			<link rel="stylesheet" media="screen" type="text/css" title="Design" href="_css/admin.css" />
    		</head>
    		<body>
    			<div id="conteneur">
    				<div id="title">Administration du site : Galerie </div>
    					<div id="conf_accueil">
    						<div class="titre_rubrique">Configuration diaporama accueil</div>
    						<form action="admin.php" method="get">
    							<table align="center">
    								<tr>
    									<td>Afficher les Boutons de contrôle</td>
    									<td>
    										<select name="bouton">
    											<option value="yes">oui</option>
    											<option value="no" selected="selected">non</option>
    										</select>
    									</td>
    								</tr>
    								<tr>
    									<td>Afficher le titre des photos</td>
    									<td>
    										<select name="titre">
    											<option value="yes">oui</option>
    											<option value="no" selected="selected">non</option>
    										</select>
    									</td>
    								</tr>
    								<tr>
    									<td>Position des boutons et du titre des photos</td>
    									<td>
    										<select name="position">
    											<option value="top">Haut</option>
    											<option value="bottom" selected="selected">bas</option>
    										</select>
    									</td>
    								</tr>
    								<tr>
    									<td>choissisez l'effet de transition</td>
    									<td>
    										<select name="transition">
    											<option value="fade" selected="selected">fade</option>
    											<option value="slide">slide</option>
    											<option value="push">push</option>
    											<option value="pop">pop</option>
    											<option value="warp">warp</option>
    											<option value="blur">blur</option>
    										</select>
    									</td>
    								</tr>
    								<tr>
    									<td>Vitesse de transistion (ms)</td>
    									<td>
    										<select name="vitesse_transition"> 
    											<option value="1">1</option>
    											<option value="2">1</option>
    											<option value="3">3</option>
    											<option value="4">4</option>
    											<option value="5"  selected="selected">5</option>
    											<option value="6">6</option>
    											<option value="7">7</option>
    											<option value="8">8</option>
    											<option value="9">9</option>
    											<option value="10">10</option>
    										</select>
    									</td>
    								</tr>
    								<tr>
    									<td>Démarrage aléatoire</td>
    									<td>
    										<select name="random">
    											<option value="yes">Oui</option>
    											<option value="no">Non</option>
    										</select>
    									</td>
    								</tr>
    								<tr>
    									<td>Valider les options</td>
    									<td><input type="submit" value="Valider" /></td>
    								</tr>
    								<tr align="center">
    									<td rowspan="8" colspan="2">
    										<object type="application/x-shockwave-flash" data="_flash/dewslider.swf?xml=_xml/dewslider.wml" width="340" height="227">
    											<param name="movie" value="_flash/dewslider.swf?xml=_xml/dewslider.xml" />
    										</object>
    									</td>
    								</tr>
    							</table>
    						</form>
    					</div>
    					<div id="text_accueil">
    						<div class="titre_rubrique">Texte page accueil</div>
    						<form action="" method="post">
    							<textarea name="text_acceuil" />
    								<?php 
    									include ('xxxxx.php');
    									$connect = mysql_connect("$mysql_host","$mysql_login","$mysql_pass") or die ('conection impossible a la base');
    									mysql_select_db("$mysql_db", $connect) or die ('Selection impossible de la table');
    									$sql = 'SELECT * FROM generale';
    									$back = mysql_query($sql);
    									while ($data = mysql_fetch_array($back)) { 
    										$text= $data['text_accueil'];
    										echo $text;
    									}
    								?>
    							</textarea>
    							<input type="submit" value="Envoyer" align="right"/>
    						</form>
    					</div>
    				</div>
    			</div>
    		</body>
    	</html>
    <?php
    	}
    	else // le mot de passe n'est pas bon
    	{ 
    	?>
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    		<head>
    			<title>Administration du site : </title>
    			<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    			<link rel="stylesheet" media="screen" type="text/css" title="Design" href="_css/admin.css" />
    		</head>
    	    <body>
    			<div id="title">Administration du site : Galerie </div>
    			<div id="auth">
    				<form action="admin.php" method="post">
    					<input type="text" name="login" value="utilisateur"/> 
    					<input type="text" name="mdp" value="password"/> 
    					<input type="submit" value="Valider" />
    				</form>
     
    			</div>
    		</body>
    	</html>
    	<?php
    	}
    ?>

    Explication:

    la zone d'administration ce fait a partir de la page admin.php (le code ci dessu)

    lorsque cette page est appelé elle demande le mot de passe, si celui-ci est bon, elle affiche les différents parametres pouvant être modifier, si le mot de passe ne l'ai pas elle redemande de s'identifier.

    Une fois identifier, on tripote les différentes option du site et on valide...

    (le probleme est la)

    Je r'appel la même page admin lors de cette validation qui effectuer les opération, mais au lieu de retomber sur les différentes options, je tombe sur la zone de login. Voila.

    Je souhaiterai savoir comment faire pour une fois l'action valider je puisse ne pas être obligé de me ré-identifier.

    j'espère avoir été claire, Si ce n'est pas le cas je donnerai toute les infos nécessaire.

    Je sèche complètement sur ce truc

    Merci a vous

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 56
    Points : 47
    Points
    47
    Par défaut
    Bonjour,

    Je pense que ton erreur viens de là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $_SESSION['mdp'] = $_POST['mdp'];
    $_SESSION['login'] = $_POST['login'];
    if (isset($_SESSION['mdp'])  and isset($_SESSION['login'])){
    	$mdp = $_POST['mdp'];
    	$login = $_POST['login'];
    }
    else{
    	$_SESSION['mdp'] = "";
    	$_SESSION['login'] = "";	
    }
    Si je traduit :
    - La première fois : $_SESSION["mdp"] prend la valeur du champs de formulaire $_POST["mdp"], idem pour login. Nickel tout va bien.
    - La seconde fois : $_POST["mdp"] et $_POST["login"] ne sont pas remplis donc les variables sessions (ainsi que $mdp et $login) prennent une valeur nulle.

    En gros je remplacerai ton code par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $_SESSION["mdp"]=isset($_SESSION["mdp"])?$_SESSION["mdp"]:$_POST["mdp"];
    $_SESSION["login"]=isset($_SESSION["login"])?$_SESSION["login"]:$_POST["login"];
    Ce qui fait qu'au premier login les variables de sessions sont nulles donc prennent la valeur des variables post. Mais lors des logins suivants elles existent et conservent donc leur valeur.

    Celà dit je ne voit pas l'intérêt de ces deux lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $mdp = $_POST['mdp'];
    $login = $_POST['login'];
    Voilà, bon courage,

    Smiff.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 11
    Points : 8
    Points
    8
    Par défaut RE: Problème de variable $_SESSION au rechargement
    Bonjour,

    Comment ne pas y avoir pensé plus tôt!!!

    On test les variables au démarrage tout simplement.


    Merci merci beaucoup smiff.

    PS: Le code que je modifie peut certainement intéresser du monde, il s'agit d'un diaporama photo "Dewslider", très simple à mettre en œuvre et possédant pas mal de paramètre. N'hesitez pas à taper dans mon code si celui-ci vous intéresse ou à me demander (Mais je pense que vu la différence de niveau, il n'y aura pas de probleme) .

    Merci encore.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/03/2007, 13h19
  2. Variable $_SESSION automatisé
    Par mangafan dans le forum Langage
    Réponses: 8
    Dernier message: 18/04/2006, 17h45
  3. [Sécurité] variable $_session dans du javascript
    Par sam01 dans le forum Langage
    Réponses: 2
    Dernier message: 09/04/2006, 20h38
  4. Changer une variable $_SESSION -> Formulaire
    Par Nadd dans le forum Langage
    Réponses: 2
    Dernier message: 06/02/2006, 00h37
  5. variables php non recharges dans flash
    Par TekiNico dans le forum Flash
    Réponses: 2
    Dernier message: 11/01/2006, 00h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo