In pratica io ho una pagina privata che manda i dati ad una pagina pubblica
il problema è che nella query di insert non mi prende l'apostrofo...
ho provato con tutto mysql_escape_string, str_replace, ecc ma proprio non va
la stranezza è che nella query di modifica me lo lascia mettere sto apostrofo
Riporto qua il codice
Dove sbaglio ?
Codice PHP:
<?php
include('dati.php');
$azione = $_POST['azione'];
$id = $_POST['id'];
$page = $_POST['page'];
$titolo = mysql_escape_string($_POST['titolo']);
$testo = mysql_escape_string($_POST['testo']);
define("UPLOAD_DIR", "./uploads/");
$file=false;
if(isset($_FILES['img']))
{
$file = $_FILES['img'];
if($file['error'] == UPLOAD_ERR_OK and is_uploaded_file($file['tmp_name']))
{
move_uploaded_file($file['tmp_name'], UPLOAD_DIR.$file['name']);
}
}
if ($azione=="modifica") {
$keys=array('titolo','testo');
$values=array("'".$titolo."'","'".$testo."'");
if($file)
{
$keys[]='img';
$values[]="'".$file['name']."'";
}
$q="UPDATE eventi SET ";
$tmp=array();
for ($i=0; $i < count($keys) ; $i++) {
$tmp[]=$keys[$i]."=".$values[$i];
}
$q.=implode(",", $tmp);
$q.=" WHERE id=".$id;
mysql_query($q);
if(!mysql_query($q))
echo "QUERY FALLITA";
}
if ($azione=="elimina") {
mysql_query("delete from eventi where eventi.id = '$id'");
}
if ($azione=="inserisci") {
$keys=array('titolo','testo');
$values=array("'".$titolo."'","'".$testo."'");
if($file)
{
$keys[]='img';
$values[]="'".$file['name']."'";
}
$q="insert into eventi (".implode("'", $keys) .") values (".implode("'", $values).");";
if(!mysql_query($q))
echo "QUERY FALLITA";
}
?>
Grazie