envoyer donner POST de boutons radio

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : envoyer donner POST de boutons radio

par celerite34 » 07 juin 2007, 15:37

Voilà donc pour résumer avec un formulaire de ce type:
<body>
	<form method="POST" enctype="multipart/form-data" action="convert.php">
	<input type="radio" name="choix" value="all" value CHECKED>all*
	<input type="radio" name="choix" value="trois">1/2
	<input type="radio" name="choix" value="huit">1/5
	<input type="radio" name="choix" value="treize">1/10
	<input type="radio" name="choix" value="quinze">1/15
	<input type="radio" name="choix" value="vingt">1/20

		<br><br>
		<input type="submit" name="valider" value="ok">
		<br>
	</form>

</body> 
Il faut donc pour renvoyer les données d'un bouton radio sélectionné faire:

//Si le formulaire est soumis
if (isset($_POST['valider'])){

    // Si le choix correspond à "all"
    if($_POST['choix']=="all"){ 
En rajoutant juste à la suite:
print_r($_POST);
Vous pouvez vérifier ce que la variable POST vous renvoi, ici en l'occurence ça renvoi:
"[choix] => all [valider] => ok"

Voili voulou :)

par celerite34 » 07 juin 2007, 14:08

Salut Cyrano!

Je sais merci ;) je l'ai fait pour mon autre sujet, mais là la réponse même du sujet n'est pas encore totalement résolu, je me suis heurté ensuite à un autre problème, enfin disons que Titerm m'a conseillé de coder autrement en voyant mon code, ce que j'ai fait bien entendu, car il est vrai que c'est beaucoup mieux comme ça! (clin d'oeil à Titerm,clap clap! lol) Mais j'ai encore quelques essaies à faire avant de pouvoir mettre le tag "résolu", donc wait a moment please, mais t'inquiète, ça sera fait :)
J'ai juste pas envie d'induire en erreur les personnes rencontrant le même problème que moi!

par Cyrano » 07 juin 2007, 13:35

Modération :
celerite34, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet.

par celerite34 » 07 juin 2007, 12:34

que dire de plus que: Merci! :)

par titerm » 07 juin 2007, 12:22

Ouais, il blinde pour que tu soits sur de ce que tu fais.
 rename($file, "/var/www/web/html/upload/$dir" . DIRECTORY_SEPARATOR . basename($file)); 

par celerite34 » 07 juin 2007, 11:46

Oui je sais bien qu'un move ou un rename revient au même sous linux mais disons que la méthode rename() de php ne permet que de renommer, je te jure!!! lol

ça me dit ça si j'essai avec ce que tu m'as donné:

Warning: rename(/var/www/web/html/upload/azef1.jpg,/var/www/web/html/upload/Images_azef) [function.rename]: Is a directory in /var/www/web/html/convert.php on line 255

par titerm » 07 juin 2007, 11:20

il n'y a pas de difference entre un rename et un move... Il n'existe en pratique que le que le move
Tu peux considérer le rename comme un move sur place avec un nom de destination distinct.

Comme tu es sous unix, tu dois savoir que tu utilises mv pour déplacer comme poru renommer.

par celerite34 » 07 juin 2007, 11:04

En effet glob() me parrait très bien, merci! Par contre je rencontre un souci car je crois que rename() ne sert uniquement qu'à renommer un fichier et pas à le déplacer comme le ferait un "mv" ....

par titerm » 06 juin 2007, 22:28

oui, je sais a quoi correspond l'étoile :)

mais je maintiens que c'est pas propre

dans ce cas, si y a plusieurs fichier, c'est peut etre plus long en php, mais c'est beaucoup plus propre, en plus, les shell_exec sont souvent interdit, donc autant prendre de bonne habitudes dès a présent.


foreach(glob("/var/www/web/html/upload/$ext") as $file) {
   rename($file, "/var/www/web/html/upload/$dir");
}

par Invité » 06 juin 2007, 20:50

En fait dans le *.jpg l'étoile sert à récupérer TOUS les fichiers présent dans le dossier dont l'extension est .jpg, c'est pour ça que j'utilise le shell_exec!! :P

par titerm » 06 juin 2007, 18:05

bah oui, le *.jpg ca le fait pas, faut donner le nom exacte du fichier.

les shell_exec c'est pas très propre, et ca fork un process a chaque fois... Ca consomme beaucoup de ressources coté serveur. Si tu peux trouver une methode qui les evites, faut toujours le faire

par celerite34 » 06 juin 2007, 17:35

J'avais compris et je venais de le faire en regardant les fonctions, donc pas de souci,mais je ne me trompe pas, enfin disons que les deux méthodes marchent, sauf que je n'étais pas au courant de l'existence de ces fonctions en php, je connaissais que le shell_exec que j'utilise très souvent pour exécuter les lignes de commandes de ffmpeg par exemple donc j'ai fait avec.

Mais comme je te dis, je suis ravie d'apprendre d'autres méthodes moins débutantes que ce que je fais!

le mkdir() marche parfaitement, par contre, en faisant exactement:
rename("/var/www/web/html/upload/$ext", "/var/www/web/html/upload/$dir");
ça me dit:

Warning: rename(/var/www/web/html/upload/*.jpg,/var/www/web/html/upload/Images_cellules) [function.rename]: No such file or directory in /var/www/web/html/convert.php on line 251

par titerm » 06 juin 2007, 17:15

bah je suis désolé de te te dire que tu te trompe...

2 fois meme ...

Por info, un rename et un move, c'est la meme chose

au lieu de
shell_exec(` mv /var/www/web/html/upload/$ext /var/www/web/html/upload/$dir`);
tu fais
rename("/var/www/web/html/upload/$ext", "/var/www/web/html/upload/$dir");

et au lieu de
shell_exec(`mkdir /var/www/web/html/upload/$dir`);
tu fais
mkdir("/var/www/web/html/upload/$dir");

par celerite34 » 06 juin 2007, 17:14

J'avais pas vu la fin de ton post, lol, désolée!!!

Je ne connaissais pas les fonctions mkdir() et rename() pour php, franchement je met à peine les pieds dans le php alors je fais avec les moyens du bord,lol mais ravie d'en apprendre un peu plus tous les jours, alors n'hesite pas!! ;)

par celerite34 » 06 juin 2007, 17:10

Euh c'est peut être abusé pour le mv mais en fait à l'origine il se trouve pas là où je veux, donc bon!!
Mais pour le mkdir carrément pas, parce que je dois créer un dossier différent pour chaque groupe d'images, d'où la necessité de mettre une variable $dir pour le faire.....à moins que je me trompe....

Mais bon l'erreur est humaine! ;) Et je débute vraiment mais alors vraiment en php et en informatique en général alors je fais ce que je peux hein.... :(