[PHP- JS] affichage répertoire dans liste box
Résolu/Fermé
-CCM-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
-
31 juil. 2008 à 15:51
-CCM- Messages postés 927 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 16 juin 2013 - 1 sept. 2008 à 15:20
-CCM- Messages postés 927 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 16 juin 2013 - 1 sept. 2008 à 15:20
A voir également:
- [PHP- JS] affichage répertoire dans liste box
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Adresse ip box - Guide
- Affichage double ecran - Guide
- Répertoire téléphonique gratuit - Télécharger - Bureautique
37 réponses
-CCM-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
84
22 août 2008 à 11:47
22 août 2008 à 11:47
Sous-Dossier :
<?php
if (isset($_POST['listeA'])) {
$repertoire = $_POST['listeA'];
//chemin relatif vers le rep depuis le script
$chemin_repertoire = "./".$repertoire."/";//tu completes ton_chemin pour mettre le chemin relatif complet du repertoire à lister (relatif par rapport à ce script)
echo "
<form action='index.php' method='POST'>
<select onchange='submit()' name='listeB'>
";
$dp = opendir($chemin_repertoire); // ouvre le rep
while ( $entrer = readdir($dp) )
{
// enleve les fichiers . et ..
if ($entrer != '.' && $entrer != '..'){ //si pas . et ..
if (is_dir($chemin_repertoire."/".$entrer)){ //si c'est un repertoire
echo "<option value='$entrer'>$entrer</option>";
}
}
}
closedir($dp);
echo "
</select>
<input type='hidden' name='listeA' value='".$_POST['listeA']."'>
</form>
";
}
j'ai simplement enlever le 'submit' du onechange pour la listBox B ..... sa a l'air d'avoir un bon rendu... c'est propre ce que je voens de faire?
par contre j'ai de gros souci...je ne peu pas envoyer mon formulaire ..
C'est du a la structure cette fois ci :
<form>
*****Liste 1
</form>
<form>
*****Liste 2
</form>
<form>
***** Bouton"Envoyer"
</form>
Sa ne marche pas :( .
j'ai essayé
<form>
*****Liste 1
*****Liste 2
***** Bouton"Envoyer"
</form>
Mais la liste ne change pas cette fois ci ...
BlackDrag00n
Messages postés
34
Date d'inscription
jeudi 21 août 2008
Statut
Membre
Dernière intervention
5 août 2011
8
22 août 2008 à 12:32
22 août 2008 à 12:32
dans le code que tu a donnée il y a ceci :
<input type='hidden' name='listeA' value='".$_POST['listeA']."'>
en faite sa relance la valeur de la listeA comme sa quand tu valide ton formulaire tu aura la valeur de listeA et listeB
<input type='hidden' name='listeA' value='".$_POST['listeA']."'>
en faite sa relance la valeur de la listeA comme sa quand tu valide ton formulaire tu aura la valeur de listeA et listeB
-CCM-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
84
22 août 2008 à 13:53
22 août 2008 à 13:53
oui mais j'ai pas compris le rapport avec le fait que sa me remet a chaque fois la première valeur dans la listbox 2 .. desolé je debute :s
-CCM-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
84
22 août 2008 à 14:37
22 août 2008 à 14:37
<html> <body> Dossier : <?php //chemin relatif vers le rep depuis le script $chemin_repertoire = "./";//tu completes ton_chemin pour mettre le chemin relatif complet du repertoire à lister (relatif par rapport à ce script) echo " <form action='index.php' method='POST'> <select onchange='submit()' name='listeA'> <option selected></option> "; $dp = opendir($chemin_repertoire); // ouvre le rep while ( $entrer = readdir($dp) ) { // enleve les fichiers . et .. if ($entrer != '.' && $entrer != '..'){ //si pas . et .. if (is_dir($chemin_repertoire."/".$entrer)){ //si c'est un repertoire echo "<option value='$entrer'"; if(isset($_POST['listeA'])) { if($_POST['listeA'] == $entrer) { echo " selected"; }} echo ">$entrer</option>"; } } } closedir($dp); echo " </select> </form> "; ?> Sous-Dossier : <?php if (isset($_POST['listeA'])) { $repertoire = $_POST['listeA']; //chemin relatif vers le rep depuis le script $chemin_repertoire = "./".$repertoire."/";//tu completes ton_chemin pour mettre le chemin relatif complet du repertoire à lister (relatif par rapport à ce script) echo " <form action='index.php' method='POST'> <select onchange='submit()' name='listeB'> "; $dp = opendir($chemin_repertoire); // ouvre le rep while ( $entrer = readdir($dp) ) { // enleve les fichiers . et .. if ($entrer != '.' && $entrer != '..'){ //si pas . et .. if (is_dir($chemin_repertoire."/".$entrer)){ //si c'est un repertoire echo "<option value='$entrer'>$entrer</option>"; } } } closedir($dp); echo " </select> <input type='text' name='listeA' value='".$_POST['listeA']."'> </form> "; } ?> Sous Sous-Dossier : <?php if (isset($_POST['listeB'])){ echo " </select> <input type='text' name='listeB' value='".$_POST['listeB']."'> </form> "; } ?>
avec ce code j'arrive a sauvegarder la valeur de mon sous repertoire dans un champs (text ou caché) mais la liste deroulante change toujours de valeur... elle revien toujours la valeur initial.. quelqu'un pourrais m'aider svp ?
BlackDrag00n
Messages postés
34
Date d'inscription
jeudi 21 août 2008
Statut
Membre
Dernière intervention
5 août 2011
8
22 août 2008 à 15:42
22 août 2008 à 15:42
att je regarde ;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
BlackDrag00n
Messages postés
34
Date d'inscription
jeudi 21 août 2008
Statut
Membre
Dernière intervention
5 août 2011
8
22 août 2008 à 15:45
22 août 2008 à 15:45
regarde cette ligne la :
echo "<option value='$entrer'"; if(isset($_POST['listeA'])) { if($_POST['listeA'] == $entrer) { echo " selected"; }} echo ">$entrer</option>";
toute les infos sont dedans, la je te le fait pour le moment cherche ;)
echo "<option value='$entrer'"; if(isset($_POST['listeA'])) { if($_POST['listeA'] == $entrer) { echo " selected"; }} echo ">$entrer</option>";
toute les infos sont dedans, la je te le fait pour le moment cherche ;)
-CCM-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
84
22 août 2008 à 15:59
22 août 2008 à 15:59
ok je cherche , je cherche depuis le 31 juillet a 15H51 et 20 sec !!!! :D
Dernière version du code :
Mais j'aurais des souci avec mes <form> par la suite, car j'ai après un bouton "envoyer" qui est censé me récupérer les valeur des listes déroulant et les mettre dans des variables pour en faire un url .... ce bouton "envoyer" est dans un autre <form> et le passage de variable n'est pas globale....
Dernière version du code :
Type : <?php //chemin relatif vers le rep depuis le script $chemin_repertoire = "../test/";//tu completes ton_chemin pour mettre le chemin relatif complet du repertoire à lister (relatif par rapport à ce script) echo " <form action='index.php' method='POST'> <select onchange='submit()' name='listeA'> <option selected></option> "; $dp = opendir($chemin_repertoire); // ouvre le rep while ( $entrer = readdir($dp) ) { // enleve les fichiers . et .. if ($entrer != '.' && $entrer != '..') { //si pas . et .. if (is_dir($chemin_repertoire."/".$entrer)) { //si c'est un repertoire echo "<option value='$entrer'"; if(isset($_POST['listeA'])) {if($_POST['listeA'] == $entrer) {echo " selected"; } } echo ">$entrer</option>"; } } } closedir($dp); echo " </select> </form> "; ?> Dossier : <?php if (isset($_POST['listeA'])) { $repertoire = $_POST['listeA']; //chemin relatif vers le rep depuis le script $chemin_repertoire = "../test/".$repertoire."/";//tu completes ton_chemin pour mettre le chemin relatif complet du repertoire à lister (relatif par rapport à ce script) echo " <form action='index.php' method='POST'> <select onchange='submit()' name='listeB'> <option selected></option> "; $dp = opendir($chemin_repertoire); // ouvre le rep while ( $entrer = readdir($dp) ) { // enleve les fichiers . et .. if ($entrer != '.' && $entrer != '..') { //si pas . et .. if (is_dir($chemin_repertoire."/".$entrer)) { //si c'est un repertoire echo "<option value='$entrer'>$entrer</option>"; } } } closedir($dp); echo " </select> <input type='text' name='listeA' value='".$_POST['listeA']."'> </form> "; echo " <form action='index.php' method='POST'> "; if (isset($_POST['listeB'])) { echo " </select> <input type='text' name='listeB' value='".$_POST['listeB']."'> </form> "; } } // récuperer le type if(isset($_POST['listeA'])) $type=$_POST['listeA']; else $type=""; // récuperer le dossier if(isset($_POST['listeB'])) $doss=$_POST['listeB']; else $doss=""; echo "<script>alert('_____type=$type ____ Dossier= $doss.');</script>"; ?>
Mais j'aurais des souci avec mes <form> par la suite, car j'ai après un bouton "envoyer" qui est censé me récupérer les valeur des listes déroulant et les mettre dans des variables pour en faire un url .... ce bouton "envoyer" est dans un autre <form> et le passage de variable n'est pas globale....
-CCM-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
84
22 août 2008 à 15:59
22 août 2008 à 15:59
oups doublons ..... :/
BlackDrag00n
Messages postés
34
Date d'inscription
jeudi 21 août 2008
Statut
Membre
Dernière intervention
5 août 2011
8
22 août 2008 à 16:05
22 août 2008 à 16:05
voila le code "complet" entre guillement car la cette version ne te cosera plus le souci de la selection qui se barre ;) lol
<html>
<body>
Dossier :
<?php
//chemin relatif vers le rep depuis le script
$chemin_repertoire = "./";//tu completes ton_chemin pour mettre le chemin relatif complet du repertoire à lister (relatif par rapport à ce script)
echo "
<form action='index.php' method='POST'>
<select onchange='submit()' name='listeA'>
<option selected></option>
";
$dp = opendir($chemin_repertoire); // ouvre le rep
while ( $entrer = readdir($dp) )
{
// enleve les fichiers . et ..
if ($entrer != '.' && $entrer != '..'){ //si pas . et ..
if (is_dir($chemin_repertoire."/".$entrer)){ //si c'est un repertoire
echo "<option value='$entrer'"; if(isset($_POST['listeA'])) { if($_POST['listeA'] == $entrer) { echo " selected"; }} echo ">$entrer</option>";
}
}
}
closedir($dp);
echo "
</select>
</form>
";
?>
Sous-Dossier :
<?php
if (isset($_POST['listeA'])) {
$repertoire = $_POST['listeA'];
//chemin relatif vers le rep depuis le script
$chemin_repertoire = "./".$repertoire."/";//tu completes ton_chemin pour mettre le chemin relatif complet du repertoire à lister (relatif par rapport à ce script)
echo "
<form action='index.php' method='POST'>
<select onchange='submit()' name='listeB'>
";
$dp = opendir($chemin_repertoire); // ouvre le rep
while ( $entrer = readdir($dp) )
{
// enleve les fichiers . et ..
if ($entrer != '.' && $entrer != '..'){ //si pas . et ..
if (is_dir($chemin_repertoire."/".$entrer)){ //si c'est un repertoire
echo "<option value='$entrer'"; if(isset($_POST['listeB'])) { if($_POST['listeB'] == $entrer) { echo " selected"; }} echo ">$entrer</option>";
}
}
}
closedir($dp);
echo "
</select>
<input type='text' name='listeA' value='".$_POST['listeA']."'>
</form>
";
}
?>
Sous Sous-Dossier :
<?php
if (isset($_POST['listeB'])){
echo "
</select>
<input type='text' name='listeB' value='".$_POST['listeB']."'>
</form>
";
}
?>
je pas en week end donc si ton probleme et toujours pas resoilu je t'aiderai lundi ;) +++
<html>
<body>
Dossier :
<?php
//chemin relatif vers le rep depuis le script
$chemin_repertoire = "./";//tu completes ton_chemin pour mettre le chemin relatif complet du repertoire à lister (relatif par rapport à ce script)
echo "
<form action='index.php' method='POST'>
<select onchange='submit()' name='listeA'>
<option selected></option>
";
$dp = opendir($chemin_repertoire); // ouvre le rep
while ( $entrer = readdir($dp) )
{
// enleve les fichiers . et ..
if ($entrer != '.' && $entrer != '..'){ //si pas . et ..
if (is_dir($chemin_repertoire."/".$entrer)){ //si c'est un repertoire
echo "<option value='$entrer'"; if(isset($_POST['listeA'])) { if($_POST['listeA'] == $entrer) { echo " selected"; }} echo ">$entrer</option>";
}
}
}
closedir($dp);
echo "
</select>
</form>
";
?>
Sous-Dossier :
<?php
if (isset($_POST['listeA'])) {
$repertoire = $_POST['listeA'];
//chemin relatif vers le rep depuis le script
$chemin_repertoire = "./".$repertoire."/";//tu completes ton_chemin pour mettre le chemin relatif complet du repertoire à lister (relatif par rapport à ce script)
echo "
<form action='index.php' method='POST'>
<select onchange='submit()' name='listeB'>
";
$dp = opendir($chemin_repertoire); // ouvre le rep
while ( $entrer = readdir($dp) )
{
// enleve les fichiers . et ..
if ($entrer != '.' && $entrer != '..'){ //si pas . et ..
if (is_dir($chemin_repertoire."/".$entrer)){ //si c'est un repertoire
echo "<option value='$entrer'"; if(isset($_POST['listeB'])) { if($_POST['listeB'] == $entrer) { echo " selected"; }} echo ">$entrer</option>";
}
}
}
closedir($dp);
echo "
</select>
<input type='text' name='listeA' value='".$_POST['listeA']."'>
</form>
";
}
?>
Sous Sous-Dossier :
<?php
if (isset($_POST['listeB'])){
echo "
</select>
<input type='text' name='listeB' value='".$_POST['listeB']."'>
</form>
";
}
?>
je pas en week end donc si ton probleme et toujours pas resoilu je t'aiderai lundi ;) +++
-CCM-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
84
22 août 2008 à 16:14
22 août 2008 à 16:14
Merci c'est sympa !!!
je bossais sur un truc du genre
En faite j'ai du mal a traduire l'algorithmie en code php html :s
J 'essai ton code de suite.
Passe un bon week end, merci encore a++
;)
je bossais sur un truc du genre
echo " <form action='index.php' method='POST'> <select onchange='submit()' name='listeB'>"; if (isset($_POST['listeB'])) {echo "<option value='$entrer'</option>"; } else {echo"<option selected></option>";}
En faite j'ai du mal a traduire l'algorithmie en code php html :s
J 'essai ton code de suite.
Passe un bon week end, merci encore a++
;)
-CCM-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
84
25 août 2008 à 10:05
25 août 2008 à 10:05
salut !
Donc maintenant je veut récupérer les valeurs de mes liste deroulante, j'ai lu des tutaux concernant la visibilité des variables...
mais j'ai un code source de cette sorte
<html>
..
<?php code php ... ?>
..
..
..
<?php ICI IL Y A MES CHAMPS
if (isset($_POST['listeA']))
{
$repertoire = $_POST['listeA'];
//chemin relatif vers le rep depuis le script
$chemin_repertoire =...............
?>
..
html
html
html
..
<?php ICI JE VEUT RECUPERER LA VALEUR DES CHAMPS
if( isset($_POST['envoi']) )// si formulaire envoyé
{
// récuperer la date de publication
if(isset($_POST['listeA']))
$listeA=$_POST['listeA'];
?>
..
html
html
html
..
.
</html>
donc pour le passage de varleur, je ne vois pas trops comment faire :s
Donc maintenant je veut récupérer les valeurs de mes liste deroulante, j'ai lu des tutaux concernant la visibilité des variables...
mais j'ai un code source de cette sorte
<html>
..
<?php code php ... ?>
..
..
..
<?php ICI IL Y A MES CHAMPS
if (isset($_POST['listeA']))
{
$repertoire = $_POST['listeA'];
//chemin relatif vers le rep depuis le script
$chemin_repertoire =...............
?>
..
html
html
html
..
<?php ICI JE VEUT RECUPERER LA VALEUR DES CHAMPS
if( isset($_POST['envoi']) )// si formulaire envoyé
{
// récuperer la date de publication
if(isset($_POST['listeA']))
$listeA=$_POST['listeA'];
?>
..
html
html
html
..
.
</html>
donc pour le passage de varleur, je ne vois pas trops comment faire :s
BlackDrag00n
Messages postés
34
Date d'inscription
jeudi 21 août 2008
Statut
Membre
Dernière intervention
5 août 2011
8
25 août 2008 à 17:29
25 août 2008 à 17:29
Se qui serai bien c'est que tu donne ton code complet en expliquand ce que tu veux exactement sa serai plus simple pour te guidé ;)
-CCM-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
84
26 août 2008 à 09:23
26 août 2008 à 09:23
salut, voici mon code :
-Je veux recuperer les valeur de mes deux liste déroulantes, les mettres dans des variables pour les stocké dans ma base de données.
Ces valeurs serviront à construire un url : listeA/listeB/nom_document.doc
-Voila !! Je but essentielement sur l'imbrication d'html dans du php et sur les <form>. :s
Actuellement, avec ce code je récupère bien mes valeur, mais le script d'upload de fichier ne marche plus :(
Notice: Undefined index: fichier in C:\Program Files\EasyPHP 2.0b1\www\admin\index.php on line 340
Le fichier est introuvable
Merci :)
<div id="contenu_admin"> <!-- titre--> <p align="center"><span class="titre_cat">.:: Ajouter un fichier ::.</span></p> <span class="libel"> Type : <br/> <?php /***********************************************************************************************************************/ /******************* SCRIPT DE LISTAGE DES REPEROIRES EXISTANTS ********************************/ /************************************************************************************************************************/ //chemin relatif vers le rep depuis le script $chemin_repertoire = "../docs/"; echo " <form action='index.php' method='POST'> <select onchange='submit()' name='listeA'> <option selected></option> "; $dp = opendir($chemin_repertoire); // ouvre le repertoire while ( $entrer = readdir($dp) ) {// enleve les fichiers . et .. if ($entrer != '.' && $entrer != '..') {//si pas . et .. if (is_dir($chemin_repertoire."/".$entrer)) {//si c'est un repertoire echo "<option value='$entrer'"; if(isset($_POST['listeA'])) {if($_POST['listeA'] == $entrer) {echo " selected"; } }echo ">$entrer</option>"; } } } closedir($dp); echo " </select> </form> "; ?> <br/> <br/> Dossier : <br/> <?php if (isset($_POST['listeA'])) { $repertoire = $_POST['listeA']; //chemin relatif vers le rep depuis le script $chemin_repertoire = "../docs/".$repertoire."/"; //chemin relatif complet du repertoire à lister (relatif par rapport à ce script) echo " <form action='index.php' method='POST'> <select onchange='submit()' name='listeB'> <option selected></option> "; $dp = opendir($chemin_repertoire); // ouvre le rep while ( $entrer = readdir($dp) ) {// enleve les fichiers . et .. if ($entrer != '.' && $entrer != '..') { //si pas . et .. if (is_dir($chemin_repertoire."/".$entrer)) { //si c'est un repertoire echo "<option value='$entrer'"; if(isset($_POST['listeB'])) {if($_POST['listeB'] == $entrer) {echo " selected"; } } echo ">$entrer</option>"; } } } closedir($dp); echo "</select> <input type='hidden' name='listeA' value='".$_POST['listeA']."'> "; } ?> <br/> <br/> <label for="new_rep">Ou nouveau dossier :</label><br /> <input type="text" name="new_rep" value= "" size="20"/> <br/> <br/> <label for="docdate">Date du document :</label><br /> <input type="text" name="docdate" value="" size="10"/> <br/> <br/> <label for="pubdate">Date de publication :</label><br /> <input type="timestamp" name="pubdate" value="<?php echo date('d-m-Y')?>" size="10"/><br> <br/> <label for="titre">Titre du fichier :</label><br /> <input type="text" name="titre" value= "" size="45"/><br> <br/> <label for="description">Description :</label><br /> <textarea cols="35"name="description" id="description"></textarea><br /> <br/> <label for="langue">Langue :</label><br /> <select name="langue"> <option>Français</option> <option>Anglais</option> <option>Italien</option> <option>Allemand</option> <option>Russe</option> <option>Chinois</option> </select> <br/> <br/> <label for="fichier">Rattacher :</label><br /> <input type="file" name="fichier" size="30"><br> <br/> <label for="mot_clef">Mots clefs rattaché au document :</label><br /> <input type="text" name="mot_clef" value="" size="45"/><br> <br/> <input type="submit" name="envoi" value="Envoyer"><br></span> </span> </form> </div> <!--- SCRIPT D ENVOI DES INFORMATIONS ET DU FICHIER ( UPLOAD) --> <?php include '../fonctions.php'; // necessaire pour faire appel aux fonctions contenus dans ce fichier if( isset($_POST['envoi']) )// si formulaire envoyé { /* //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx champs de récuperation de valeur 88888888888888888888888888888888888888/ echo "<input type='text' name='A' value='".$_POST['listeA']."'>"; echo "<input type='text' name='B' value='".$_POST['listeB']."'>"; $type=$_POST['A']; // récuperer le type $doss=$_POST['B']; // récuperer le dossier //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx DEBUG nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn/ echo "<script>alert('ALERT PHP SCRIPT 1 : _____type=$type ____ Dossier= $doss.');</script>"; */ // récuperer la date de publication if(isset($_POST['pubdate'])) $pubdate=$_POST['pubdate']; else $pubdate=""; // récuperer la date d'edition du document if(isset($_POST['docdate'])) $docdate=$_POST['docdate']; else $docdate=""; // conversion du format de date jj-mm-aaaa en aaaa-mm-jj pour le stockage dans la base de données au format date function dateFRenMySQL ($jour) //$jour au format JJ-MM-AAAA {return substr($jour,6,4).substr($jour,3,2).substr($jour,0,2);} //renvoie la date au format AAAA-MM-JJ $pubdate= dateFRenMySQL ($pubdate); $docdate= dateFRenMySQL ($docdate); // récuperer le nom du nouveau dossier si il en existe un if (isset($_POST['new_rep']) ) {$new_rep=$_POST['new_rep'];} else $new_rep=""; // récuperer la valeur de la liste déroulante 1 (type de document) if (isset($_POST['listeA']) ) {$type=$_POST['listeA'];} else $type=""; // récuperer la valeur de la liste déroulante 2 (dossier) if (isset($_POST['listeB']) ) {$listeB=$_POST['listeB'];} else $listeB=""; // récuperer le titre if (isset($_POST['titre']) ) {$titre=$_POST['titre']; $titre=addslashes($titre);} else $titre=""; // récuperer la description en echappant les guillemets --> ' ' if (isset($_POST['description']) ) {$description=$_POST['description']; $description=addslashes($description);} else $description=""; // récuperer la langue du document en remplaçant les ç par c (pour le français) if (isset($_POST['langue']) ) $langue=$_POST['langue']; else $langue=""; $langue = str_replace ( 'ç' , 'c' , $langue); //récuperer les mots clefs en echappant les guillemets --> ' ' if (isset($_POST['mot_clef']) ) {$mot_clef=$_POST['mot_clef']; $mot_clef=addslashes($mot_clef);} else $mot_clef=""; //DEBUG // /*******************//////*************************////////*******************//////////*********************// echo "<script>alert('MES VALEURS ::: type/listeA=($type) listeB=($listeB) nouveau repertoire=($new_rep) docdate=($docdate) titre=($titre) description=($description) langue=($langue) mot clé=($mot_clef) date publication=($pubdate) ');</script>"; /*************************************************************************************************/ /************************ SCRIPT DE CREATION ET DE TEST DOSSIER **********************/ /*************************************************************************************************/ // On vérifie si un des champs est vide // if(empty($type) OR empty($docdate) OR empty($titre) OR empty($description) OR empty($langue) OR empty($mot_clef)) // { echo '<font color="red">Merci de remplir tout les champs !</font>'; // } //Si tout les champs sont remplits, on commancer le traitement des informations // else // { // si le champs "dossier" n'est pas vide --> le chemin sera " .../docs/type/listeB/document.doc " if(!empty($listeB)) { $content_dir= '../docs/'.$type.'/'.$listeB.'/'; $dossier=$listeB; //on stock la valeur de la liste déroulante B dans une variable } // si les champs "dossier" et "nouveau dossier" sont vides --> message d'erreur if(empty($listeB) AND empty($new_rep)) { exit ("<script>alert('Créez ou selectionnez un dossier.');</script>"); } // si le champs "nouveau dossier" n'est pas vide et le champs "dossier" est vide --> tenter la création de dossier" if(empty($listeB) AND !empty($new_rep)) // le chemin par defaut est ../docs/type/nouveau dossier/ { $content_dir= '../docs/'.$type.'/'.$new_rep.'/'; $dossier=$new_rep; //on stock la valeur de la liste déroulante B dans une variable // si le chemin existe déja --> message d'erreur if(is_dir($content_dir)) { echo "<script>alert('Dossier déjà existant : le fichier à été copié dans le répertoire existant.');</script>"; //return true; } else // sinon creer dossier { if(mkdir($content_dir)) { return true; } else { echo "<script>alert('Erreur inconnu lors de la création du répertoire $new_rep');</script>"; } } } /**********************************************************************************/ /************************ SCRIPT DE COPIE DE DOCUMENT **********************/ /**********************************************************************************/ $tmp_file = $_FILES['fichier']['tmp_name']; if( !is_uploaded_file($tmp_file) ) { exit("Le fichier est introuvable"); } // infos sur le fichier $nom = $_FILES['fichier']['name']; // nom complet du fichier: "fichier.doc" $type_file = $_FILES['fichier']['type']; // application associé. : "application/msword" $extension = strstr($_FILES['fichier']['name'], '.'); $extension = str_replace ( '.' , '' , $extension);// extension du fichier: "doc" // On autorise uniquement l'upload des fichiers portant l'une des extensuions suivante : if ($extension != 'doc' && $extension !='docx' && $extension != 'xls' && $extension != 'txt' && $extension != 'rtf' && $extension != 'pdf' && $extension != 'ppt' && $extension != 'gif' && $extension != 'jpg' && $extension != 'png') { exit("Ce fichier n'est pas téléchargeable."); } else { if( !move_uploaded_file($tmp_file, $content_dir . $nom) ) { exit("Impossible de copier le fichier dans $content_dir"); } // si l'upload c'est bien passé, on réalise la mise a jour des infos dans la base else { include '../connex.php'; //les variables de connexion host user passwd et bdd sont sur une autre page // Connexion au serveur et à la base de données mysql_connect($host, $user,$passwd) or die("erreur de connexion au serveur"); mysql_select_db($bdd) or die("erreur de connexion a la base de donnees"); // on insert les données $sql1 ="INSERT INTO `docs` ( `type` , `titre` , `description` , `nom_fichier` , `langue` , `format` , `mots_clefs` , `docdate` , `pubdate`, `dossier`) VALUES('$type', '$titre' , '$description', '$nom', '$langue', '$extension', '$mot_clef', '$docdate', '$pubdate','$dossier')"; mysql_query($sql1) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); echo "<script>alert(' .:: INFORMATIONS MISES À JOUR ::.');</script>"; // On se déconnecte de MySQL mysql_close(); } } // } } ?> </div> <!-- FIN de la mise en page FOND --> </body> </html>
-Je veux recuperer les valeur de mes deux liste déroulantes, les mettres dans des variables pour les stocké dans ma base de données.
Ces valeurs serviront à construire un url : listeA/listeB/nom_document.doc
-Voila !! Je but essentielement sur l'imbrication d'html dans du php et sur les <form>. :s
Actuellement, avec ce code je récupère bien mes valeur, mais le script d'upload de fichier ne marche plus :(
Notice: Undefined index: fichier in C:\Program Files\EasyPHP 2.0b1\www\admin\index.php on line 340
Le fichier est introuvable
Merci :)
-CCM-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
84
26 août 2008 à 11:09
26 août 2008 à 11:09
en faite j'ai un souci avec plusieurs pages contenant " $type_file = $_FILES['fichier']['type']; " !!
je ne peu plus uploader mes fichiers ... depuis la modif du code.
je ne peu plus uploader mes fichiers ... depuis la modif du code.
-CCM-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
84
28 août 2008 à 14:01
28 août 2008 à 14:01
Bonjour,
personne ne peu m'aider s'il vous plaît ?
j'ai toujours l'erreur :
Notice: Undefined index: fichier in C:\.....\index.php on line 340
la ligne 340 contient :
340 :$tmp_file = $_FILES['fichier']['tmp_name'];
341:
342: if( !is_uploaded_file($tmp_file) )
343: {
344: exit("Le fichier est introuvable");
}
// infos sur le fichier
$nom = $_FILES['fichier']['name']; // nom complet du fichier: "fichier.doc"
$type_file = $_FILES['fichier']['type']; // application associé. : "application/msword"
$extension = strstr($_FILES['fichier']['name'], '.'); ....
Merci à vous, la je seche :(
personne ne peu m'aider s'il vous plaît ?
j'ai toujours l'erreur :
Notice: Undefined index: fichier in C:\.....\index.php on line 340
la ligne 340 contient :
340 :$tmp_file = $_FILES['fichier']['tmp_name'];
341:
342: if( !is_uploaded_file($tmp_file) )
343: {
344: exit("Le fichier est introuvable");
}
// infos sur le fichier
$nom = $_FILES['fichier']['name']; // nom complet du fichier: "fichier.doc"
$type_file = $_FILES['fichier']['type']; // application associé. : "application/msword"
$extension = strstr($_FILES['fichier']['name'], '.'); ....
Merci à vous, la je seche :(
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
28 août 2008 à 14:30
28 août 2008 à 14:30
Salut,
c'est bizarre car ça a l'air correct ton champ <input typ="file" du formulaire abien comme name="fichier"
essayes de faire un print_r($_FILES); pour voir ce que tu as dans ces variables globales
@lain
c'est bizarre car ça a l'air correct ton champ <input typ="file" du formulaire abien comme name="fichier"
essayes de faire un print_r($_FILES); pour voir ce que tu as dans ces variables globales
@lain
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
28 août 2008 à 15:35
28 août 2008 à 15:35
ou alors mets:
if(isset($_FILES['fichier']){$tmp_file = $_FILES['fichier']['tmp_name'];}
-CCM-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
84
>
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
28 août 2008 à 16:25
28 août 2008 à 16:25
salut alain, tu vas bien ??
Merci, l'erreur venais de mon <form>
voici comment il était :
<form action='index.php' method='POST' >
je l'ai edité de cette façon:
<form action='index.php' method='POST' enctype='multipart/form-data'>
sa va beaucoup mieux... le seul souci maintenant c'est lors de la création d'un nouveau dossier, le fichier n'y est pas copiée ...
Merci, l'erreur venais de mon <form>
voici comment il était :
<form action='index.php' method='POST' >
je l'ai edité de cette façon:
<form action='index.php' method='POST' enctype='multipart/form-data'>
sa va beaucoup mieux... le seul souci maintenant c'est lors de la création d'un nouveau dossier, le fichier n'y est pas copiée ...
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
>
-CCM-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
28 août 2008 à 21:31
28 août 2008 à 21:31
Salut,
oui ça va
effectivement il manquait le type de codage spécifique dans le cas ou on utilise le type ="file"
le seul souci maintenant c'est lors de la création d'un nouveau dossier, le fichier n'y est pas copiée ...
comment cree tu le nouveau dossier ?
il faut qu'il ait les bons droits
si tu le crée par un script php par mkdir() il aura les droits du propriétaire donc Apache
et tu pourras y enregistrer tes fichiers par un script PHP (Apache) sans pb
@lain
oui ça va
effectivement il manquait le type de codage spécifique dans le cas ou on utilise le type ="file"
le seul souci maintenant c'est lors de la création d'un nouveau dossier, le fichier n'y est pas copiée ...
comment cree tu le nouveau dossier ?
il faut qu'il ait les bons droits
si tu le crée par un script php par mkdir() il aura les droits du propriétaire donc Apache
et tu pourras y enregistrer tes fichiers par un script PHP (Apache) sans pb
@lain
-CCM-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
84
1 sept. 2008 à 11:47
1 sept. 2008 à 11:47
salut, je crée mon dossier grace a un script.
Non ce n'est pas une question de droits, avant mon script marchais :(
Non ce n'est pas une question de droits, avant mon script marchais :(
{ if(mkdir($content_dir)) { return true; } else { echo "<script>alert('Erreur inconnu lors de la création du répertoire $new_rep');</script>"; } }
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
1 sept. 2008 à 11:48
1 sept. 2008 à 11:48
alors c'est un pb de chemin vers ton repertoire ou tu veux écrire
-CCM-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
84
1 sept. 2008 à 11:54
1 sept. 2008 à 11:54
pour aller plus loin dans mon probleme je vien de constater que :
- le dossier est bien créé avec mon script, il est existant est visible dans mon /www/
- le fichier n'y est pas copié a l'interieur (le dossier est vide)
- le dossier n'est pas enregistré dans ma base de données (ce que je fait normalement a tout mes dossier) du coups je ne le voit pas via mes pages html .(script de listage des répertoire via un champs bdd)...
- le dossier est bien créé avec mon script, il est existant est visible dans mon /www/
- le fichier n'y est pas copié a l'interieur (le dossier est vide)
- le dossier n'est pas enregistré dans ma base de données (ce que je fait normalement a tout mes dossier) du coups je ne le voit pas via mes pages html .(script de listage des répertoire via un champs bdd)...
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
1 sept. 2008 à 12:06
1 sept. 2008 à 12:06
quel est ton code d'enregistrement du fichier dans le rep ?
-CCM-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
84
1 sept. 2008 à 14:14
1 sept. 2008 à 14:14
le voici :
$tmp_file = $_FILES['fichier']['tmp_name']; if( !is_uploaded_file($tmp_file) ) { exit("Le fichier est introuvable"); }
-CCM-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
84
1 sept. 2008 à 14:39
1 sept. 2008 à 14:39
// si le chemin existe déja --> message d'erreur if(is_dir($content_dir)) { echo "<script>alert('Dossier déjà existant : le fichier à été copié dans le répertoire existant.');</script>"; //return true; } else // sinon creer dossier { if(mkdir($content_dir)) { echo "<script>alert('DEBUG fin makdir ');</script>"; return true; } else { echo "<script>alert('Erreur inconnu lors de la création du répertoire $new_rep');</script>";} } echo "<script>alert(' DEBUG debut copie document');</script>"; } // SCRIPT DE COPIE DE DOCUMENT echo "<script>alert(' DEBUG ');</script>"; $tmp_file = $_FILES['fichier']['tmp_name']; if( !is_uploaded_file($tmp_file) ) { echo "<script>alert('DEBUG Fichier introiuvable');</script>"; exit("Le fichier est introuvable"); }
dans cette portion de code, pourquoi le pop up "DEBUG fin makdir " s'affiche bien mais 'DEBUG debut copie document' ne s'affiche pas lors de la création d'un dossier ???
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
1 sept. 2008 à 14:49
1 sept. 2008 à 14:49
Normal ton } après cette alert est orpheline
-CCM-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
84
1 sept. 2008 à 15:01
1 sept. 2008 à 15:01
oups j'ai zapper une ligne de code ..
mon accolade n'est pas orpheline ..
if(empty($listeB) AND !empty($new_rep)) { $content_dir= '../docs/'.$type.'/'.$new_rep.'/'; $dossier=$new_rep; if(is_dir($content_dir)) { echo "<script>alert('......');</script>"; } else { if(mkdir($content_dir)) { echo "<script>alert('DEBUG fin makdir ');</script>"; return true; } else { echo "<script>alert('Erreur inconnu lors de la création du répertoire $new_rep');</script>"; } } echo "<script>alert(' DEBUG debut copie document');</script>"; } // SCRIPT DE COPIE DE DOCUMENT echo "<script>alert(' DEBUG ');</script>"; $tmp_file = $_FILES['fichier']['tmp_name']; if( !is_uploaded_file($tmp_file) ) { echo "<script>alert('DEBUG Fichier introiuvable');</script>"; exit("Le fichier est introuvable"); }
mon accolade n'est pas orpheline ..
-CCM-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
84
1 sept. 2008 à 15:20
1 sept. 2008 à 15:20
apparament c'est mon return qui me rendrais fou.
Sa sortais de ma fonction sans même faire la suite des instruction !!
Sa sortais de ma fonction sans même faire la suite des instruction !!