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 &egrave; 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 &egrave; 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 &egrave; 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] &egrave; 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 &egrave; 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 &egrave; 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 &egrave; 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

Post popolari in questo blog

Simulazioni di reti (con Cisco Packet Tracer)

Esercizi sulla rappresentazione della virgola mobile IEEE 754 (Floating Point)