PHP - comment récuperer valeur radio

Fermé
Utilisateur anonyme - 16 déc. 2009 à 12:35
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 17 déc. 2009 à 16:02
Bonjour,

je travaille sur un proxy auquelle je rajoute quelques fonctions, dont la compression d'image, et je cherche à rêgler le taux de compression de l'image, justement ...

dans ma template j'ai ce code :

 echo <<<OUT
   <form action="{$proxy}/includes/process.php?action=update" target="_top" method="post" onsubmit="return updateLocation(this);">

      <p>
         
         <b></b>
         <input type="text" name="u" size="40" value="{$url}" class="url-input" style="width:50%;" />
         <input type="submit" value="Go" class="btn_small" />
         [<a href="{$proxy}/index.php" target="_top">home</a>]
         [<a href="{$proxy}/includes/process.php?action=clear-cookies&return={$return}" target="_top">clear cookies</a>]
         
      </p>
      <p>
         <b></b>
OUT;


j'ai envie de rajouter deux bouton radio avec le taux de compression du genre :

<label> 90% : <INPUT TYPE="radio" NAME="compression_rate" VALUE="10"  <?php $_POST['rate_10']?>><label><label> 70% : <INPUT TYPE="radio" NAME="compression_rate" VALUE="30"  <?php $_POST['rate_30']?>><label>


mais je ne vois pas de quelle manière mon script peut donner la valeur 10 à $_SESSION['compression_rate']

auriez vous une idée ?

par avance, merci

5 réponses

giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
16 déc. 2009 à 14:27
Bonjour,

vos deux boutons "radio" sont dans un formulaire
<form name= ... action=pgm.php method=POST>
<input type=radio name=btRadio value=10>10<br>
<input type=radio name=btRadio value=20>20<br>
<input type=submit value='envoyer'>
</form>

En cliquant sur envoyer le script passe les variables dans un tableau nommé $_POST au programme ciblé par le paramètre action du formulaire.

soit pour vérifier ce que l'on reçoit dans pgm.php (par exemple)
<?php
echo "<pre>";print_r($_POST);echo "</pre>";

0
Utilisateur anonyme
16 déc. 2009 à 15:50
Merci pour ta réponse JL

mais justement mon soucis est que je souhaite que ce soit mon boutton "go" qui gère la mise à jour de l'url et qui actualiserait également le taux de compression.

j'ai essayé de mettre les boutton radio dans le meme formulaire que la bare de l'url , mais sans succé, ce bouton ne change pas la valeur du taux. mon code html rajouté ressemble à ça :

<label for="rate">90%</label><input type="radio" name="compression_rate" id="90" value="10" checked=""/><label for="rate">70%</label><input type="radio" name="compression_rate" id="70" value="30"/><label for="rate">50%</label><input type="radio" name="compression_rate" id="50" value="50"/>



j'ai également rajouté au swith 'action' présent dans le fichier process.php le case suivant :

  
$action = isset($_GET['action']) ? $_GET['action'] : false;

switch ( $action ) {
      case 'update_compression':
			if(isset($_GET["compression_rate"])) {
			$_SESSION['compression_rate'] = $_POST["compression_rate"];
			} else {
			$_SESSION['compression_rate'] = $CONFIG['compression_rate'];}
  break;
}


est-il possible de lancer deux actions : l'une
{$proxy}/includes/process.php?action=update
pour la mise à jour de l'url et l'autre
 {$proxy}/includes/process.php?action=update_compression
pour la mise à jour du taux de compression, et ceux par le même bouton "go" ?

par avance, merci !
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
16 déc. 2009 à 18:32
le bouton go est associé à un formulaire
le pgm excéuté peut faire plusieurs chose.

pour modifier une valeur dans le formaulaire, faire un javascript déclanché par onclick

qui ferait
<script>
function modif(valeur) {
document.nom_du_formulaire.nom_associé_à_l'input = valeur;
}

le quelquechose peut être passé en paramètre

onclick=modif(10)

tout ceci sans garantie de la syntaxe.
0
Utilisateur anonyme
17 déc. 2009 à 12:26
Merci JL

J'y avais pensé, mais le problème du javascript c'est qu'il faut que le client télécharge un fichier supplémentaire.

Or dans l'environnement dans lequel le script sera utilisé, la bande passante sera de 5Ko/s et le ping de 2 secondes !!! autant dire une éternité.

C'est pour cela que je souhaite me passer de javascript, et faire un traitement uniquement du coté serveur, et retourner le minimum de fichiers.

Mais est-ce possible de faire ce traitement uniquement coté php ??
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
17 déc. 2009 à 16:02
Le javascript n'est pas un programme supplémentaire à télécharger, il est natif dans le navigateur, il peut seulement être désactivé.

par défaut dans un navigateur il est toujours activé, environ 10% des utilisateurs le désactivent en pensant que c'est dangereux, mais ils ont tort car javascript n'a pas accès au système de fichier du PC, et beaucoup de sites ne fonctionnent plus.

Je ne vois pas pourquoi tu tiens absolument à passer la valeur par l'URL, comme expliqué plus haut ton formulaire va poster la valeur du bouton coché, il suffit de récupérer dans ta page comme tu fais avec switch

et mettre un troisieme bouton radio "pas de compression"
0