- Home
- Categorie
- Coding e Sistemistica
- PHP
- Problemi con passaggio array tramite form
-
Che risultato vuoi ottenere ?
-
Ciao, io scelgo l'esercizio da una pagina html, la scelta è gestita con checkbox
mi deve restituire quante ore occorrono per bruciare 500 g di grasso con quell'esercizio.
Ma non riesce a prendermi l'esercizio e quindi a non restituirmi nè l'ora nè l'esercizio.
-
Ciao Z_E_P,
$valore_esercizio è un array mentre tu lo utilizzi come una variabile.
-
Ciao, mi rendo conto che $valore_esercizio è un array, magari sbaglio ad usarlo
avete o hai un alternativa a questo?
$valore_esercizio = $_POST['esercizio'];
$name_esercizio=$array_box[$valore_esercizio];
$ore=$array_ore[$valore_esercizio];Cioè l'informazione che passo tramite form (array) la devo poi confrontare con il mio array $array_box, per poi stampare il messaggio giusto.
Grazie
-
[PHP]
$array_box=array( 0 => 'cyclette',
1 => 'bici',
2 => 'corsa',
3 => 'nuoto',
4 => 'passeggiata',
5 => 'sesso'
); ;$array_ore = array( 0 => '3 ore e 30 minuti',
1 => '2 ore e 30 minuti',
2 => '4 ore e 30 minuti' ,
3 => '5 ore e 30 minuti',
4 => '12 ore e 30 minuti',
5 => '7 ore');//ti dovrebbe mostrare l'esercizio
echo $array_box[$_POST['esercizio']];
//ti dovrebbe mostrare quante ore
echo $array_ore[$_POST['exercizio']];
[/PHP]
-
Ho tolto tutto è ho scritto direttamente
$message = "occorrono ".$array_ore[$_POST['esercizio']]." di ".$array_box[$_POST['esercizio']];
niente da fare mi restituisce "occorrono di..." senza valorizzare
forse sbaglio il form ma mi sembra strano, perche dall'output in base ai vari echo mi sembra giusto...ps: avrò qualche problema con qualche configurazione php?
-
Se $valore_esercizio è un array va usato come tale quindi devi decidere quale indice usare o ciclare l'array a seconda di cosa devi fare.
-
Forse è meglio così, nel if controllo se è stato premuto submit e se il valore inviato nel $_POST['esercizio'] è numerico.
Forse htmlspecialchars e strip_tags non dovevo metteri, ma per sicurezza.
Non l'ho provato, per dirti che funziona al 100% ma dovrebbe funzionare.[PHP]
if($_POST['submit'] AND is_numeric($_POST['esercizio'])){$esercizio = htmlspecialchars(strip_tags($_POST['esercizio']));
$array_box=array( 0 => 'cyclette',
1 => 'bici',
2 => 'corsa',
3 => 'nuoto',
4 => 'passeggiata',
5 => 'sesso'
); ;$array_ore = array( 0 => '3 ore e 30 minuti',
1 => '2 ore e 30 minuti',
2 => '4 ore e 30 minuti' ,
3 => '5 ore e 30 minuti',
4 => '12 ore e 30 minuti',
5 => '7 ore');$message = "occorrono ".$array_ore[$esercizio]." di ".$array_box[$esercizio];
}
[/PHP]
-
Proverò, e vi farò sapere appena possibile
Ciaooo
-
if($_POST['submit'] AND is_numeric($_POST['esercizio'])){
$esercizio = htmlspecialchars(strip_tags($_POST['esercizio']));
$array_box=array( 0 => 'cyclette',
1 => 'bici',
2 => 'corsa',
3 => 'nuoto',
4 => 'passeggiata',
5 => 'sesso'
); ;$array_ore = array( 0 => '3 ore e 30 minuti',
1 => '2 ore e 30 minuti',
2 => '4 ore e 30 minuti' ,
3 => '5 ore e 30 minuti',
4 => '12 ore e 30 minuti',
5 => '7 ore');$message = "occorrono ".$array_ore[$esercizio]." di ".$array_box[$esercizio];
}
Niente da fare, credo che dovrò trovare un'altra soluzione, sicuramente meno elegante, avete idee?
-
Alla fine ho risolto così
[PHP]foreach ($valore_esercizio as $key => $valore)
{
$message= "che per bruciare 500 g di grasso occorrono ".$array_ore[$key]." di " .$valore_esercizio[$key];[/PHP]Grazie per l'aiuto
Però adesso avrei il problema della valorizzazione dell'array multidimensionale
[PHP]foreach ($valore_esercizio as $key1 => $v1) {
// echo "$key1<br>";
// echo "<br>$v1";
foreach ($v1 as $key2 => $v2) {
// echo"<br>$Key2";
echo "<br>$v2";
// $message= "che per bruciare 500 g di grasso occorrono ".$array_ore[$key1][$Key2]." di " .$valore_esercizio[$key1][$Key2];[/PHP]
Output:
Notice: Undefined variable: Key2 in /var/XXXXXXXX/ on line 68
Notice: Undefined index: in /var/XXXXXXXX/ on line 68
Notice: Undefined variable: Key2 in /var/XXXXXXXX/ on line 68
Notice: Undefined index: in /var/XXXXXXXX/ on line 68
BODY, P {color:black; font-family:verdana; font-size:10 pt} H1 {color:black; font-family:arial; font-size:12 pt} Calcolatore di eserciziIl calcolatore di esercizi dice:
che per bruciare 500 g di grasso occorrono di
non valorizza niente e mi da errore sulla Key2