Mammouth du PHP |
2278 Messages
30 juil. 2012, 14:15
Version à mon goût:
<?php
$var = 1;
while($var<=5)
{
$var1 = 'clik'; // il vaut peut-être mieux quoter, simple ou double, les chaînes que tu affectes
if(isset($_POST[$var])) // ou $_POST["$var"] mais cette syntaxe ne sert à rien
{
$var1 = 'clok';
}
// j'ai l'habitude de me servir de print ce qui me permet de jouer sur "" pour encadrer le tout, et ' pour les HTMLeries
print "
<form method='POST' action='calendar.php'>
<button type='submit' name='$var'>$var1</button>
</form>";
$var++;
}
?>
mais ça ne bloque pas les changements de valeur. En revanche ceci le fait (il faut appeler calendar.php?passage=0)
<?php
session_start();
//le problème est d'avoir des valeurs initiales la première fois (or le script se recharge. $passage est passé la premièe fois par GET, les suivantes par POST
$passage = isset($_GET['passage']) ? 0 :$_POST['passage'];
if ($passage == 0) // valeurs initiales
{
$valeurs = array_fill(0,5, "clik"); //valeurs des boutons
$inactifs = array_fill(0, 5, "");// propriétés disabled des boutons
$_SESSION["var"] = $valeurs;
$_SESSION["inactif"] = $inactifs;
}
// relecture des valeurs de session chaque fois
for ($i = 1; $i <=5; $i++)
{
$var = "var";
$_SESSION[$var][$i] = isset($_SESSION[$var][$i]) ? $_SESSION[$var][$i] : "click";
$var = "inactif";
$_SESSION[$var][$i] = isset($_SESSION[$var][$i]) ? $_SESSION[$var][$i] : "";
}
// transfert des valeurs de session
$valeurs = $_SESSION["var"] ;
$inactifs = $_SESSION["inactif"] ;
// analyse des boutons cliqués chacun se voit a priori réaffecter la valeur stockée dansla session
for ($var = 1; $var<=5; $var ++)
{
$inactif = $inactifs[$var];
// valeur du clic sur ce bouton : non cliqué = -1
$valeur = (isset ($_POST[$var])) ? $_POST[$var] : -1;
if ($valeur != -1)
{
$valeurs[$var] = "clok";
$inactifs[$var] = "disabled = 'disabled'";
}
$var1 = $valeurs[$var];
print "
<form method='POST' action='calendar.php'>
<input type ='hidden' name = 'passage' value = '1' />
<button type='submit' name='$var' value='$var1' />$var1</button>
</form>";
//mise à jour de la session
$_SESSION["var"] = $valeurs;
$_SESSION["inactif"] = $inactifs;
}
?>
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD