Problème avec variable (débutant) HELP !
pierrej
-
YannOuch -
YannOuch -
Bonjour,
J'ai un petit problème !
voilà, j'ai un code PHP:
et je voudrai introduire cette variable à la place de "membre"
J'ai bien tenté de faire celà:
Mais ca ne marche pas...
Je suis sur que la solution est toute simple, mais je débute en php et j'en suis au chapitre des variable et supervariable .... et la je bloque... Pouvez-vous m'aider SVP ? :)
J'ai un petit problème !
voilà, j'ai un code PHP:
$dir_paste = './clients/membre/KG/';
et je voudrai introduire cette variable à la place de "membre"
<?php echo $_SESSION['membre_pseudo'] ?>
J'ai bien tenté de faire celà:
$dir_paste = './clients/echo $_SESSION['membre_pseudo']/KG/';
Mais ca ne marche pas...
Je suis sur que la solution est toute simple, mais je débute en php et j'en suis au chapitre des variable et supervariable .... et la je bloque... Pouvez-vous m'aider SVP ? :)
A voir également:
- Problème avec variable (débutant) HELP !
- Logiciel montage vidéo débutant - Guide
- Logiciel de programmation pour débutant - Guide
- Vba range avec variable ✓ - Forum VB / VBA
- Vba excel sélectionner une plage de cellules variable ✓ - Forum VB / VBA
- Formation sap débutant pdf - Forum compta / gestion
13 réponses
Montre ton code s'il te plait histoire d'avoir une vue d'ensemble.
pour les session n'oublie pas session start ();
pour les session n'oublie pas session start ();
Merci de me répondre ! C'est vraiment cool :)
voilà mon code:
Et j'aimerai remplacer "membre" par cette variable:
voilà mon code:
<?php
function copy_dir ($dir2copy,$dir_paste) {
// On vérifie si $dir2copy est un dossier
if (is_dir($dir2copy)) {
// Si oui, on l'ouvre
if ($dh = opendir($dir2copy)) {
// On liste les dossiers et fichiers de $dir2copy
while (($file = readdir($dh)) !== false) {
// Si le dossier dans lequel on veut coller n'existe pas, on le créé
if (!is_dir($dir_paste)) mkdir ($dir_paste, 0777);
// S'il s'agit d'un dossier, on relance la fonction récursive
if(is_dir($dir2copy.$file) && $file != '..' &&
$file != '.') copy_dir ( $dir2copy.$file.'/' , $dir_paste.$file.'/' );
// S'il sagit d'un fichier, on le copue simplement
elseif($file != '..' && $file != '.') copy ( $dir2copy.$file , $dir_paste.$file );
}
// On ferme $dir2copy
closedir($dh);
}
}
}
$dir2copy = './KG007/';
$dir_paste = './clients/membre/KG/';
// Copie le dossier $dir2copy dans le dossir $dir_paste, inutile de créé les dossiers
copy_dir ($dir2copy,$dir_paste);
?>
Et j'aimerai remplacer "membre" par cette variable:
<?php echo $_SESSION['membre_pseudo'] ?>
... $mbr =$_SESSION['membre_pseudo']; $dir2copy = './KG007/'; $dir_paste = './clients/'.$mbr.'/KG/'; // Copie le dossier $dir2copy dans le dossir $dir_paste, inutile de créé les dossiers copy_dir ($dir2copy,$dir_paste); ?> ...
a tester mais pas sur.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
le code passe sans problème, mais il ne créer pas le dossier "KG" comme prévu :/
Je pense qu'il doit y avoir un problème avec /'.$mbr.'/, car il doit comprendre /'lenomdumembre'/ hors, il doit comprendre /lenomdumembre/ sans les " ' "
Je pense qu'il doit y avoir un problème avec /'.$mbr.'/, car il doit comprendre /'lenomdumembre'/ hors, il doit comprendre /lenomdumembre/ sans les " ' "
Tu n'as pas l'air très clair dans ta tête sur ce que tu veux faire exactement, du coup on comprend mal de notre coté (enfin moi j'avais rien compris au début)
Essaie ça directement :
$dir_paste = './clients/'.$_SESSION['membre_pseudo'].'/KG/';
Pour ta question, les chaines sont concaténées mais les quotes ne sont pas inclus dedans, tu devrait rechercher un tutoriel sur la manipulation de chaine, et tester ce que ça donne en l'affichant tout simplement, ce sera probablement plus clair pour toi par la suite
Essaie ça directement :
$dir_paste = './clients/'.$_SESSION['membre_pseudo'].'/KG/';
Pour ta question, les chaines sont concaténées mais les quotes ne sont pas inclus dedans, tu devrait rechercher un tutoriel sur la manipulation de chaine, et tester ce que ça donne en l'affichant tout simplement, ce sera probablement plus clair pour toi par la suite
merci de ta réponse, enfaite, je suis claire dans ma tête sur ce que je veux faire, en revanche, je manque énormément de vocabulaire pour me faire comprendre clairement !
je test ca ! merci encore ! :)
je test ca ! merci encore ! :)
peut être que je n'ai pas été claire... Je voudrai que le code copi le dossier KG007 et le colle dans ce répertoire: /clients/nomdumembre/ en créant un nouveau dossier qui va s'appeler KG... c'est bien ce que fait mon code ? non ?
je sèche là :/
je sèche là :/
ce code est il correct ?
pouvez-vous me dire ce que php va comprendre avec ce code ?
$dir_paste = './'.$_SESSION['membre_pseudo'].'/KG/';
pouvez-vous me dire ce que php va comprendre avec ce code ?
Bonsoir
Ajoute l'instruction error_reporting(E_ALL); au début de ton script. Il t'affichera très probablement un warning au niveau du mkdir qui t'aidera à comprendre.
si './'.$_SESSION['membre_pseudo'] existe déjà, il n'a peut-être pas les bons droits (d'ailleurs, c'est './'.$_SESSION['membre_pseudo'] ou './clients/'.$_SESSION['membre_pseudo'] ?)
S'il n'existe pas déjà, c'est normal que mkdir ne marche pas : mkdir ne crée pas deux niveaux de sous-répertoire à la fois. Il faut créer d'abord './clients/'.$_SESSION['membre_pseudo'], puis './clients/'.$_SESSION['membre_pseudo'].'/KG/'
Remarque : pourquoi tester if (!is_dir($dir_paste)) à l'intérieur du while ? C'est une perte de temps : une seule fois avant le while suffit. $dir_paste ne vas pas apparaître et disparaître entre deux fichiers
Ajoute l'instruction error_reporting(E_ALL); au début de ton script. Il t'affichera très probablement un warning au niveau du mkdir qui t'aidera à comprendre.
si './'.$_SESSION['membre_pseudo'] existe déjà, il n'a peut-être pas les bons droits (d'ailleurs, c'est './'.$_SESSION['membre_pseudo'] ou './clients/'.$_SESSION['membre_pseudo'] ?)
S'il n'existe pas déjà, c'est normal que mkdir ne marche pas : mkdir ne crée pas deux niveaux de sous-répertoire à la fois. Il faut créer d'abord './clients/'.$_SESSION['membre_pseudo'], puis './clients/'.$_SESSION['membre_pseudo'].'/KG/'
Remarque : pourquoi tester if (!is_dir($dir_paste)) à l'intérieur du while ? C'est une perte de temps : une seule fois avant le while suffit. $dir_paste ne vas pas apparaître et disparaître entre deux fichiers
Salut pourquoi ne pas faire comme tu l'as dis toi même :
$dir_paste = './clients/<?php echo $_SESSION['membre_pseudo'] ?>/KG/';
Non ?
$dir_paste = './clients/<?php echo $_SESSION['membre_pseudo'] ?>/KG/';
Non ?
Ôui oops ! Pas tilté !
<?php
$id=$HTTP_SESSION_VARS['membre_pseudo'];
Pour ta session membre, donc $id (ou autre .. ) pour ton fichier.
Ensuite tes requêtes sql pour récupérer ce fichier.
$id=$HTTP_SESSION_VARS['membre_pseudo'];
if (is_numeric($id)) {
$$dir_paste=intval($id);
$sql=mysql_query("SELECT * FROM blabla WHERE fid=$id"); // pour ton fichier
}
else {
@$sql=mysql_query("SELECT * FROM blabla WHERE doss='$doss'") or die("erreur");
}
if(!mysql_num_rows($sql))
{
echo " ";
?>
à tester
<?php
$id=$HTTP_SESSION_VARS['membre_pseudo'];
Pour ta session membre, donc $id (ou autre .. ) pour ton fichier.
Ensuite tes requêtes sql pour récupérer ce fichier.
$id=$HTTP_SESSION_VARS['membre_pseudo'];
if (is_numeric($id)) {
$$dir_paste=intval($id);
$sql=mysql_query("SELECT * FROM blabla WHERE fid=$id"); // pour ton fichier
}
else {
@$sql=mysql_query("SELECT * FROM blabla WHERE doss='$doss'") or die("erreur");
}
if(!mysql_num_rows($sql))
{
echo " ";
?>
à tester