-
Problema con variabili
Ecco il mio codice
Codice PHP:
<?php
// usiamo le sessioni, visto che dobbiamo trasmettere dati in varie pagine
session_start();
// questo va al posto della seconda riga del mio script sopra
if (isset ($_SESSION['a'])) // se la variabile di sessione è impostata...
$a = $_SESSION['a']; // ... allora usa il suo valore
else
$a = 210; // ... altrimenti inserisci qui il valore iniziale
// -----
// questo va al posto della terza riga del mio script sopra, il ragionamento è lo stesso...
if (isset ($_GET['b']))
$b = $_GET['b'];
else
$b = 64; // completa con il valore iniziale
// visualizza il nuovo valore di A
$a -= $b;
echo $a;
// memorizza il nuovo valore di A nella sessione
$_SESSION['a'] = $a;
// stampa il collegamento per reimpostare di nuovo la variabile
echo "<a href=\"?b=$b\">Espandi</a>";
echo "<br>Per costruire la caserma spenderai:";
echo $b;
if ($a < '0') {
$a += $b;
echo "<br>Impossibile costruire!<br>";
echo "Non hai abbastanza risorse<br>";
$a += $b;
}
?>
Mi dà un problema, e cioè che dal valore iniziale della variabile $a mi sottrae subito appena apro la pagina la variabile $b anche senza che io faccia click su "Espandi"! Come lo risolvo? Ecco il link:
http://xxxjokersxxx.altervista.org/Gioco/caserma.php
Vedete? Il numero accanto ad "espandi dovrebbe essere 210 e invece è 210-13 ($b)! Come faccio?
-
sostituisci
Codice PHP:
if (isset ($_GET['b']))
$b = $_GET['b'];
else
$b = 64; // completa con il valore iniziale
// visualizza il nuovo valore di A
$a -= $b;
echo $a;
con
Codice PHP:
if (isset ($_GET['b'])) {
$b = $_GET['b'];
$a -= $b;
}else {
$b = 64; // completa con il valore iniziale
}
// visualizza il nuovo valore di A
echo $a;
-
Grazie mille!!! E se volessi che le variabili non dipendessero più dai cookie (cancellando i cookie cancello anche le variabili)???
-
Puoi salvarti l'ip e lo stato delle variabili, così nel caso in cui uno cancella i cookie controlli tramite l'ip lo stato delle variabili. Però il problema si pone quando l'user si disconnette, se ti disconnetti cambi ip e di conseguenza le variabili si azzerano (se cancelli anche i cookie).
-
-
Fai giocare solo gli utenti registrati. Così recuperi i dati in base all'username.