allora ho fatto un passettino ulteriore, ma il problema è che cosi facendo, mi modifica sempre e solo il primo valore( record), anche se scelgo di modificare il secondo, come mai?
Dove sbaglio?
Questo è il codice in sintesi:
codice:
$Old_mex = trim($_POST['old_mex']);
$New_mex = trim($_POST['new_mex']);
if($update_bacheca!=""){
# Rimuovere gli slash che PHP mette automaticamente prima dei caratteri speciali
$content=stripslashes($content);
$out="";
# Mettere le entrate(spazi?) negli array per l'allineamento
$lines = explode("\n",$content);
//print_r($lines);
for ($key=1;$key<sizeof($lines);$key++){
# quando il messaggio non è nella lista, aggiungere i vecchi messaggi
if ($Old_mex == $lines[$key]){
//echo "SI";
//print_r($lines[$key]);
list($user, $data, $ora, $contenuto) = split("[|]", $Old_mex, 4);
$New_mess = str_replace("
","",$contenuto);
list($user2, $data2, $ora2, $contenuto2) = split("[|]", $lines[$key], 4);
$New_m = str_replace($New_mess,$New_mex,$contenuto2);
//echo "1°| " . $New_mess ." vs 2°| " . $New_m . "
";
//print_r($lines[$key]);
$out .= "\n".$user2."|".$data2."|".$ora2."|".$New_m;
$out .= "\n".$lines[$key];
//echo "Outn: " . $out;
//fare reverse dell'array al momento dell'inserimento
//$out .= "\n" . $New_mess . "|" . $lines[$key];
$found=1;
if($found==1){
$newfile = fopen($file_mess,"w+");
fwrite($newfile, $out);
fclose($newfile);
echo " <script language=\"javascript1.2\">
alert(\"La nuova data è stata inserita nella Bacheca!\");
location.href=\"?bacheca_ins=1&c_sf=$c_sf\";
</script>";
}
exit;
}
# quando è già nella lista,(trovato=1)
else {
//echo "NO";
$found=0;
}
}
}//close $update_bacheca
aiuto ragazzi, per favore.....