-
Aiuto codice PHP
Salve ho un problema, il seguente script funziona, ma non riesco a fare in modo che quando si preme il pulsante 'coin' si esegue tutto il codice SOLO SE la colonna credits nella riga my_id è maggiore o uguale a $num1 che ho gia definito in modo da collegarlo alla textbox
Codice PHP:
if ($_POST['coin'])
{
$check_name = mysql_query("SELECT * FROM users WHERE username = '".$nickricevente."'") ;
if(mysql_num_rows($check_name) > 0){
$userdata = mysql_fetch_assoc($check_name);
}else {
$msg = "<div class='rounded rounded-red'><center>Impossibile trovare l'utente! <img src=\"./images/del.gif\"></center></div>";
}
$check_bal = mysql_query("SELECT credits FROM users WHERE id = '".$my_id."'") ;
if (($check_bal) < '".$num1."'){
$msg = "<div class='rounded rounded-red'><center>Non hai abbastanza RickCoin! <img src=\"./images/del.gif\"></center></div>";
}else { mysql_query("UPDATE users SET credits = credits - '".$num1."' WHERE id = '".$my_id."'");
mysql_query("UPDATE users SET credits = credits + '".$num1."' WHERE username = '".$nickricevente."'");
}
header ( "Location: /credits" );
}
-
Cura di più l'indentazione del codice, altrimenti diventa difficile ragionarci sopra.
Il problema è qui:
Codice PHP:
$check_bal = mysql_query("SELECT credits FROM users WHERE id = '".$my_id."'");
if (($check_bal) < '".$num1."'){
$check_bal è un record set, non ha senso confrontarlo con $num1 (tantomento se il confronto è con la stringa ".$num1."...). Probabilmente hai bisogno piuttosto di:
Codice PHP:
$check_bal = mysql_query("SELECT credits FROM users WHERE id = '".$my_id."'");
$row = mysql_fetch_assoc($check_bal);
if ($row['credits'] < $num1) {
Inoltre, le funzioni mysql_* sono deprecate, dovresti usare mysqli o PDO.