Transmettre des variable à une Iframe ($_POST

Fermé
killermano66 Messages postés 233 Date d'inscription jeudi 17 janvier 2008 Statut Membre Dernière intervention 25 novembre 2010 - 16 mars 2009 à 11:23
samsamX Messages postés 53 Date d'inscription vendredi 30 novembre 2007 Statut Membre Dernière intervention 10 mars 2010 - 19 mai 2009 à 09:50
Bonjour,

Je viens de récupérer un codesur le net permettant de lister les dossiers/sous dossiers et fichiers d'un répertoire. Celui-ci n'étant pas basé sur un système d'authentification par login et mot de passe, je cherche à le modifier dans ce sens là.

Ce script se basant sur un frameset, je cherches à transmettre les données de mon formulaire a la frame que je désire affin de pouvoir exploiter la variable $login qui me permet de créer les dossier à la conection de l'utilisateur et de lui monter les répertoires personnels stockées sur un serveur distant.

Mon principal soucis réside dans la transmition de cette variable $login a cette frame pour pouvoir faire joujou avec cette variable de cette façon :

//Création des variables
$_SESSION['login']=$_POST['login'];
$login = $_SESSION['login'];
$psw = $_POST['psw'];
echo $_SESSION['login']; // ne renvoi rien dans mon cas car le formulaire transmet les variables à la page mais pas à la frame ( je vous met le code entier à la suite)
   
// Je crée les divers répertoires au login du membre X => $login
@mkdir("/home/fichiers/$login" ,0777);
@mkdir("/home/fichiers/$login/P", 0777);
@mkdir("/home/fichiers/$login/K/" ,0777);

//Puis je monte les infos dans les répertoires créés précedement.
//exec("smbmount //xxx.xxx.xxx.xxx/p$login /home/fichiers/$login/P -o username=$login%$psw netbios=//xxx.xxx.xxx.xxx/p$login");
//exec("smbmount //xxx.xxx.xxx.xxx/STIDETU /home/fichiers/$login/K -o username=$login%$psw netbios=//xxx.xxx.xxx.xxx/STIDETU");



Donc le soucis est que la variable $login est transmise à la page mais pas à la frame. Je vous met le code entier ci dessous.

Mon formulaire :
<?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>
<fieldset><legend>Authentification</legend>
<form action="affichage.php" method="post">
<h4>Login</h4>
<input type="text" name="login" /><br />
<h4>Mot de passe</h4>
<input type="text" name="psw" /><br />
<input type="submit" value="Validez" />
</fieldset>
</form></body>
</html>


Code de ma page affichage.php = frames :
<?
// GÉNÉRATION DU FRAMESET
if(!@$_GET["frame"]) { ?>

   <FRAMESET COLS="300,*" frameborder=0>
      <FRAME SRC="<? echo $_SERVER["SCRIPT_NAME"]?>?frame=menu" NAME="menu">
      <FRAME SRC="<? echo $_SERVER["SCRIPT_NAME"]?>?frame=image" NAME="image">
   </FRAMESET>

<?php }
// FRAME MENU NAVIGATION
elseif($_GET["frame"]=="menu") { ?>
  
   <BODY bgcolor=white><center>
   
   <?php      
   $_SESSION['login']=$_POST['login'];
   $login = $_SESSION['login'];
   $psw = $_POST['psw'];
   echo $_SESSION['login'];
   
   @mkdir("/home/fichiers/$login" ,0777);
   @mkdir("/home/fichiers/$login/P", 0777);
   @mkdir("/home/fichiers/$login/K/" ,0777);
	
      // Dossier en cours
      $curdir = @$_GET["dir"];
      if(!$curdir) $curdir = ".";
      
      echo "<b>Dossier ".$curdir."</b><br><br>\n";

      // LISTE DES DOSSIERS COURANTS
      $dir = opendir($curdir);
      // on scanne le répertoire
      while($p=readdir($dir)) {
         // si c'est un dossier sauf . (current directory)
         if(is_dir($curdir."/".$p)&&($p!=".")) {
            // si c'est le dossier .. (parent directory)
            if($p=="..") {
               // si ce n'est pas dans le dossier racine
               if($curdir!=".") {
                  // lien vers le dossier parent
                  $tmp = strrpos($curdir,"/");
                  echo "<A href='?frame=menu&dir=".substr($curdir,0,$tmp)."'
                     target=menu>Parent Directory</A><br>\n";
               }
            // sinon, lien vers le dossier
            } else {
               echo "<A href='?frame=menu&dir=".$curdir."/".$p."' target=menu>".$p."</A><br>\n";
            }
         }
      }
      closedir($dir);

      // LISTE DES IMAGES DU DOSSIER COURANT
      $dir = opendir($curdir);
      // on scanne le répertoire
      while($p=readdir($dir)) {
         // si c'est un fichier
         if(is_file($curdir."/".$p)) {
            // si c'est une extension d'image
            $ext = strtolower(substr($p, strrpos($p, '.') + 1));
                  // lien vers l'image
               echo "<br><A href='?frame=image&dir=".$curdir."&image=".$p."' target=image>
		".$p."</A><br>\n";
            }         
      }
      closedir($dir);

      // MISE A JOUR DE LA FRAME IMAGE
      ?><script>
         top.image.location="?frame=image&dir=<?echo $curdir?>"
      </script>
      
   </center></BODY>

<? }
// FRAME IMAGE
elseif($_GET["frame"]=="image") { ?>

   <BODY bgcolor=black>
      <table width=100% height=100%><tr>
         <td align=center>

      <? // AFFICHAGE DE L'IMAGE
      if(@$_GET["image"]) { 
      
      echo "<br><A href='?frame=image&dir=".$curdir."&image=".$p."' target=image>".$p."</A><br>\n";

      }
      // OU AFFICHAGE DU TITRE (nom du dossier)
      else { ?>

         <font size=6 color=white>Dossier <?echo @$_GET["dir"]?></font>

      <? } ?>

         </td>
      </table>
   </BODY>

<? }
// BAS DE PAGE COMMUN
?>



Voilà donc ma réelle question est comment transmettre ma variable $login transmise par le formulaire à ma frame menu dans ma page affichage.php. Et non transmettre la variable a la page affichage.php qui ne doit pas la traiter.

En espérant trouver une réponse parmis vous. Merci bien ;)
@+

2 réponses

killermano66 Messages postés 233 Date d'inscription jeudi 17 janvier 2008 Statut Membre Dernière intervention 25 novembre 2010 41
17 mars 2009 à 08:41
up
0
samsamX Messages postés 53 Date d'inscription vendredi 30 novembre 2007 Statut Membre Dernière intervention 10 mars 2010 1
19 mai 2009 à 09:50
Chenge simplement ça :
<FRAMESET COLS="300,*" frameborder=0>
      <FRAME SRC="<? echo $_SERVER["SCRIPT_NAME"]?>?frame=menu" NAME="menu">
      <FRAME SRC="<? echo $_SERVER["SCRIPT_NAME"]?>?frame=image" NAME="image">
   </FRAMESET>


En ça :
<FRAMESET COLS="300,*" frameborder=0>
      <FRAME SRC="<?php echo $_SERVER["SCRIPT_NAME"]?>?frame=menu&login=<?php echo $_POST['login'] ?>" NAME="menu">
      <FRAME SRC="<?php echo $_SERVER["SCRIPT_NAME"]?>?frame=image<?php echo $_POST['login'] ?>" NAME="image">
   </FRAMESET>
0