session soucis

Eléphant du PHP | 199 Messages

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.

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.
:P

Eléphant du PHP | 299 Messages

08 juil. 2009, 05:13

salut,

content que tu ai reussi a résoudre, j' avais le meme souci en utilisant plusieurs fonctions dans la meme page, j' ai du utilisé plusieurs page pour régler ca, mais j' etais chez free et free c' etait pas beau du tout :)