-
Errore PHP
Codice PHP:
<?php
if (empty($_SESSION['my_id'])) { die ("Non sei loggato.<br><a href=\"login.php\">Login</a>");}
include("../connectdb.php");
$msg_dest = $_POST['msg_dest'];
$msg_title = $_POST['msg_title'];
$msg = $_POST['msg'];
$msg_data = date("d/m/Y - H:i:s");
if ($msg_dest == '') { die ("Non hai inserito un destinatario.<br><a href='/msg/new_msg.php'>Torna indietro</a>"); }
$control_dest = mysql_query("SELECT * FROM g_pg WHERE pg_name = '$msg_dest'");
if(!$control_dest) { die ("Il destinatario che hai inserito non è stato trovato.Controlla<br><a href='/msg/new_msg.php'>Torna Indietro</a>"); }
if ($msg_title == '') { die ("Non hai inserito un titolo.<br><a href='/msg/new_msg.php'>Torna Indietro</a>");}
if (strlen($msg_title) < 4) { die ("Titolo troppo corto. Ricorda che deve essere lunga almeno 4 caretteri<br><a href='/msg/new_msg.php'>Torna indietro</a>"); }
if (strlen($msg_title) > 40) { die ("Titolo troppo lungo. Ricorda che non deve essere lunga piu di 40 caretteri<br><a href='/msg/new_msg.php'>Torna indietro</a>"); }
if ($msg == '') { die ("Non hai inserito un testo.<br><a href='/msg/new_msg.php'>Torna Indietro</a>"); }
$insert_dati = mysql_query("INSERT INTO `g_msg` (`id_mit`, `id_dest`, `msg_title`, `msg_data`, `read`) VALUES ('{$_SESSION['my_name']}', '$msg_dest', '$msg_title', '$msg_data', '0')");
if(!$insert_dati) { echo "ERRORE"; }
else { $mod_title = str_replace(' ','',$msg_title);
$write_title = strtolower("$mod_title");
$file= $write_title . ".txt";
$apro=@fopen("$file","w");
fwrite($apro,"$msg");
fclose($apro);
echo "Messaggio inviato correttamente"; }
?>
Perchè non mi funziona l'insert e mi da il messaggio ERRORE?
-
Ho risolto questo problema, ma se io volessi inserire questi nuovi file creati in /archivio/ come dovrei fare? Non ci riesco se provo a impostare il percorso /archivio/$file...
-
Invece di "/archivio/$file", prova con "./archivio/$file". Senza il punto, ti riferisci alla radice, che mi sembra sia "membri". Con il punto, invece, ci si riferisce alla directory corrente (in pratica quella dello script).
Se vuoi partire dalla radice, dovresti fare "/membri/archivio/$file".
Se vuoi saperne di più sui percorsi relativi, leggi ad esempio qui.
Ciao!
-
-
Altro errore, ormai son un cliente abituale xD.
Mi funziona tutto ma non mi parte l'update O_O
Codice PHP:
<?php
if (empty($_SESSION['my_id'])) { die ("Non sei loggato.<br><a href=\"login.php\">Login</a>");}
$id_msg = $_GET['id'];
include("../get/get_msg.php");
$select_mit = mysql_query("SELECT * FROM g_pg WHERE id = '{$array_readmsg['id_mit']}'");
$mit = mysql_fetch_array($select_mit);
echo "<h2>Leggi Messaggio</h2>";
echo "Inviato da <b>" . $array_mit['pg_name'] . "</b> il <b>" . $array_readmsg['msg_data'] . "</b><br></br>";
echo "<b>Titolo:</b> " . $array_readmsg['msg_title'] . "<br></br>";
$file = $id_msg . ".txt";
$apro=@fopen("./archivio/$file","r");
$filesize = filesize("./archivio/$file");
$content = fread($apro, $filesize);
echo "<b>Messaggio:</b> <br> $content";
fclose($apro);
$up_read = mysql_query("UPDATE g_msg SET read = 1 WHERE id_mgs = '$id_msg'") or die (mysql_error());
?>
-
Se, come suppongo, $id_msg è un numero intero, dovresti togliergli gli apici da intorno. Mi spiego:
Codice PHP:
$up_read = mysql_query("UPDATE g_msg SET read = 1 WHERE id_mgs = $id_msg") or die (mysql_error());
EDIT:
Mmh.. Forse mi sbaglio, ma potrebbe essere anche che hai sbagliato a scrivere il nome della colonna. E' id_mgs o id_msg?
Codice PHP:
$up_read = mysql_query("UPDATE g_msg SET read = 1 WHERE id_msg = $id_msg") or die (mysql_error());
-
No era tutto giusto, comunque ho risolto, grazie lo stesso ;)