Problème mkdir

Résolu/Fermé
cdti Messages postés 703 Date d'inscription jeudi 20 novembre 2008 Statut Membre Dernière intervention 17 février 2011 - 24 févr. 2009 à 15:31
cdti Messages postés 703 Date d'inscription jeudi 20 novembre 2008 Statut Membre Dernière intervention 17 février 2011 - 25 févr. 2009 à 10:29
Bonjour,

J'ai un formulaire qui recupère les données sans sousis dans des variables grace a la méthode post.
Le contenu de ses variables sont affichées sur une page qui récupére les données et le soucis intervient au niveau de la commande mkdir qui n'interprete pas la variable.
Elle crée un dossier $login au lieu de créer un dossier qui contient le contenu de la variable.
De plus quand on affiche la page on obtient les messages d'erreurs suivant :

Warnig:mkdir() [function.mkdir]:File exists in /..............
Warnig:mkdir() [function.mkdir]:File exists in /..............
Warnig:mkdir() [function.mkdir]:File exists in /..............
Warnig:mkdir() [function.mkdir]:File exists in /..............

Malgré cela les dossier sont quand meme crées.

code php :

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

Merci d'avance pour vos réponces.

5 réponses

fais un copier/coller du code si dessous , efface le fichier que tu a deja , crée un nouveu fichier , renomme le , et colle y le code copié cidessous :

<?php
if (isset($_POST['login']) AND (isset($_POST['psw']))) // On vérifie que les variable existent
{
session_start();

//On stocke ces mêmes valeurs dans des variables de SESSION
$_SESSION['login']=$login;

//On stocke les valeurs entrées dans le formulaire à l'interieur de variable $login et $pwd
$login = $_POST['login'];
$psw = $_POST['psw'];
}
?>
<html>
<head>
<title>STID.PERP-UNIV Carcassonne</title>
</head>
<body>

<form action=$PHP_SELF 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>

<?php

$plop = "stid/".$login ;
@mkdir('stid/', 0777);
@mkdir("stid/$login/", 0777);
@mkdir("stid/$login/P/", 0777);
@mkdir("stid/$login/K/", 0777);
?>
1
AndracX Messages postés 43 Date d'inscription dimanche 30 mars 2008 Statut Membre Dernière intervention 24 février 2009 4
24 févr. 2009 à 16:01
Salut,

vire les apostrophes et met des guillemets :P

Tchou.
0
cdti Messages postés 703 Date d'inscription jeudi 20 novembre 2008 Statut Membre Dernière intervention 17 février 2011 96
24 févr. 2009 à 16:31
mkdir ("stid/",0777);
mkdir ("stid/$login/" , 0777);
mkdir ("stid/$login/P/" , 0777);
mkdir ("stid/$login/K" , 0777);

marche toujours po ...
0
AndracX Messages postés 43 Date d'inscription dimanche 30 mars 2008 Statut Membre Dernière intervention 24 février 2009 4
24 févr. 2009 à 16:53
J'ai fais un copier coller de ton code. Il marche parfaitement. Tu utilises quoi pour developper ? $login est-il rempli ?

<?php

$login = "test";

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

?>


Ce code fonctionne.
0
cdti Messages postés 703 Date d'inscription jeudi 20 novembre 2008 Statut Membre Dernière intervention 17 février 2011 96
24 févr. 2009 à 16:57
<?php
if (isset($_POST['login']) AND (isset($_POST['psw']))) // On vérifie que les variable existent
{
session_start();

//On stocke ces mêmes valeurs dans des variables de SESSION
$_SESSION['login']=$login;

//On stocke les valeurs entrées dans le formulaire à l'interieur de variable $login et $pwd
$login = $_POST['login'];
$psw = $_POST['psw'];
}
?>
<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>

<?php
$login = $_POST['login'];
$psw = $_POST['psw'];
@mkdir('stid/', 0777);
@mkdir('stid/$login/', 0777);
@mkdir('stid/$login/P/', 0777);
@mkdir('stid/$login/K/', 0777);
?>

Voila mon code.
?>

vOILÀ MON CODE
0
AndracX Messages postés 43 Date d'inscription dimanche 30 mars 2008 Statut Membre Dernière intervention 24 février 2009 4
24 févr. 2009 à 17:05
Je sais pas comment tu fais, mais ce code fonctionne chez moi :/ (en enlevant les apostrophes et en mettant des guillemets à la place)

Bon, quelques petits trucs à revoir quand même :

//On stocke ces mêmes valeurs dans des variables de SESSION
$_SESSION['login']=$login;


Déjà cette ligne est fausse. Tu remplis $_SESSION['login'] avec du vent ... Il faut mettre $_POST['login'] à la place de $login. Ou alors définir $login avant cette ligne.

Mais bon, le probléme ne vient pas de là. Je vois que tu as toujours tes apostrophes dans le mkdir. Tu es sûr d'avoir modifié le script ?

EDIT: je suppose que cette page s'appelle recup_donnees.php Sinon je vois vraiment pas :)
0

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

Posez votre question
remplace $PHP_SELF par <?php $SERVER['PHP_SELF'] ?> et efface la ligne
$plop = "stid/".$login ;

c'est ce qui arrive quand on relis pas Nos Posts ^^ !!
0
cdti Messages postés 703 Date d'inscription jeudi 20 novembre 2008 Statut Membre Dernière intervention 17 février 2011 96
25 févr. 2009 à 10:29
Problème résolu ^.^
Merci a tous pour votre aide.
0