session soucis
Posté : 07 juil. 2009, 14:24
Bonjour.
Voila je veux ouvrir une session pour pouvoir supprimer renommer copier et couper les fichiers.
Ca marche sauf qu'il y a un soucis avec les sessions.
En effet quand je fais un supprimer ca marche mais ca me refait ce que j'avais demandé la dernière fois. Je ne sais pas si vous voyez ce que je veux dire.
Merci d'avance pour votre aide.
EDIT: Je viens de régler mon soucis. En fait c'était des variables du formulaire qui au rechargement de la page me faisait une erreur dans mon code. J'ai utilisé la fonction isset pour éviter d'avoir cette erreurs ca marche.
Voila je veux ouvrir une session pour pouvoir supprimer renommer copier et couper les fichiers.
Ca marche sauf qu'il y a un soucis avec les sessions.
En effet quand je fais un supprimer ca marche mais ca me refait ce que j'avais demandé la dernière fois. Je ne sais pas si vous voyez ce que je veux dire.
Code : Tout sélectionner
<?php
//initialisation de la session
//on vérifie si la session est ouverte
if (!isset($_SESSION['ouvert']))
{
session_start();
$_SESSION['ouvert']=true;
//variable représentant le fichier sur lequel on travail
$fichier=$_POST['fichier'];
//modif qu'on fait
$modif=$_POST['modif'];
//nouvelle adresse pour copier/coller
$newadresse=$_POST['copcou'];
//nouveau nom
$newname='test/'.$_POST['rename'];
}
else
{
session_destroy();
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <!-- permettant d'être à la norme W3C -->
<head>
<title>Fonctions checkbox php </title> <!-- titre de la page-->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<link rel="stylesheet" href="design.css" type="text/css" media="screen" />
</head>
<body>
<!-- affichage d'un fichier -->
<div id="affichage">
<form id="modif" action="fonctions checkbox.php" method="POST">
<?php
$dossier="test/";
$dir=opendir($dossier);
while($file=readdir($dir))
{
$i=1;
if($file!='.' && $file!='..' && $file!='recycle.bin')
{ // liste des fichiers avec les boutons
echo '<input type="checkbox" name="fichier[]" value="'.$file.'"/>'.$file.'<br /><br /><br />';
}
$i++;
}
?>
<!--formulaire pour sélectionner -->
<input type="radio" name="modif" value="sup"/>Supprimer
<input type="radio" name="modif" value="ren"/>Renommer
<input type="radio" name="modif" value="cop"/>Copier
<input type="radio" name="modif" value="cou"/>Couper
<br/>
<div id="newname">
Nouveau nom<input type=text" name="rename"/>
</div>
<br/>
<div id="newaddress">
Nouvelle addresse<input type="text" name="copcou"/>
</div>
<br/>
<a href="poubelle.php">Corbeille</a>
<br/>
<br />
<input type="submit" name="trans" value="Modifier"/>
</form>
</div>
<div id="result">
<?php
//on vérifie si les variables fichier et modif existent existent ou pas
if(isset($fichier) && isset($modif))
{
//résultat en fonction de ce qu'on fait
switch($modif){
case 'sup':
// on fait un foreach pour que chaque checkbox soit séparer. $fichier est le nom du tableau de la checkbox
foreach ($fichier as $file)
{
// on ne supprime pas mais on coupe vers un dossier de suppression
$sup='test/'.$file;
$coup='test/recycle.bin/'.$file;
//on copie le dossier vers la poubelle
copy($sup,$coup);
//on supprime le fichier original
unlink($sup);
session_destroy();
}
break;
case 'ren':
//fonction de rennomage
foreach ($fichier as $file)
{
$travail='test/'.$file;
rename($travail,$newname);
session_destroy();
}
break;
case 'cop':
//fonction de copie
//on vérifie aussi que le fichier de réception existe bien
foreach ($fichier as $file)
{
$adresse='test/'.$file;
$newcopy='test/'.$newadresse.'/'.$file;
copy($adresse,$newcopy);
session_destroy();
}
break;
case 'cou':
//fusion de copier et supprimer
foreach ($fichier as $file)
{
$adresse='test/'.$file;
$newcopy='test/'.$newadresse.'/'.$file;
copy($adresse,$newcopy);
unlink($adresse);
session_destroy();
}
break;
}
//fin du case
}
//fin du if
?>
</div>
</body>
</html>Merci d'avance pour votre aide.
EDIT: Je viens de régler mon soucis. En fait c'était des variables du formulaire qui au rechargement de la page me faisait une erreur dans mon code. J'ai utilisé la fonction isset pour éviter d'avoir cette erreurs ca marche.