Ciao a tutti,
sto cercando di metter su uno script che in base all'inserimento di altezza, peso ed età, dica se si è in forma oppure no.
Attualmente il tutto è composto da tre file php: uno per stabilire un array, uno per il form e uno per verificare i dati inseriti e confrontare le variabili per poi esprimere un risultato.
Precisamente:
parametri.php
form.phpcodice:<?php $parametri = array ( "altezza" => "Altezza", "peso" => "Peso", "eta" => "Età" ); ?>
codice:<?php echo "<form action=\"risultati.php\" method=\"post\">"; echo "<table>"; foreach ($parametri as $campo => $valore) { if(isset($_POST[$campo])) { $valore = $_POST[$campo]; } else { $valore = ""; } echo "<tr><td align='right'>{$parametri[$campo]} </td> <td><input type='text' name='$campo' size='10' maxlenght='10' value='$valore'></td></tr>"; } echo "<td>Sesso:</td> <td><select name=\"sesso\" />"; echo "<option>M</option>"; echo "<option>F</option>"; echo "</td>"; echo "<tr>"; echo "<td><input type='submit' name='submit'/></td>"; echo "</tr>"; echo "</table>"; echo "</form>"; ?>
risultati.php
codice:<?php include("parametri.php"); if (!isset($_POST['submit'])) { include("form.php"); } else { foreach ($_POST as $campo => $valore) { if (empty($_POST[$campo])) { $blank[$campo] = "vuoto"; } else { if (!preg_match("/^[0-9.]{5}$/",$valore)) { $formats[$campo] = "errato"; } } } } /*Verifichiamo*/ if (@sizeof($blank) > 0 or @sizeof($formats) >0) { if (@sizeof($blank) > 0) { echo "I seguenti campi obbligatori non sono stati riempiti: "; foreach ($blank as $campo => $valore) { echo "• {$parametri[$campo]} "; } } if (@sizeof($formats) > 0) { echo "I seguenti campi non hanno un formato corretto: "; foreach ($formats as $campo => $valore) { echo "• {$parametri[$campo]} "; } } echo "<hr>"; include("form.php"); } /*else { Qui parte lo script per confrontare i vari parametri }*/ ?>
Allora: il form me lo visualizza correttamente, ma una volta inseriti i valori (o anche se non li inserisco), mi dà quest'errore:
Al posto di preg_match ho usato ereg, ma mi dice che è ormai obsoleto e quindi non saprei come gestire il tutto. E poi non so perché mi dà come errore la variabile sesso e submit.codice:I seguenti campi obbligatori non sono stati riempiti: • Altezza • Peso • Età I seguenti campi non hanno un formato corretto: Notice: Undefined index: sesso in C:\Programmi\EasyPHP5.3.0\www\script peso forma\risultati.php on line 40 • Notice: Undefined index: submit in C:\Programmi\EasyPHP5.3.0\www\script peso forma\risultati.php on line 40 •
Qualcuno potrebbe aiutarmi?
Grazie in anticipo

Rispondi quotando