Ciao a tutti... ho un piccolo problema con questo codice...
Codice PHP:
//controllo che $BACH non sia vuoto nonostante lo abbia già fatto nel form di inserimento
if($BACH == '' || $BACH == NULL){
die(avvisojsback('Impossibile inviare il messaggio. Manca il nome bacheca.'));
}
$sql = "INSERT INTO BACHECHE_TOPICS (BACH,USER_TOPIC,MSG_TOPIC,OBJ_TOPIC,DATA_TOPIC,PRIORITA_TOPIC) VALUES ('$BACH','$_SESSION[utente]','$MSG_BACH','$OBJ_BACH',".time().",1) ";
$query = mysql_query ($sql, $connessione) or die("sql || ".mysql_error());
//inserisco la bacheca visitata dall'utente, ma per farlo ho bisogno dell'id della nuova bacheca inserita
$sql_id = "SELECT ID_TOPIC as id FROM BACHECHE_TOPICS WHERE BACH = '$BACH' AND USER_TOPIC = '$_SESSION[utente]' AND OBJ_TOPIC = '$OBJ_BACH' AND DATA_TOPIC=".time();
$query_id = mysql_query ($sql_id,$connessione) or die("sql_id || ".mysql_error());
$id_topic = mysql_result($query_id,'id');
//ora posso inserire la bacheca visitata
$sql_pr = "INSERT INTO BACHECHE_VISITATE (UTENTE_VISITA,ID_TOPIC_VISITATO,NUOVI_MEX,SCADENZA_AVVISO) VALUES ('$_SESSION[utente]',$id_topic,0,'$scadenza_avviso_str')";
$query_pr = @mysql_query ($sql_pr,$connessione) or die(mysql_error());
$sql_pr = "UPDATE BACHECHE_TOPICS SET PRIORITA_TOPIC = PRIORITA_TOPIC+1 WHERE ID_TOPIC != $id_topic";
$query_pr = @mysql_query ($sql_pr,$connessione) or die("sql_pr || ".mysql_error());
//scrivo su un file per ogni utente che c'è un messaggio nuovo in bacheca
$sql_tt_utenti = "SELECT USERNAME FROM USERS WHERE USERNAME != '$_SESSION[utente]' AND USERNAME NOT IN (SELECT UTENTE_NO_AVVISO FROM BACHECHE_NO_AVVISO WHERE BACH_NO_AVVISO = '$BACH')";
$query_tt_utenti = mysql_query ($sql_tt_utenti,$connessione) or die("sql_tt_utenti || ".mysql_error());
while ($row_tt_utenti = mysql_fetch_array($query_tt_utenti)){
$username = $row_tt_utenti['USERNAME'];
$filename = "segnalazioni_nuovi_mex/".$username.".txt";
//prima controllo l'ultima riga (se esiste) che id ha
if (file_exists($filename) == TRUE){
$riga = file($filename);
$ultima_riga = count($riga) - 1;
$campo = explode('#',$riga[$ultima_riga]);
$ultimo_id = $campo[0];
}
//fine controllo
elseif(file_exists($filename) == FALSE){
$ultimo_id = 0;
}
$id = $ultimo_id + 1;
$somecontent = "$id#$id_topic#$BACH#".time()."\n";
if (!$handle = fopen($filename, 'a')) {
echo "Non si riesce ad aprire il file ($filename)
";
exit;
}
// Scrive $somecontent nel file aperto.
fwrite($handle, $somecontent);
fclose($handle);
}
//fine scrittura file
perché mi trovo nei file stringhe di questo genere
codice:
6#2611##1176940024
14#2628##1177501705
24#2639##1177678544
81#2796##1180082078
85#2801##1180167506
86#2802##1180169758
ovvero senza il $BACH???????????????????????????
eppure nel database me lo inserisce!!!!
spero in un aiuto,
grazie in anticipo.