Lezione IV D SIA: inserimento e modifica html + Php con l'uso di due file
In questo post sono descritte le tre pagine inserimento, modifica e cancellazione (cancellazione la spiegherò il 27 novembre 2014)
Naturalmente le tre pagine html devono essere create e dovreste saperlo fare... (argomento di terza)
Ecco le tre pagine in Php (inserimento, modifica e cancellazione)
Inserimento_evento.php
<html>
<head>
</head>
<body>
<?php echo"<body bgcolor='c0c0c0'>";
$codice=$_POST['codice'];
$ospiti=$_POST['ospiti'];
$data=$_POST['data'];
$ora=$_POST['ora'];
$descrizione=$_POST['descrizione'];
if ($codice=="" || $ospiti=="" || $data=="" || $ora=="" || $descrizione=="")
echo"<h1>Errore!</h1><h3> Non sono stati inseriti tutti i campi!</h3>";
else
{
$g="$data[0]$data[1]";
$m="$data[3]$data[4]";
$a="$data[6]$data[7]";
if(checkdate($m,$g,$a)==true)
{
echo"<b>Ecco il riepilogo dei dati inseriti:</b><br>
Codice: $codice<br>
Ospiti: $ospiti<br>
Data: $data<br>
Ora: $ora<br>
Descrizione: $descrizione<br>";
$fp=fopen("eventi.txt","a");
if($fp)
{
flock($fp,2);
$nl=chr(13).chr(10);
fputs ($fp, "$codice,$ospiti,$data,$ora,$descrizione$nl");
echo"<b>I dati sono stati salvati correttamente!</b><br>";
flock($fp,3);
}
else echo"Non è stato possibile memorizzare i dati. Il file non esiste<br>";
}
else
echo"Data insierita non corretta!<br>";
}
echo"Per effettuare un altro inserimento <a
href='inserimento_evento.html'>clicca qui</a>";
?>
<br>
</body>
</html>
Modifica_evento.php
<?php
$num=5; //numero dei campi del record da trasferire nel vettore da 0 a 8.
$nomefile="eventi.txt"; //variabile che contiene il nome del file prodotti
$vec_cod=$_POST['vc'];
for($i=0;$i<$num;$i++) //ciclo che recupera i dati forniti dal form per l'inserimento dei nuovi alimenti
{
$prodotto[$i]=$_POST["p$i"];
}
if(file_exists($nomefile))
{
//se il file esiste
$fp=fopen($nomefile,"r");
if(!$fp)
die("<h2> Il file $nomefile non è stato aperto."); //se non va a buon fine ciò che è scritto da qui in
avanti non viene letto
flock($fp,2);//per operazioni di scrittura esclusiva
$nomefile_02="temp.txt";//file non esistente per cui verrà creato con fopen
$fp_02=fopen($nomefile_02,"w");
if(!$fp_02)
die("<h2> Il file $nomefile_02 non è stato aperto.");
flock($fp_02,2);
$trovato=0;
while(!feof($fp))
{
$stringa=fgets($fp);
$vettore=explode(",",$stringa);
if($vettore[0]!=$vec_cod)
fwrite($fp_02, $stringa);
else
{
$trovato=1;
$nl=chr(13).chr(10);
for($j=0;$j<count($vettore);$j++)
{
if($prodotto[$j])
$vettore[$j]=$prodotto[$j];
}
$stringa=implode(",",$vettore);
if($prodotto[$j])
fwrite($fp_02, "$stringa$nl");
else
fwrite($fp_02, "$stringa$nl");
}
}
if($trovato==0)
die("<h3> Il codice inserito non appartiene a nessuno evento in programma.");
echo"L'evento $prodotto[0] è stato modificato con successo!";
flock($fp,3);
flock($fp_02,3);
fclose($fp);
fclose($fp_02);
unlink($nomefile); //eliminazione del file di testo
rename($nomefile_02, $nomefile); //rinomino il nuovo file con il vecchio nome
}
else
echo"Il file non esiste";
?>
Canc_evento.php
<?php
$codice=$_POST['cod']; //recupero dati da form
$nomefile="eventi.txt";
if(file_exists($nomefile))
{
//se il file esiste
$fp=fopen($nomefile,"r");
if(!$fp)
die("<h2> Il file $nomefile non è stato aperto.");
//se non va a buon fine ciò che è scritto da qui in avanti non viene letto
flock($fp,2);//per operazioni di scrittura esclusiva
$nomefile_02="temp.txt";//file non esistente per cui verrà creato con fopen
$fp_02=fopen($nomefile_02,"w");
if(!$fp_02)
die("<h2> Il file $nomefile_02 non è stato aperto.");
flock($fp_02,2);
$trovato=0;
while(!feof($fp))
{
$stringa=fgets($fp);
$vettore=explode(",",$stringa);
if($vettore[0]!=$codice)
fwrite($fp_02, $stringa);
else
$trovato=1;
}
if($trovato==0)
die("<h3> Il codice inserito non appartiene a nessun evento in programma.");
echo"L'evento è eliminato dalla lista";
flock($fp,3);
flock($fp_02,3);
fclose($fp);
fclose($fp_02);
unlink($nomefile); //eliminazione del file di testo
rename
($nomefile_02, $nomefile);
}
else
echo"Il file non esiste";
echo"<a href='gestione.html'>Torna all'area personale</a>"."<br><br>";
?>
Naturalmente le tre pagine html devono essere create e dovreste saperlo fare... (argomento di terza)
Ecco le tre pagine in Php (inserimento, modifica e cancellazione)
Inserimento_evento.php
<html>
<head>
</head>
<body>
<?php echo"<body bgcolor='c0c0c0'>";
$codice=$_POST['codice'];
$ospiti=$_POST['ospiti'];
$data=$_POST['data'];
$ora=$_POST['ora'];
$descrizione=$_POST['descrizione'];
if ($codice=="" || $ospiti=="" || $data=="" || $ora=="" || $descrizione=="")
echo"<h1>Errore!</h1><h3> Non sono stati inseriti tutti i campi!</h3>";
else
{
$g="$data[0]$data[1]";
$m="$data[3]$data[4]";
$a="$data[6]$data[7]";
if(checkdate($m,$g,$a)==true)
{
echo"<b>Ecco il riepilogo dei dati inseriti:</b><br>
Codice: $codice<br>
Ospiti: $ospiti<br>
Data: $data<br>
Ora: $ora<br>
Descrizione: $descrizione<br>";
$fp=fopen("eventi.txt","a");
if($fp)
{
flock($fp,2);
$nl=chr(13).chr(10);
fputs ($fp, "$codice,$ospiti,$data,$ora,$descrizione$nl");
echo"<b>I dati sono stati salvati correttamente!</b><br>";
flock($fp,3);
}
else echo"Non è stato possibile memorizzare i dati. Il file non esiste<br>";
}
else
echo"Data insierita non corretta!<br>";
}
echo"Per effettuare un altro inserimento <a
href='inserimento_evento.html'>clicca qui</a>";
?>
<br>
</body>
</html>
Modifica_evento.php
<?php
$num=5; //numero dei campi del record da trasferire nel vettore da 0 a 8.
$nomefile="eventi.txt"; //variabile che contiene il nome del file prodotti
$vec_cod=$_POST['vc'];
for($i=0;$i<$num;$i++) //ciclo che recupera i dati forniti dal form per l'inserimento dei nuovi alimenti
{
$prodotto[$i]=$_POST["p$i"];
}
if(file_exists($nomefile))
{
//se il file esiste
$fp=fopen($nomefile,"r");
if(!$fp)
die("<h2> Il file $nomefile non è stato aperto."); //se non va a buon fine ciò che è scritto da qui in
avanti non viene letto
flock($fp,2);//per operazioni di scrittura esclusiva
$nomefile_02="temp.txt";//file non esistente per cui verrà creato con fopen
$fp_02=fopen($nomefile_02,"w");
if(!$fp_02)
die("<h2> Il file $nomefile_02 non è stato aperto.");
flock($fp_02,2);
$trovato=0;
while(!feof($fp))
{
$stringa=fgets($fp);
$vettore=explode(",",$stringa);
if($vettore[0]!=$vec_cod)
fwrite($fp_02, $stringa);
else
{
$trovato=1;
$nl=chr(13).chr(10);
for($j=0;$j<count($vettore);$j++)
{
if($prodotto[$j])
$vettore[$j]=$prodotto[$j];
}
$stringa=implode(",",$vettore);
if($prodotto[$j])
fwrite($fp_02, "$stringa$nl");
else
fwrite($fp_02, "$stringa$nl");
}
}
if($trovato==0)
die("<h3> Il codice inserito non appartiene a nessuno evento in programma.");
echo"L'evento $prodotto[0] è stato modificato con successo!";
flock($fp,3);
flock($fp_02,3);
fclose($fp);
fclose($fp_02);
unlink($nomefile); //eliminazione del file di testo
rename($nomefile_02, $nomefile); //rinomino il nuovo file con il vecchio nome
}
else
echo"Il file non esiste";
?>
Canc_evento.php
<?php
$codice=$_POST['cod']; //recupero dati da form
$nomefile="eventi.txt";
if(file_exists($nomefile))
{
//se il file esiste
$fp=fopen($nomefile,"r");
if(!$fp)
die("<h2> Il file $nomefile non è stato aperto.");
//se non va a buon fine ciò che è scritto da qui in avanti non viene letto
flock($fp,2);//per operazioni di scrittura esclusiva
$nomefile_02="temp.txt";//file non esistente per cui verrà creato con fopen
$fp_02=fopen($nomefile_02,"w");
if(!$fp_02)
die("<h2> Il file $nomefile_02 non è stato aperto.");
flock($fp_02,2);
$trovato=0;
while(!feof($fp))
{
$stringa=fgets($fp);
$vettore=explode(",",$stringa);
if($vettore[0]!=$codice)
fwrite($fp_02, $stringa);
else
$trovato=1;
}
if($trovato==0)
die("<h3> Il codice inserito non appartiene a nessun evento in programma.");
echo"L'evento è eliminato dalla lista";
flock($fp,3);
flock($fp_02,3);
fclose($fp);
fclose($fp_02);
unlink($nomefile); //eliminazione del file di testo
rename
($nomefile_02, $nomefile);
}
else
echo"Il file non esiste";
echo"<a href='gestione.html'>Torna all'area personale</a>"."<br><br>";
?>
riferimento e approfondimento dal mio libro in pdf gratuito da pag. 67
http://www.bassi.gov.it/documents/PLATELLA/ebook%20sul%20php%20in%20formato%20pdf.pdf
Buon lavoro
prof. Paolo Latella
Commenti
Posta un commento