Dichiarare variabili solo al caricamento della pagina

xSlart01x

Nuovo Utente
2 Mar 2020
5
1
3
Salve ragazzi, ho iniziato a studiare quest'anno php (con la scuola) e stavo cercando un modo per dichiarare alcune variabili solo al caricamento della pagina (come scritto nel titolo).

Ho notato che le variabili (sia che dichiarate nell'header che nel body) vengono ridichiarate ogni volta che viene eseguita un'azione nel form, e non solo al caricamento della pagina, di conseguenza, non funziona la maggior parte del mio codice.

Di seguito il codice che sto utilizzando:
PHP:
<!doctype html>
<html lang = "Italian">
    <head>
        <meta charset="UTF-8">
        <title>Somma array</title>
        <?php
            $x = 0;
            $nums[5] = [0, 0, 0, 0, 0];
            $sum = 0;
        ?>
    </head>
    <body>
        <form action="" method="post">
            <p>
                Numero: <input type = "number" name = "number" size = "40"/> <?php echo " (Numero: ", $x+1, ")"; ?>
            </p>
            <p>
                <input type = "submit" name = "invio" value = "Inserisci"/>
                <input type = "reset" name = "cancella" value = "Annulla"/>
            </p>
        </form>
        
        <?php
            
            if ($x < 5) {
                if (isset($_POST["number"])) {
                        $nums[$x] = $_POST["number"];
                        $x +=1;
                }
            }
            
            if ($x == 5) {
                for ($index = 0; $index<count($nums); $index++)
                    $sum += $nums[$index];
                
                echo "<center><b>La somma del vettore è: $sum </b></center>";
            }
            
            echo "-------->DEBUG<--------<br>";
            echo "Var X settata: ", (isset($x)) ? "vero" : "falso", "<br>";
            echo "Var NUMS settata: ", (isset($nums)) ? "vero" : "falso", "<br>";
            echo "Var SUM settata: ", (isset($sum)) ? "vero" : "falso", "<br>";
            echo "----->END DEBUG<-----<br>";
            
        ?>
    </body>
</html>

Grazie in anticipo,
Slart.
 

macus_adi

Utente Attivo
5 Dic 2017
1.200
74
48
IT/SW
Salve ragazzi, ho iniziato a studiare quest'anno php (con la scuola) e stavo cercando un modo per dichiarare alcune variabili solo al caricamento della pagina (come scritto nel titolo).

Ho notato che le variabili (sia che dichiarate nell'header che nel body) vengono ridichiarate ogni volta che viene eseguita un'azione nel form, e non solo al caricamento della pagina, di conseguenza,
Se hanno già spiegato la persistenza forse hai saltato qualche lezione... Altrimenti se non sai cosa sia la persistenza aspetta che il prof. lo spieghi....
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.178
312
83

xSlart01x

Nuovo Utente
2 Mar 2020
5
1
3
Grazie, penso che aspetterò anche se non credo la faremo, ma per adesso devo pensare a recuperare cose più importanti (per gli esami :O). Pensavo fosse una cosa più semplice e invece mi puzza di complicatuccia hahaha Ci penserò più avanti ;)

EDIT: Ho fatto ancora qualche altra ricerca e alla fine ho risolto utilizzando le variabili di sessione ($_SESSION["sum"] e $_SESSION["x"] ).
Grazie per l'aiuto :)
 
Ultima modifica: