formulaire avec champ "select"
9 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
formulaire avec champ "select"
Bonjour,
Je fais un formulaire (page1.php) avec nom d'utilisateur, et mot de passe, pas de problème pour vérifier tout ça.
Sur cette même page1 (et à condition que le nom et mdp sont valides, jusque là j'y arrive...), l'utilisateur doit pouvoir choisir un fichier dans une liste de fichiers, que je veux montrer dans un menu déroulant, comme par exemple
<select name="fichier"><br />
<option value="vide">choisissez un fichier</option>
<option value="fichier1">Fichier 1</option>
<option value="fichier2">Fichier 2</option>
etc...
Les fichiers sont stockés dans un dossier (./dossier).
Mais dans le dossier, il y a des fichiers .txt, des fichiers.jpg, et je ne veux que montrer les fichiers .txt.
Alors faire tout ça en html, pas de problème, et récupérer le tout sur une page2.php pas de problème non plus. Sauf que ça m'oblige à écrire à la main en html une ligne de <option value="etc"...> par fichier et il y en a un max!!
Donc, on doit pouvoir arriver à utiliser php pour sortir tous les fichiers .txt
contenus dans le dossier et les afficher dans un menu déroulant pour sélection, non?
Comment on fait ça? (j'ai regardé sur le site du zéro, pas trouvé. Idem sur le manuel php.net)
Merci pour votre patience avec les néophytes!
A.
Je fais un formulaire (page1.php) avec nom d'utilisateur, et mot de passe, pas de problème pour vérifier tout ça.
Sur cette même page1 (et à condition que le nom et mdp sont valides, jusque là j'y arrive...), l'utilisateur doit pouvoir choisir un fichier dans une liste de fichiers, que je veux montrer dans un menu déroulant, comme par exemple
<select name="fichier"><br />
<option value="vide">choisissez un fichier</option>
<option value="fichier1">Fichier 1</option>
<option value="fichier2">Fichier 2</option>
etc...
Les fichiers sont stockés dans un dossier (./dossier).
Mais dans le dossier, il y a des fichiers .txt, des fichiers.jpg, et je ne veux que montrer les fichiers .txt.
Alors faire tout ça en html, pas de problème, et récupérer le tout sur une page2.php pas de problème non plus. Sauf que ça m'oblige à écrire à la main en html une ligne de <option value="etc"...> par fichier et il y en a un max!!
Donc, on doit pouvoir arriver à utiliser php pour sortir tous les fichiers .txt
contenus dans le dossier et les afficher dans un menu déroulant pour sélection, non?
Comment on fait ça? (j'ai regardé sur le site du zéro, pas trouvé. Idem sur le manuel php.net)
Merci pour votre patience avec les néophytes!
A.
Je n'ai pas vérifié, mais avec une regex :
Ou sinon y'a encore plus simple :
Ou encore avec... blabla
- Code: Tout sélectionner
if(preg_match("![A-Za-z]\.txt!",$fichier))
{
// On affiche que les noms de fichier ayant l'extension .txt
}
Ou sinon y'a encore plus simple :
- Code: Tout sélectionner
$sub=substr($fichier,-4);
if($sub==".txt")
{
// It's good !
}
Ou encore avec... blabla
Ok David96, merci pour avoir pris le temps de répondre.
Je comprend bien comment fonctionnerait la regex (bien que je ne vois pas ce que viennent faire les !, moi je connais que ereg("cecicela",$fichier)...)
Seulement le nullos que je suis ne comprend pas comment ton code (le premier ou le deuxième...) peut aller chercher dans un dossier les fichiers en question. Faut il pas un truc comme
if("is_dir("dossier")) //pour aller chercher dans le dossier en question
{
echo //et c'est là que je ne sais pas comment mettre les <option value="fichier1"> etc...
Bref, je suis largué...
A vouloir trop en apprendre tout seul on se perd...
Je comprend bien comment fonctionnerait la regex (bien que je ne vois pas ce que viennent faire les !, moi je connais que ereg("cecicela",$fichier)...)
Seulement le nullos que je suis ne comprend pas comment ton code (le premier ou le deuxième...) peut aller chercher dans un dossier les fichiers en question. Faut il pas un truc comme
if("is_dir("dossier")) //pour aller chercher dans le dossier en question
{
echo //et c'est là que je ne sais pas comment mettre les <option value="fichier1"> etc...
Bref, je suis largué...
A vouloir trop en apprendre tout seul on se perd...
Pour les !, ce ne sont simplement que des délimiteurs, tu peux mettre autre chose si tu veux à la place.
Sinon ha la la ! Je vois que tu démarres en php !
Le mieux est que lorsque tu uploades un fichier, tu mettes son nom dans une table SQL que tu auras défini au préalable, mais là va falloir repenser tout ton scrypt à partir de zéro.
Donc premier conseil ! Va du côté du site du zéro qui doit t'expliquer les rudiments de MySQL je pense.
Ensuite tu reviendras ici et on parlera de l'upload
Sinon ha la la ! Je vois que tu démarres en php !
Le mieux est que lorsque tu uploades un fichier, tu mettes son nom dans une table SQL que tu auras défini au préalable, mais là va falloir repenser tout ton scrypt à partir de zéro.
Donc premier conseil ! Va du côté du site du zéro qui doit t'expliquer les rudiments de MySQL je pense.
Ensuite tu reviendras ici et on parlera de l'upload
C'est clair, je démare, et heureusement que j'ai pas mal de cheveux, because à force de me les arracher m'en resterait pas beaucoup...
Je pense pas qu'il faille absolument une bd mySQL pour faire ça (mais bon, j'en connais si peu sur le sujet que vaut mieux que je me taise...)
J'ai lu un truc sur comment parcourir un dossier pour en isoler des fichiers, ça me donne un truc du genre:
$directory = dir("./dossier/");
$directory->rewind(); //pour parcourir tout le dossier
while($fichier=$directory->read())
{
if($fichier=="_notes") //pour éviter les trois premiers trucs inutiles
{
continue;
}
if($fichier==".")
{
continue;
}
if($fichier=="..")
{
continue;
}
//c'est là que j'intégre ta premiere regex, super, merci! si j'ai bien compris ça donne
if(preg_match("^[A-Za-z]\.txt$",$fichier))
{
echo"$fichier<br />"; // On affiche que les noms de fichier ayant l'extension .txt. Et c'est là que je voudrais les resultats dans un menu déroulant pour selection
}
}
Bon, en faisant ça, j'arrive à imprimer tous les fichiers qui sont dans "dossier". Maintenant ce que je veux faire c'est les rendre disponibles dans un menu déroulant pour que l'utilisateur puisse en selectionner un, pour qu'il puisse le lire sur la page2...
Quant au site du zéro, je peux te dire que je l'ai lu et relu, et tout... Ben y'a pas la réponse à mon problème...
Je pense pas qu'il faille absolument une bd mySQL pour faire ça (mais bon, j'en connais si peu sur le sujet que vaut mieux que je me taise...)
J'ai lu un truc sur comment parcourir un dossier pour en isoler des fichiers, ça me donne un truc du genre:
$directory = dir("./dossier/");
$directory->rewind(); //pour parcourir tout le dossier
while($fichier=$directory->read())
{
if($fichier=="_notes") //pour éviter les trois premiers trucs inutiles
{
continue;
}
if($fichier==".")
{
continue;
}
if($fichier=="..")
{
continue;
}
//c'est là que j'intégre ta premiere regex, super, merci! si j'ai bien compris ça donne
if(preg_match("^[A-Za-z]\.txt$",$fichier))
{
echo"$fichier<br />"; // On affiche que les noms de fichier ayant l'extension .txt. Et c'est là que je voudrais les resultats dans un menu déroulant pour selection
}
}
Bon, en faisant ça, j'arrive à imprimer tous les fichiers qui sont dans "dossier". Maintenant ce que je veux faire c'est les rendre disponibles dans un menu déroulant pour que l'utilisateur puisse en selectionner un, pour qu'il puisse le lire sur la page2...
Quant au site du zéro, je peux te dire que je l'ai lu et relu, et tout... Ben y'a pas la réponse à mon problème...
- Code: Tout sélectionner
$directory = dir("./dossier/");
$directory->rewind();
echo "<select name=\"fichier\">";
while($fichier=$directory->read())
{
if(preg_match("![A-Za-z]\.txt!",$fichier))
{
echo "<option value=\"$fichier\">$fichier</option>\n";
}
}
echo "</select>";
Merci, ça progresse!!
J'ai bien un menu déroulant, mais si je laisse la regex if(preg_match("![A-Za-z]\.txt!",$fichier))
alors le menu est vide.
Quand j'enlève la regex, alors le menu affiche tous les fichiers présents dans le dossier (mieux que rien!) mais faut que je me débrouille pour n'afficher que les fichiers .txt.
J'ai essayé en remplaçant par if(ereg("^[A-Za-z]\.(txt)$",$course)); vu que jusqu'à maintenant c'est la syntaxe que je connaissais pour les regex, mais ça marche pas mieux...
Alors j'ai essayé avec if(eregi("^[a-z].\.(txt)$",$course)); //doit commencer avec 1 ou plusieurs caractères entre a et z, peu importe majuscule ou non, ensuite doit être suivi d'un point, puis du groupe de 3 lettres txt, et doit finir comme ça.
Ben ça marche pas mieux, ça filtre rien et les fichiers .jpg ou autre sortent quand même...
C'est raide ce truc php...

J'ai bien un menu déroulant, mais si je laisse la regex if(preg_match("![A-Za-z]\.txt!",$fichier))
alors le menu est vide.
Quand j'enlève la regex, alors le menu affiche tous les fichiers présents dans le dossier (mieux que rien!) mais faut que je me débrouille pour n'afficher que les fichiers .txt.
J'ai essayé en remplaçant par if(ereg("^[A-Za-z]\.(txt)$",$course)); vu que jusqu'à maintenant c'est la syntaxe que je connaissais pour les regex, mais ça marche pas mieux...
Alors j'ai essayé avec if(eregi("^[a-z].\.(txt)$",$course)); //doit commencer avec 1 ou plusieurs caractères entre a et z, peu importe majuscule ou non, ensuite doit être suivi d'un point, puis du groupe de 3 lettres txt, et doit finir comme ça.
Ben ça marche pas mieux, ça filtre rien et les fichiers .jpg ou autre sortent quand même...
C'est raide ce truc php...
- ramsesservices
- WRInaute discret

- Messages: 84
- Inscription: Lun Fév 05, 2007 14:46
Il y a un très bon site pour les expressions régulières
J'y ai trouvé ceci
J'y ai trouvé ceci
- Code: Tout sélectionner
<?php
$dos='mondossier/';
foreach(glob($dos."{*.gif,*.jpg,*.jpeg,*.png}", GLOB_BRACE) as $val)
{
echo $val,'<br />';
}
?>
Merci pour la participation Ramses. Ça me donne un nouveau site à visiter pour en apprendre plus!
Pour l'instant, ça ne marche pas mieux...
En plus, je me suis apperçu que quel que soit le fichier selectionné, c'est toujours le même qui s'ouvre en page2.php...
Bref, faut savoir s'arrêter, respirer un bon coup et revenir. Donc pour l'instant je laisse (jusqu'à demain matin...)
Merci à ceux qui mettront leur grain de sel dans ce problème...
A.
Pour l'instant, ça ne marche pas mieux...
En plus, je me suis apperçu que quel que soit le fichier selectionné, c'est toujours le même qui s'ouvre en page2.php...
Bref, faut savoir s'arrêter, respirer un bon coup et revenir. Donc pour l'instant je laisse (jusqu'à demain matin...)
Merci à ceux qui mettront leur grain de sel dans ce problème...
A.
9 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Outils Google pour les entreprises : Google Agency Toolkit
- De la publicité ciblée dans les cartes de Google Local
- Les adresses IP de Google et Googlebot
- Google écrit parfois au webmaster en cas de blacklistage
- Liste des produits et services de Google
- Google AdWords introduit le concept de niveau de qualité
- Récapitulatif sur Google AdWords
- Changement de design de WRI
- Les bonnes stratégies de mots-clés pour le référencement
- Le marketing viral au service du référencement
- Référencement des balises "select option value" ?
- "select MAX" pour plusieurs valeurs
- Contraire de "SELECT DISTINCT" en SQL
- Boutons "remove" et "promote" dans les résultats de Google
- Url "-", "_" Ok mais pour "+"
- Prob "objet attendu" et "_gat indéfini"
- Avec ou sans "aux" et " d' " dans le NDD
- Rediriger un "/index.php" sur "/" pour t
- "A noter" ou "Bien noté" dans Google : n
- Lien avec mot clé "et" ou "&"
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités



le forum