Problème de session

Résolu
killermano66 Messages postés 233 Date d'inscription   Statut Membre Dernière intervention   -  
Mikey_UFC Messages postés 312 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai apparement un soucis avec les session. Celles-ci me transmette les données sur une page mais non sur plusieur:

Je vous met les trois parties de mon script en sachant que la page posant problème est la dernière (deconnection.php), la page recup donnees.php m'affiche bien le contenue de ma session.

1) connection.php :

<?php
session_start();

//Si les variables existent
if (isset($_POST['login']) AND (isset($_POST['psw']))) {
//On stocke les valeurs entrées dans le formulaire à l'interieur de variable $login et $pwd
$login = $_POST['login'];
$psw = $_POST['psw'];
$_SESSION['login']=$_POST['login'];
}
?>

<html>
<head>
<title>STID.PERP-UNIV Carcassonne</title>
</head>
<body>

<form action="recup_donnees.php" method="post">
<h3>Login</h3>
<input type="text autocomplete='off'" name="login" /><br />
<h3>Mot de passe</h3>
<input type="password autocomplete='off'" name="psw" /><br />
<input type="submit" value="Validez" />
</form></body>
</html>


2) recup_donnees.php :

<?php
session_start();
$login = $_POST['login'];
$psw = $_POST['psw'];
$_SESSION['login']=$_POST['login'];

@mkdir("stid/",0777);
@mkdir("stid/$login" ,0777);
@mkdir("stid/$login/P/" ,0777);
@mkdir("stid/$login/K/" ,0777);

echo "<b>Vous êtes identifié sous :</b> ";
echo $_SESSION['login'];
?>

<br>
<a href="./stid/<?php echo $login; ?>">Gestionnaire de fichiers</a>
<p><a href="deconection.php">Se déconnecter</a></p>


3) Page deconection.php (qui pose problème ) :

<?php
session_start();
$_SESSION['login']=$_POST['login'];
$login=$_SESSION['login'];

echo $login;

@rmdir("stid/$login/P/");
@rmdir("stid/$login/K/");
@rmdir("stid/$login");
@rmdir('stid/');
?>


A noter qu'il n'ya volontairement pas de session_destroy() et de redirection, le echo est là pour tester si la variable $login qui contiens les infos de ma session fonctionne ou pas, pour le moment de n'est pas le cas ce qui pose donc aussi un problème au niveau de rmdir, logique.

Voilà, je ne trouve pas de solution à ce problème qui bloque pour le moment totalement mon projet. Je vous remercis d'avance pour votre aide future.

@+
A voir également:

11 réponses

Mikey_UFC Messages postés 312 Date d'inscription   Statut Membre Dernière intervention   1
 
oups, => exec("rm -r stid");
2
Mikey_UFC Messages postés 312 Date d'inscription   Statut Membre Dernière intervention   1
 
Comme ça plutôt pour deconnection.php
<?php
session_start();
$login=$_SESSION['login'];

echo $login;

@rmdir("stid/$login/P/");
@rmdir("stid/$login/K/");
@rmdir("stid/$login");
@rmdir('stid/');
?> 
1
Mikey_UFC Messages postés 312 Date d'inscription   Statut Membre Dernière intervention   1
 
Salut,

Pourquoi tu fais
$_SESSION['login']=$_POST['login']; 
dans deconnection.php ta valeur est déjà dans $_SESSION['login'] donc tu l'écrases avec $_POST qui est vide.
0
platypus69 Messages postés 108 Date d'inscription   Statut Membre Dernière intervention   7
 
<?php
session_start();
$_SESSION['login']=$_POST['login'];
$login=$_SESSION['login'];

echo $login;

@rmdir("stid/$login/P/");
@rmdir("stid/$login/K/");
@rmdir("stid/$login");
@rmdir('stid/');
?>

si ta session est ouverte pourquoi es ce que tu reécris "$_SESSION['login']=$_POST['login']; "
la session a déjà stocké l'information donc elle peut la ressortir a tous moment juste avec echo $login.
avec $_SESSION['login']=$_POST['login']; tu reecris dans ta variable du moins il ne semble
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
killermano66 Messages postés 233 Date d'inscription   Statut Membre Dernière intervention   41
 
Salut,

Donc oui exactement l'erreur au niveau de la transmition des variables venait de ça, merci beaucoup.

En revanche, la partie :

@rmdir("stid/$login/P/");
@rmdir("stid/$login/K/");
@rmdir("stid/$login");
@rmdir('stid/');

Ne m'efface rien du tout alors que :

@rmdir("stid/$login/P/");
@rmdir("stid/$login/K/");
@rmdir("stid/$login");
@rmdir('stid/');

Me créé bien les dossiers. Si tu as une idée, merci encore.
0
killermano66 Messages postés 233 Date d'inscription   Statut Membre Dernière intervention   41
 
Salut platypus69,

Disons que si j'enlève le

$login=$_SESSION['login'];

et que je met simplement sur ma page
echo $login;

rien ne s'affiche.

Si tu as une explication, merci ;)
0
killermano66 Messages postés 233 Date d'inscription   Statut Membre Dernière intervention   41
 
Ouep, c'est exactement ce que je fais, le echo fontionne maintenant. Mais les rmdir censé supprimer les répertoires ne fonctionnent pas.

Merci
0
platypus69 Messages postés 108 Date d'inscription   Statut Membre Dernière intervention   7
 
Normale car il ne sait pas dans quoi il doit chercher $login donc a ne surtout pas enlever. je te parlais juste de suppriner la ligne $POST
0
killermano66 Messages postés 233 Date d'inscription   Statut Membre Dernière intervention   41
 
C'est ce que j'ai fait, voilà mon code :

<?php
session_start();
$login=$_SESSION['login'];
echo $login;


@rmdir("stid/$login/K/" ,0777);
@rmdir("stid/$login/P/" ,0777);
@rmdir("stid/$login/" ,0777);
@rmdir('stid/');
?>

Mais j'ai l'impression que rmdir ne lis pas la variable $login qui contient le nom d'utilisateur et donc les répertoires à supprimer. Et ce qui me semble bizzare c'est que mkdir qui créé les répertoires arrive à lire $login.

Merci encore.
0
Mikey_UFC Messages postés 312 Date d'inscription   Statut Membre Dernière intervention   1
 
Les dossiers sont vides ?
si ce n'est pas le cas, essaye plutôt un exec(\rm -r "tonDossier");
0
killermano66 Messages postés 233 Date d'inscription   Statut Membre Dernière intervention   41
 
Les dossier sont pour l'instant vide oui, le but étant de monter les données situé sur un serveur distant grâce a exec(smbmount ....).

En revanche la commande exec(rm -r "stid"); me renvoie une parse error :

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /var/www/deconection.php on line 6

Merci.
0