× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum des Webmasters
 question sur les formulaires
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
padymen
  Posté le 11/06/2015 @ 19:05 
Aller en bas de la page 
Astucien

Bonjour,

Question sur les formulaires avec au hasard les boutons radio, quelque chose comme ceci :

<form method="post" action="traitement.php">
<p>
<input type="radio" name="num" value="1" id="1" /> <label for="1">1</label><br />

<input type="radio" name="num" value="2" id="2" /> <label for="2">2</label><br />

<input type="radio" name="num" value="3" id="3" /> <label for="3">3</label><br />

<input type="radio" name="num" value="4" id="4" /> <label for="4">4</label>
</p>
</form>

et un script php qui liste un dossier et qui donnerait comme résultat quelque chose comme :

1.jpg, 2.jpg, 3.jpg etc ...

donc je voudrais savoir si il est possible de remplacer les valeurs écrites à la main dans mon formulaire par celles trouvées lors du listage de dossier soit remplacer :

name ="num" value="1" id="1" par name="num" value="1.jpg" id="1.jpg"

...

Publicité
zoulouman
 Posté le 11/06/2015 à 21:48 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Utilise la valeur $_POST['num']

Tel quel, ton script ne va pas t'apporter grand chose...

De plus, fais très attention de contrôler ce qui est retourné par ton formulaire. Tu t'exposes à une faille de sécurité majeure !

padymen
 Posté le 12/06/2015 à 06:50 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Salut zoulouman,

pas de souci pour ce qui est de la faille de sécurité, c'est un script qui ne fonctionnera que en local, pas le temps ce matin mais j'essaie de voir ça plus tard dans la journée ...

padymen
 Posté le 12/06/2015 à 14:09 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Sujet résolu, je viens de trouver la solution (avec menu déroulant, mais c'est la même chose pour les boutons radio ou autres )

Pour ceux que ça intéresserait, voici le code :

<!DOCTYPE HTML>
<html lang="fr">
<?php
function lister ($chemin)
{
$nomRepertoire = $chemin;
$dossier = opendir($nomRepertoire);
$i =0;
while (false !== ($Fichier = readdir ($dossier)))
{
if ($Fichier != '.' && $Fichier != '..' && (substr($Fichier,-3,3)=="mkv") || (substr($Fichier,-3,3)=="avi"))
{

$FichierFinal =utf8_encode($Fichier);

echo "<option value='$FichierFinal'>$FichierFinal</option>";
}
$i++;
}
closedir ($dossier);
}
?>

<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>Test formulaire</title>
<link href="../css/style.css" rel="stylesheet" type="text/css">

</head>

<body>

<form action="deux.php" method="post">
<select name="choix">
<?php lister ("T:\/Films"); ?>
</select>
<input type="submit" value="Valider" />
</form>

</body>
</html>

zoulouman
 Posté le 13/06/2015 à 11:20 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Le plus intéressant serait de voir comment tu récupères et traites la valeur $_POST['choix'] dans deux.php

Ou alors, j'ai rien compris à ton problème...

padymen
 Posté le 14/06/2015 à 06:35 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Salut zoulouman, désolé mais pas eu le temps de te répondre !

alors le formulaire est devenu ceci :

<!DOCTYPE HTML>
<html lang="fr">
<?php
function lister ($chemin)
{
$nomRepertoire = $chemin;
$dossier = opendir($nomRepertoire);
$i =0;
while (false !== ($Fichier = readdir ($dossier)))
{
if ($Fichier != '.' && $Fichier != '..' )
{

$FichierFinal =utf8_encode($Fichier);

echo "<option value='$FichierFinal'>$FichierFinal</option>";
}
$i++;
}
closedir ($dossier);
}
?>

<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>Test formulaire</title>
<link href="../css/style.css" rel="stylesheet" type="text/css">

</head>

<body>

<form enctype="multipart/form-data" action="deux.php" method="post">
<input type="file" name="monfichier" />
<br /><br />
<a>Nouveau titre : </a>
<select name="titre"><?php lister ("."); ?></select>
<br /><br />
<input class="boutonDroit" type="submit" value="Validez" />
</form>

</body>
</html>


et la page deux.php ressemble actuellement à ceci :

<html>
<head>

</head>

<body>
<?php

$titre = $_POST['titre']; //titre étant le nom du nouveau nom que l'on veut donner soit dans le formuaire : <select name="titre" class="boutonNouveauTitre"></select>
$monfichier = $_FILES['monfichier']['name'];//monfichier étant le fichier que l'on va chercher soit dans le formulaire :<input type="file" class="boutonParcourir" name="monfichier" />
$elementsChemin = pathinfo($monfichier);
$extensionFichier = $elementsChemin['extension'];
$repertoireDestination = dirname(__FILE__).'\test\\'; //permet de copier dans le dossier du script
//$repertoireDestination = '../originales/';
$nomDestination = $titre.".".$extensionFichier;

echo '"'.$titre.'" est le dossier de destination.';
echo '<br /><br />';
echo '"'.$monfichier.'" est le fichier original à déplacer.';
echo '<br /><br />';
echo '"'.$extensionFichier.'" est l\'extension du fichier à déplacer.';
echo '<br /><br />';
echo '"'.$repertoireDestination.'" est le dossier du script.';
echo '<br /><br />';
echo '"'.$nomDestination.'" est le nouveau nom du fichier copié.';
echo '<br /><br /><hr /><br /><br />';

if (move_uploaded_file($_FILES["monfichier"]["tmp_name"], $repertoireDestination.$nomDestination))
{
echo '<br />';
echo 'Le fichier "'.$_FILES['monfichier']['name'].'" a été renommé en "'.$nomDestination. '"';
echo '<br /><br />';
echo 'Le fichier "'.$nomDestination.'" a été déplacé vers "'.$repertoireDestination. '"';

}
else
{
echo 'Le fichier n\'a pas été déplacé ou '.'Le déplacement du fichier temporaire a échoué'.' '.$repertoireDestination;
}

?>

<br /><br /><hr />
<a href="index.php">retour index.php.</a>

</body>
</html>

tu le comprendras à la lecture du script, le but de celui est de sélectionner un fichier (une image) de le déplacer vers un dossier choisi en lui donnant le nom du dossier de destination, mais ça ne fonctionne pas encore bien comme je l(espérais ...



Modifié par padymen le 14/06/2015 06:49
zoulouman
 Posté le 16/06/2015 à 10:43 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Tu m'avais dit que c'est un script pour toi, privé ?

Fais attention quand tu manipules des fichiers sur un serveur. Assure toi bien que ce soit des fichiers autorisés de ton serveur et pas d'un autre.

Un petit malin aurait vite fait d'appeler un script de son serveur pour le déplacer sur le tien...

padymen
 Posté le 16/06/2015 à 17:31 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Salut zoulouman

naon, t'inquiètes ce n'est que du local !

tiens si tu as un peu de temps à l'occase, j'ai un souci (encore avec les accents) si le dossier de destination est nommé sans accent ça fonctionne mais si c'est nommé avec accent (exemple été_214) ben ça ne fonctionne pas je n'y comprend rien !!! ...

zoulouman
 Posté le 17/06/2015 à 12:35 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

C'est normal, tu travailles avec avec cette saleté de Windows, donc en ANSI.

Si as converti en utf-8 pour traiter tes fichiers dans ton script, il faut repasser en ANSI quand tu t'adresses à biduledows...

Tu as utilisé utf8_encode() pour travailler avec tes fichiers, essaye utf8_decode() pour les écrire sur le disque.

utf8_decode() encode en iso-8859-1. Si tu as de la chance, Win connait ce format.

Sur mes disques, dans mes nom de fichiers, je n'utilise jamais d'accents et d'espaces. (les espaces, je les remplaces par des underscores "_")

De cette façon, j'évite les problèmes... Notamment quant ça passe d'un OS à un autre.

Publicité
Ramo27
 Posté le 13/03/2016 à 20:37 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Longtemps je me suis débattue avec ces formulaires de contact.

Je désirais un formulaire simple, gratuit, facile à installer,

et surtout efficace.

Un jour j'ai trouvé , et émerveillée j'ai installé FOXYFORM.

Voiçi le lien pour les Webmestres qui voudraient l'essayer:

« http://fr.foxyform.com »

Il offre toutes les possibilité et fonctions désirées,

même l'intégration des couleurs de votre site .

En cinq minutes vous l'installez... et voilà!

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
91,99 €Enceinte connectée Amazon Echo avec Alexa + 2 ampoules connectées Philips Hue White à 91,99 €
Valable jusqu'au 05 Juin

Amazon propose l'enceinte Echo de 3ème génération accompagnée de 2 ampoules Philips Hue White E27 à 91,99 € (au lieu de 129,99 €). L'appareil piloté par la voix fonctionne avec Alexa, l’intelligence artificielle développée par Amazon. Vous pourrez avec elle écouter de la musique, interagir avec vos appareils domotiques dont les 2 ampoules fournies (pour allumer et éteindre la lumière à la voix), écouter les infos, la radio, connaître la météo et d’accéder à des milliers d’autres possibilités grâce aux Skills : recettes de cuisine, petits jeux, etc. Par rapport à la génération précédente, le son est amélioré et l'enceinte arbore un nouveau design. L'enceinte est équipée du son Dolby qui remplira la pièce d'un son immersif et omnidirectionnel, avec des voix nettes, des basses profondes et des aigus clairs à volume élevé. Grâce à ses sept microphones, ses technologies de beamforming et de réduction du bruit, Amazon Echo vous entend où que vous soyez dans la pièce, même lorsqu'il y a de la musique. 


> Voir l'offre
89,99 €Enceinte sans fil bluetooth rechargeable JBL Flip 5 à 89,99 €
Valable jusqu'au 03 Juin

Amazon fait une promotion sur l'enceinte sans fil bluetooth rechargeable JBL Flip 5 qui passe à 89,99 € livrée gratuitement au lieu de 129 €. Connectez sans fil votre ordinateur, votre tablette ou votre smartphone et écoutez votre musique en stéréo avec le son JBL ample et riche avec des graves puissantes. Son micro intégré vous permettra également de répondre aux appels téléphoniques. L'autonomie est de 12h et l'enceinte est résistante et est étanche (IPX7).


> Voir l'offre
67,99 €Carte mémoire SDXC UHS-I U3 SanDisk Extreme 256 Go à 67,99 €
Valable jusqu'au 03 Juin

Amazon fait une promotion sur la carte mémoire SDXC UHS-I U3 SanDisk Extreme 256 Go qui passe à 67,99 €. La livraison est gratuite. Cette carte mémoire offre des vitesses jusqu'à 150 Mo/s et est idéale pour les caméras et appareils photo HD. On la trouve ailleurs à partir de 99 €.


> Voir l'offre

Sujets relatifs
Message mail lors d'une réponse à une question
question de terminologie anglaise
Petite question sur php
Question technique BlueGriffon (affichage
question à Dreamer image rotator
image map && question facebook
question pour les pros du référencement
Question sur id en double sur une page web
question sur un mot précis de référencement
question en css
Plus de sujets relatifs à question sur les formulaires
 > Tous les forums > Forum Forum des Webmasters