Executer une fonction sur l'element coché d'une checkbox

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 : Executer une fonction sur l'element coché d'une checkbox

par Ryle » 03 avr. 2007, 00:25

Remarques en vrac :)

- sur la balise fermante de ton formulaire, l'antislash est à la fin au lieu d'être au début </form>

- Il ne "vaut" pas mieux utiliser post que get. Ces deux méthodes ont des comportements différents qui font que l'on va préférer l'un ou l'autre. Dans ton cas il n'y a pas de grosse différence entre les deux. A la limite, post n'est pas limité en taille donc peut être plus interessant et cela évite de réexécuter automatiquement une action lors d'une actualisation de la page (via le message de confirmation)

- pour les cases cochées, le tableau $_GET['what'] contient les valeurs des cases qui ont été cochées. Il te suffit donc de le parcourir avec un boucle pour connaiter et traiter chaque fichier selectionné :)

Executer une fonction sur l'element coché d'une checkbox

par TimaL » 02 avr. 2007, 19:05

Bonjour,

j'essaye depuis plusieurs jours de faire marcher un script me permettamt d'afficher le contenu d'un FTP.

J'affiche le contenu du FTP avec la fonction $fList et je met une case a cocher devant chaque elements du FTP:

<?PHP


for($i = 0; $i < sizeof($fList); $i++) 
{


?>

<form action="test_rename.php" method="GET">
<input type="checkbox" name="what[]"      value="<?php echo $fList[$i];?>"  >

 <?PHP

}

?>

<input type="hidden" name="envoi" value="yes">
<input type="hidden" name="command" value="renameFile">

<input type="submit" value="Renommer">

<form/>	



J'ai un switch qui me permet d'executer differentes fonctions :


$command = ""; 

if(isset($_GET["command"])) 
$command = $_GET["command"]; 
else 
$command = "listFiles"; 

switch($command) 
{ 
case "listFiles": 
ShowFiles($fList, $conn, $workingDir, $i); 
break; 
case "getFile": 
GetFile($conn, $localFile, $currFile); 
break; 
case "putFile": 
PutFile($file,$remote_file); 
break; 
case "renameFile": 
RenameFile($conn,$old_file, $new_file); 
break; 
case "deleteFile": 
DeleteFile($conn,$file); 
break; 
default: 
ShowFiles(); 
} 

Avec mon formulaire je dois donc éffectuer deux taches :

-Trouver quelles Cases ont été cochées (C'est a dire sur quels fichiers du FTP on veut agir)

-Executer une fonction sur ces fichiers.


Par exemple si je veux renomer les fichiers. Il faut ke j'execute la fonction renameFile sur le fichier qui a été coché.


Pour le moment je n'arrive pas a faire les deux en meme temps.
Je vois partout qu'il vaut mieux utiliser POST que GET.


Est-ce comprehensible?

Merci a vous.


Tim