Salve a tutti, mi aiutate a trovare l'errore?
Questa è una pagina che riceve i dati
Codice PHP:
<?php
$db = mysql_connect('localhost', 'root', '');
mysql_query('SET CHARACTER SET utf8');
$utente = $_POST['utente'];
$libro = $_POST['libro'];
$oper = $_POST['oper'];
if ($oper ==='1')
{
$sqlinser= "insert into mipiace (id_libro, id_utente, oper) values ('$libro', '$utente', '$oper')";
echo $sqlinser;
$oper = '2';
}
if ($oper ==='2')
{
$sqlinser= "insert into mipiace (id_libro, id_utente, oper) values ('$libro', '$utente', '$oper')";
echo $sqlinser;
$oper ='1';
}
echo $oper;
mysql_select_db("libri", $db)
or die ("Impossibile connettersi al database");
if (!mysql_query($sqlinser, $db))
{
print("attenzione, impossibile inserire il record $libro $utente");
}
{
$conn = @new mysqli('localhost', 'root','','libri');
$result = @$conn->query("SELECT COUNT(*) AS totale FROM mipiace WHERE id_libro='".$libro."'");
$row = $result->fetch_assoc();
$num_libro = $row['totale'];
print json_encode('piace a '.$num_libro.' persone <button onclick="likelibro('.$libro.','.$utente.','.$oper.')"><span>non mi piace</span></button>');
}
mysql_close($db);
?>
le variabili $libro, $utente e $oper vengono inviati alla pagina da una funzione ajax, e la variabile $oper può assumere valore 1 (di default) o 2 e, quindi, la pagina php deve eseguire la prima o la seconda query a secondo del valore di $oper. In realtà la seconda query dovrà essere di modifica e non di inserimento. Il problema è che, indipendentemente dal valore di $oper, viene eseguita sempre la seconda query come se fossero vere entrambe le condizioni; infatti nel preview di chrome ottengo:
insert into mipiace (id_libro, id_utente, oper) values ('1', '221', '1')insert into mipiace (id_libro, id_utente, oper) values ('1', '221', '2')1"piace a 34 persone <button onclick=\"likelibro(1,221,2)\"><span>non mi piace<\/span><\/button>"
(ho inserito degli echo per capire cosa accade nel codice). Inoltre la funzione
codice:
print json_encode......
non funziona, metre funziona perfettamente se elimino le condizioni, utilizzo una sola query di inserimento e faccio passare dalla funzione ajax solo le variabili $libro e $utente.
Qualcuno mi sa dire dove sbaglio? Grazie mille