bouton submit qui modifie une variable php

bouton submit qui modifie une variable php - PHP - Programmation

Marsh Posté le 22-07-2005 à 13:03:24    

Bonjour,
 
je voudrais savoir comment faire un bouton submit qui modifie une variable php :
 

Code :
  1. //page test.php
  2. <HTML>
  3. <HEAD>
  4. </HEAD>
  5. <BODY>
  6. <?PHP
  7. if($_POST['gal']==NULL) $gal=1;
  8. else $gal=$_POST['gal'];
  9. echo '<FORM ACTION="test.php" METHOD=POST>';
  10. echo "<INPUT TYPE=SUBMIT VALUE='moins' onclick='$gal--'>";
  11. echo "<INPUT TYPE=TEXT NAME='gal' VALUE='$gal'><br>";
  12. echo "<INPUT TYPE=SUBMIT VALUE='réafficher'>";
  13. echo "</FORM>";
  14. ?>
  15. </BODY>
  16. </HTML>


evidemment, le onclick='$gal--' ne fonctionne pas mais c'était pour montrer l'idée.
 
j'ai vu qu'on mettait généralement des fonctions java dans le onclick mais il semble impossible de modifier ma variable php par un script java...
 
Si quelqu'un a une idée...

Reply

Marsh Posté le 22-07-2005 à 13:03:24   

Reply

Marsh Posté le 22-07-2005 à 13:08:43    

Ca n'a pas de sens. Le PHP est côté serveur, quand tu cliques sur ton bouton c'est côté client. Si tu veux faire ça, fait-le dans ta page cible, test.php.
 
Sinon y'a probablement la solution XMLHttpRequest, mais j'y connais rien et t'as sûrement pas besoin de ça.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 22-07-2005 à 13:19:28    

c'est la page cible, elle s'appelle elle même
le but est de visualiser les infos des clients numéro $gal d'une base de données, en zappant d'un clik. (je n'ai pas mis l'affichage des infos)
 
c'est pour ne pas avoir à tapper les numéros un à un

Reply

Marsh Posté le 22-07-2005 à 14:29:49    

Je viens de tester en $_GET[''], mais je n'y arrive pas non plus :  
<a href=http://www...../test.php?gal=++$gal>precedent</a>
 
ca ne passe pas non plus, je peux lui donner $gal en argument, mais il refuse de l'incrémenter :(
 
il faudrait lui dire que c'est un nombre et pas une string, mais je ne vois pas comment


Message édité par dark86 le 22-07-2005 à 14:31:42
Reply

Marsh Posté le 22-07-2005 à 14:50:02    

reprennons calmement.
 
Pour faire ce que tu veux, incrementer une variable php via un clic, il faut rafraichir la page à chaque incrementation.
 
exemple:
 
http://step.moultiplayers.net/refresh.php
 
code :
 

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
  3. <head>
  4.  <meta http-equiv="Content-Type"
  5.  content="text/html; charset=UTF-8" />
  6.  <title>Test</title>
  7. </head>
  8. <body>
  9. <?PHP
  10. //verification des variables
  11. if(IsSet($_POST['gal'])) $gal = $_POST['gal']; else $gal = 1;
  12. if(IsSet($_POST['action'])) $action = $_POST['action']; else $action = '';
  13. $gal_plus = '';
  14. $gal_moins = '';
  15. //test des variables
  16. if($action == 'moins') {
  17. $gal_moins = 'checked="checked"';
  18. $gal--;
  19. }
  20. if($action == 'plus') {
  21. $gal_plus = 'checked="checked"';
  22. $gal++;
  23. }
  24. //affichage du resultat
  25. echo '<div>';
  26. echo '<form action="refresh.php" method="post" enctype="multipart/form-data" >';
  27. echo '<p><label for="plus">Plus&nbsp;:</label><input type="radio" id="plus" name="action" value="plus" '.$gal_plus.' /><br />
  28. <label for="moins">Moins&nbsp;:</label><input id="moins" type="radio" name="action" value="moins" '.$gal_moins.' /></p>';
  29. echo '<p><input type="text" name="gal" value="'.$gal.'" /></p>';
  30. echo '<p><input type="submit" value="Mettre &agrave; jour" />';
  31. echo '</p></form></div>';
  32. ?>
  33. </body>
  34. </html>


 
attention aux code XHTML aussi !!!!! balise hmtl en minuscule, toutes les options entre quote, et essaye d'être homogène dans ta façons d'ecrire ton code ( un coup tu fait un echo " un coup echo ' .... )
 
edit: quelques corrections


Message édité par bl@p_psx le 22-07-2005 à 15:07:01

---------------
:Moultiplayers:.:Quatuor Chevalier:.:Admin G15-france.com:.:Wiki -G15-france:.:-Papa-:.
Reply

Marsh Posté le 24-07-2005 à 16:15:17    

Merci de ta réponse, elle m'a aidé, même si je n'ai pas compris à quoi servaient les "check", '.$gal_plus.' dans le input, et que je ne connais pas le <div> ni les labels :/
Mais ca y est, j'ai réussi à faire ce que je souhaitais avec des boutons :
la réponse était dans les hidden pour passer les variables  :D  

Code :
  1. <HTML>
  2. <HEAD>
  3. </HEAD>
  4. <BODY>
  5. <?PHP
  6. $gal=$_POST['gal'];
  7. $mov=$_POST['mov'];
  8. if($mov=='moins')
  9. {
  10. echo "moins";
  11. $gal--;
  12. }
  13. if($mov=='plus')
  14. {
  15. echo "plus";
  16. $gal++;
  17. }
  18. echo '<FORM ACTION="galaxview.php" METHOD=POST>';
  19. echo "<INPUT TYPE=HIDDEN SIZE=1 NAME='mov' VALUE='moins'>";
  20. echo "<INPUT TYPE=HIDDEN SIZE=1 NAME='gal' VALUE='$gal'>";
  21. echo "<INPUT TYPE=SUBMIT VALUE='moins'>";
  22. echo "</FORM>";
  23. echo '<FORM ACTION="galaxview.php" METHOD=POST>';
  24. echo "<INPUT TYPE=TEXT SIZE=4 NAME='gal' VALUE='$gal'>";
  25. echo "<INPUT TYPE=SUBMIT VALUE='Voir'>";
  26. echo "</FORM>";
  27. echo '<FORM ACTION="galaxview.php" METHOD=POST>';
  28. echo "<INPUT TYPE=HIDDEN SIZE=1 NAME='mov' VALUE='plus'>";
  29. echo "<INPUT TYPE=HIDDEN SIZE=1 NAME='gal' VALUE='$gal'>";
  30. echo "<INPUT TYPE=SUBMIT VALUE='plus'>";
  31. echo "</FORM>";
  32. ?>
  33. </BODY>
  34. </HTML>

Reply

Marsh Posté le 24-07-2005 à 16:38:02    

le cheked c'est pour se souvenir de ce qui etait coché ...
 
concernant le reste de ton code, met tes balises en minuscule, et des /> à la fin de tes balises input et des "" autour de hidden et size="1" ..... ton code est vraiment crade, desoler de te dire ca ... ( je parle du code html ... )
 
@+


---------------
:Moultiplayers:.:Quatuor Chevalier:.:Admin G15-france.com:.:Wiki -G15-france:.:-Papa-:.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed