Insert,Delete e Update file di testo

antagonia

Nuovo Utente
11 Gen 2008
1
0
0
Buon giorno, ho questo problema, voglio utilizzare un file di testo come database, purtroppo l'unica cosa che mi manca di fare è l'Update di un record...

Vi posto il codice che utililzzo per l'Insert e la Delete, compresivo anche dell'Update che però non funziona...

Codice:
$file_mess="../public/bacheca.txt";
$email_news = $_GET['rimuovi_bacheca'];
$update_bacheca = $_GET['update_bacheca'];

if (!file_exists($file_mess)) {
				$newfile = fopen($file_mess,"w+");
				fclose($newfile);
			}
			$newfile = fopen($file_mess,"r");
			$content = fread($newfile, filesize($file_mess));
			fclose($newfile);

#Modifica il valore selezionato
			if($update_bacheca!=""){
				$nickUt = $_POST['nickUt'];
				$Old_mex = trim($_POST['old_mex']);
				$New_mex = trim($_POST['new_mex']);
				
				if (!file_exists($file_mess)) {
					$newfile = fopen($file_mess,"w+");
					fclose($newfile);
				}
				$newfile = fopen($file_mess,"r");
				if(filesize($file_mess)==0){
					$content = "\n";
					$new_file=fopen($file_mess,"a+");
					fwrite($newfile,$content);//fputs = a fwrite
					fclose($newfile);
				}
				else{
					$content = fread($newfile, filesize($file_mess));
					fclose($newfile);
				}
				# Rimuovere gli slash che PHP mette automaticamente prima dei caratteri speciali 
				$content=stripslashes($content);
				
				$out = "";
				$lines = explode("\n",$content);
				//estrapolo tutti i record(?) presenti
				for ($key=1;$key<count($lines);$key++){

$out .= $lines[$key];
					
				}

$New_mess = str_replace($Old_mex,$New_mex,$content3);

/*$lines = explode("\n",$content3);
						for ($key=1;$key<count($content3);$key++){
							if($content3[$key]!=""){//se il file non è vuoto*/
								$commento =  "\n" . $nickUt . "<br/>" . $New_mess . "<br/>";
							/*}	
						}*/

if (is_writable($file_mess)) {
							if (!$handle = fopen($file_mess, 'a+')) {
								echo " 	<script language=\"javascript1.2\">
											alert(\"Il messaggio non è stato inserito_1!\");
											location.href=\"?bacheca_ins=1&c_sf=$c_sf\";
										</script>";
							}
							if (!fwrite($handle, $commento)) {
								echo " 	<script language=\"javascript1.2\">
											alert(\"Il messaggio non è stato inserito_2!\");
											location.href=\"?bacheca_ins=1&c_sf=$c_sf\";
										</script>";
							}
							echo " 	<script language=\"javascript1.2\">
										alert(\"La nuova data è stata inserita nella Bacheca!\");
										location.href=\"?bacheca_ins=1&c_sf=$c_sf\";
									</script>";
							fclose($handle);
						}//close 2° if

}//close $update_bacheca
			//elimina il record
			else{
				$out="";

				# Mettere le entrate(spazi?) negli array per l'allineamento 
				$lines = explode("\n",$content);
				for ($key=1;$key<sizeof($lines);$key++){
				# quando il messaggio non è nella lista, aggiungere i vecchi messaggi
					if ($lines[$key] != $email_news){
						$out .= "\n".$lines[$key];
					}
				# quando è già nella lista,(trovato=1)
					else {
						$found=1;
					}
				}
				$disp="no";
				# If the email is in the list...
				# Se il messaggio è nella lista...
				if ($found == 1){
					$newfile = fopen($file_mess,"w+");
					fwrite($newfile, $out);
					fclose($newfile);

echo "	<script language=\"javascript1.2\">
								alert(\"Messaggio rimosso con successo!\");
								location.href=\"?bacheca_ins=1&c_sf=$c_sf\";
							</script>";
					$disp="no";
				}

if ($found != 1){
echo "	<script language=\"javascript1.2\">
								alert(\"Non è stato possibile cancellare il Messaggio!\");
								location.href=\"?bacheca_ins=1&c_sf=$c_sf\";
							</script>";
					$disp="YES";
				}
			}//close else

Spero possiate aiutarmi.
Grazie mille e buona giornata a tutti.
 

Discussioni simili