Limete aumento caratteristica postato il nel forum programmazione, gdrcd, grafica e open source
Buongiorno a tutti, ho un problemino ino ino, come al solito dirà qualcuno :P hghgghghg
Dunque io ho questo script:
//aumenta fortuna
if($row['fortuna']<='99.00'){
$now=time();
$MySql2 = "SELECT ultimaexp FROM user WHERE nome = '".$user."'";
$Result2 = mysql_query($MySql2);
$rs2 = mysql_fetch_array($Result2);
$exp2=strtotime($rs2['ultimaexp'])+36;
$MySql3 = "UPDATE user SET fortuna = fortuna + '0.01', ultimaexp = NOW() WHERE nome = '".$user."'";
$Result3 = mysql_query($MySql3);
}
$rs2->close;
Pagine → 1 2
29/08/2011 09:35:55
Si la variabile $row è stata caricata, poichè comunque se non funzionava nemmeno caricava :( Il mio problema sta nel limite.
29/08/2011 10:06:56
La variabile $row prende in causa l'utente, quindi lo seleziona e verifica tramite query SE quell'utente ha meno di 99.00 di fortuna mi carica è così avviene ma dovrebbe fermassi a 99.00 perchè continua? :(
29/08/2011 10:38:49
In pratica il problema è l'uguale a... Giusto?
29/08/2011 10:50:28
Faccio subito una prova, grazie tesò ^_^
29/08/2011 10:53:44
Niente da fare, carica ancora oltre il limite :(
29/08/2011 11:38:09
Deve esserci qualcosa che non quadra nel modo in cui setti $row['fortuna'], vuo dire che in quella variabile c'è qualcosa che non ti aspetti.
Vediamo il codice che la inizializza
---
Non chiedetemi aiuto in privato per questioni di programmazione; chiedete sul forum e eventualmente vi risponderò lì.
http://gdrportal.eu - Hosting per GDR
29/08/2011 11:43:17
E' quello riportato su :(
29/08/2011 11:53:25
Dunque io ho un file php incluso in una pagina ovvero:
salute.php
/aumenta salute
if($row['fortuna']<'99'){
$now=time();
$MySql2 = "SELECT ultimaexp FROM user WHERE nome = '".$user."'";
$Result2 = mysql_query($MySql2);
$rs2 = mysql_fetch_array($Result2);
$exp2=strtotime($rs2['ultimaexp'])+36;
$MySql3 = "UPDATE user SET fortuna = fortuna + '0.01', ultimaexp = NOW() WHERE nome = '".$user."'";
$Result3 = mysql_query($MySql3);
}
$rs2->close;
29/08/2011 15:02:47
Il problema non sono le virgolette, ho provato a scrivere uno script simile e il comportamento dell'if con o senza virgolette attorno al numero non cambia. Anche se in verità mi sentirei più tranquillo se quelle virgolette non ci fossero: se stai facendo controlli su dei numeri usa i numeri, non le strighe, altrimenti non ha senso.
Prova a fare un cast esplicito di 'fortuna':
$row['fortuna']=(float)$row['fortuna'];
---
Non chiedetemi aiuto in privato per questioni di programmazione; chiedete sul forum e eventualmente vi risponderò lì.
http://gdrportal.eu - Hosting per GDR
29/08/2011 15:27:24 e modificato da hahod_balderk il 29/08/2011 15:29:08
Prova così [Per comodità tua ho lasciato praticamente il "tuo codice" risistemando con dei "controlli extra":
//aumenta fortuna
if (floor($row['fortuna'])<'99') { // con questo prendi tutti i valori minori di 99. Il floor ti serve per evitare le virgole.
$now = time();
$MySql2 = "SELECT ultimaexp FROM user WHERE nome = '".$user."'";
$Result2 = mysql_query($MySql2);
$rs2 = mysql_fetch_array($Result2);
$exp2=strtotime($rs2['ultimaexp'])+36;
// controllo incrociato. Faccio solo un controllo per evitare di aumentare il 99.
if (floor($row['fortuna'])=='99') {
$newfortuna = '99.00'; // qui la blocco sempre a 99.00
} else {
$newfortuna = $row['fortuna']+0.01; // qui faccio la somma, così la eviti alla query.
}
$MySql3 = "UPDATE user SET fortuna = ".$newfortuna.", ultimaexp = NOW() WHERE nome = '".$user."'";
$Result3 = mysql_query($MySql3);
}
Pagine → 1 2
Discussione seguita da:
Non puoi scrivere in questo Forum
Aggiungi Discussione ai Preferiti
Inoltra Discussione
Forum Programmazione, GDRCD, Grafica e Open Source
Torna alla lista Forum
mikee ha risposto alla discussione: cerco casa.
✋😟
Abbiamo rilevato che stai usando un software per bloccare la pubblicità!
L'utilizzo di GDR-online.com è gratuito da oltre 17 anni ma è necessario coprire i costi per mantenerlo online... ti chiediamo di aiutarci disabilitando il blocco dei banner pubblicitari.
Togliere il blocco significa fare in modo che GDR-online.com possa continuare a far conoscere piccoli giochi amatoriali gratuitamente e offrire un servizio sempre migliore e adatto alle esigenze dei suoi giocatori!
Se questo avviso continua ad apparire nonostante tu abbia autorizzato il portale:
- Verifica nelle opzioni che venga disattivato AdBlock in tutto il dominio gdr-online.com e non solo in una pagina
- Controlla di non avere fra le estensioni installate altre analoghe ad AdBlock, come AdBlock Plusbr, ublock origin, ecc.
- Probabilmente sul tuo PC è installato un Antivirus che ha anche funzioni di blocco pubblicità
- Se usi Firefox impostare il "Blocco Contenuti" su "Normale" e non su "Restrittivo". Per farlo clicca sull'icona dello scudo vicino all'URL e clicca su "Disattiva Blocco per questo sito"
- Prova a premere CTRL + F5, riloggarti e vedi se il problema persiste