Nel caso volessi aggiungere anche i campi di data e sito il codice diventa:
Codice PHP:
<?php
@$action=$_GET['action'];
$data=date("d/m/Y");
if($action=="sub"){
$nome=$_POST['nome'];
$prog=$_POST['prog'];
$vers=$_POST['vers'];
$data=$_POST['data'];
$sito=$_POST['sito'];
$tot="$nome"."$prog"."$vers"."$data"."$sito";
if(preg_match("=([|#%]+)=","$tot")){
echo("<span style=\"color:rgb(255,0,0);\">Non sono ammessi i seguenti caratteri: <b style=\"color:rgb(255,255,255);\">% # |</b> </span><br /><br />");
}
else{
if(($nome=="") || ($prog=="") || ($vers=="")){
echo("<span style=\"color:rgb(255,0,0);\">Completa tutti i campi!</span><br /><br />");
}
else{
$nome2=htmlentities($nome);
$prog2=htmlentities($prog);
$vers2=htmlentities($vers);
$sito2=htmlentities($sito);
$data2=htmlentities($data);
$scrivi=fopen("datiform.php","a+");
flock($scrivi,LOCK_EX);
fwrite($scrivi,"$nome2|$data2|$sito2|$prog2|$vers2%#%");
flock($scrivi,LOCK_UN);
fclose($scrivi);
header("location:form.php");
}
}
}
else{
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
<title>Inserisci programma</title>
<style type="text/css">
<!--
body{margin:20px; padding:0px; text-align:center; background-color: #000000;}
#main{margin:0px auto; padding:0px auto; text-align:center; width:800px;}
#tabella{width:800px;}
#tabella td{width:400px; text-align:left; color:#CCCCCC;}
#tabella2{width:800px; margin-top:30px;}
#tabella2 td{width:160px; text-align:center; color:rgb(255,255,255);}
input{background-color:rgb(255,255,255); border:1px solid rgb(100,100,100); width:194px; padding:3px 3px 3px 3px;}
-->
</style>
</head>
<body>
<div id="main">
<table id="tabella">
<form action="form.php?action=sub" method="post">
<tr>
<td>
<span class="scritta1">Nome:</span>
</td>
<td>
<input type="text" name="nome" />
</td>
</tr>
<tr>
<td>
<span class="scritta1">Data:</span></td>
<td>
<input type="text" name="data" value="<?php echo("$data"); ?>" />
</td>
</tr>
<tr>
<td>
<span class="scritta1">Sito:</span></td>
<td>
<input type="text" name="sito" />
</td>
</tr>
<tr>
<td>
<span class="scritta1">Nome Programma:</span></td>
<td>
<input type="text" name="prog" />
</td>
</tr>
<tr>
<td>
<span class="scritta1">Versione Programma:</span></td>
<td>
<input type="text" name="vers" />
</td>
</tr>
<tr>
<td>
</td>
<td>
<input type="submit" action="submit" value="Invia" style="width:100px; background-color:rgb(200,200,200);" />
</td>
</tr>
</table>
</form>
<table id="tabella2">
<tr style="background-color:#FFFFFF;">
<td style="color:rgb(0,0,0);">Nome</td>
<td style="color:rgb(0,0,0);">Data</td>
<td style="color:rgb(0,0,0);">Sito</td>
<td style="color:rgb(0,0,0);">Nome Programma</td>
<td style="color:rgb(0,0,0);">Versione Programma</td>
</tr>
<?php
if(file_exists("datiform.php")){
$leggi=fopen("datiform.php","r+");
flock($leggi,LOCK_SH);
$lettura=@fread($leggi,filesize("datiform.php"));
flock($leggi,LOCK_UN);
fclose($leggi);
$sp1=explode("%#%",$lettura);
$sp1c=count($sp1)-1;
$sp1x=array_reverse($sp1);
for($a=0;$a<=$sp1c;$a++){
@$sp2=explode("|",$sp1x[$a]);
echo@("<tr><td>$sp2[0]</td>");
echo@("<td>$sp2[1]</td>");
echo@("<td>$sp2[2]</td>");
echo@("<td>$sp2[3]</td>");
echo@("<td>$sp2[4]</td></tr>");
}
}
else{
}
?>
</table>
</div>
</body>
</html>
per capire le differenze confronta semplicemente i due codici...quello postato adesso e quello nel post precedente. Se hai domande chiedi pure!
Per quanto riguarda il codice su cui hai chiesto chiarimenti:
Codice PHP:
<?php
//con file_exists verifico se esiste il file contente i dati che voglio visualizzare
if(file_exists("datiform.php")){
//Se esiste il file lo apro, lo leggo, lo chiudo e memorizzo i dati in $lettura
$leggi=fopen("datiform.php","r+");
flock($leggi,LOCK_SH);
$lettura=@fread($leggi,filesize("datiform.php"));
flock($leggi,LOCK_UN);
fclose($leggi);
//Dopo aver letto i dati li separo, li conto e stampo le righe e le celle della tabella attraverso un ciclo for
$sp1=explode("%#%",$lettura);
$sp1c=count($sp1)-1;
$sp1x=array_reverse($sp1);
for($a=0;$a<=$sp1c;$a++){
@$sp2=explode("|",$sp1x[$a]);
echo@("<tr><td>$sp2[0]</td>");
echo@("<td>$sp2[1]</td>");
echo@("<td>$sp2[2]</td></tr>");
}
}
else{
}
?>
Ciaoooo