> 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 participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
95,35 €SSD Interne M.2 NVMe Samsung 980 1 To (3500 Mo/s) à 95,35 € livré
Valable jusqu'au 18 Septembre

Amazon Allemagne fait une promotion sur le SSD Interne M.2 NVMe PCIe 3.0 Samsung 980 1 To qui passe à 90,74 € (avec la TVA ajustée). Comptez 4,61 € pour la livraison en France soit un total de 95,35 € livré. On le trouve ailleurs à partir de 140 €. Ce SSD offre des taux de transfert de 3500 Mo/s. Une excellente affaire.


> Voir l'offre
46,99 €Meuleuse angulaire Bosch Professional GWS 7-125 à 46,99 €
Valable jusqu'au 19 Septembre

Amazon fait une vente flash sur la meuleuse angulaire Bosch Professional GWS 7-125 qui passe à 46,99 € livrée alors qu'on la trouve ailleurs à partir de 65 €.


> Voir l'offre
65,99 €Kit de 16 Go (2 x 8 Go) de mémoire DDR4 Crucial Ballistix 3200 MHz à 65,99 €
Valable jusqu'au 18 Septembre

Cdiscount fait une promotion sur le kit de 16 Go (2x8 Go) de mémoire DDR4 Crucial Ballistix 3200 MHz CL16 qui passe à 65,99 € avec le code promo SEPT. On le trouve ailleurs à plus de 85 €. Une très bonne affaire !


> 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