Upload
dinhkhue
View
220
Download
0
Embed Size (px)
Citation preview
Luca Belloni
RELAZIONE ESERCIZIO TRACCIE:
TRACCIA N. 6 “ENTE PUBBLICO DI FINANZIAMENTO”
Classe 4 E SIA
ITE A. Bassi di Lodi
Sede: Via di Porta Regale, 2, 26900 Lodi LO
©Relazione traccie assegnate: traccia n.6 di Luca Belloni-Istituto Agostino Bassi Lodi-4E
2
Sommario TRACCIA N.6 .............................................................................................................................................. 3
Traccia del problema ........................................................................................................................ 3
Analisi generale ................................................................................................................................... 3
Analisi nel dettaglio .......................................................................................................................... 4
HOME.HTML ........................................................................................................................................ 4
LOCALITA.HTML ............................................................................................................................... 5
SETTING.PHP ..................................................................................................................................... 6
PROGETTI.PHP ................................................................................................................................. 7
FORM_INSERT.PHP ...................................................................................................................... 11
FORM_UPDATE.PHP ..................................................................................................................... 13
LETTURA.PHP .................................................................................................................................. 15
RICERCA.PHP .................................................................................................................................. 17
Area riservata ..................................................................................................................................... 19
LOGIN.PHP/LOGIN_EFFETTUATO.PHP/REG_UTE.PHP/ACTION.PHP/LOGO
UT.PHP ................................................................................................................................................ 19
FINANZIAMENTI.TXT .................................................................................................................. 25
Tabella variabili ................................................................................................................................. 26
Tabella record ..................................................................................................................................... 26
©Relazione traccie assegnate: traccia n.6 di Luca Belloni-Istituto Agostino Bassi Lodi-4E
3
TRACCIA N.6
Traccia del problema
Un ente pubblico finanzia dei progetti di ricerca, e vuole registrare le informazioni necessarie
per poter sapere, dato il nome di un progetto, il denaro stanziato per tale progetto, inoltre
vuole poter avere l'elenco dei progetti per cui è stata stanziata una somma in denaro inferiore
o superiore ad un valore assegnato.
Scrivere un programma per creare il file (o i file) con i nomi dei progetti ed il denaro
stanziato per ognuno;
Scrivere un programma che dato il nome di un progetto visualizzi il valore dello
stanziamento;
Scrivere un programma che dato un valore di stanziamento scriva l'elenco dei progetti
con uno stanziamento minore o uguale al valore dato;
Scrivere un programma che dato un valore di stanziamento scriva l'elenco dei progetti
con uno stanziamento superiore al valore dato;
Scrivere un programma unico che permetta di scegliere una delle richieste del punto 2
ed avere la risposta corrispondente
Analisi generale
Il sito dovrà contenere 5 pagine: home, località/contatti, lista dei progetti, pagina della ricerca
e una pagina riservata, che accedendoci sbloccherà l’accesso ad una pagina con un menù che
permetterà di andare in altre 3 pagine: la pagina di inserimento dei progetti, la pagina di modifica
e la pagina di visualizzazione dei progetti in archivio (dove potranno essere eliminati
La home dovrà contenere la traccia assegnata;
Nella pagina di località/contatti ci sarà la città dove è situato l’ente, la zona, la via, il
numero di telefono, l’email e una mappa che indica la sua posizione;
All’interno della pagina ricerca i progetti dovranno essere cercati sia per nome che per
l’importo del finanziamento;
Nella lista progetti dovranno apparire tutti i progetti presenti in archivio senza la
possibilità di essere modificati o eliminati, in quanto visibili a tutti;
Infine nell’area riservata si potrà accedere alla stessa o in alternativa, registrarsi tramite
un apposito link;
In sostanza la funzione principale del sito, una volta entrati nella pagina riservata, sarà quella di
inserire un nuovo progetto, salvarlo su un file txt, che svolge la funzione di archivio, modificare
i dati dei progetti presenti ed eliminarli.
©Relazione traccie assegnate: traccia n.6 di Luca Belloni-Istituto Agostino Bassi Lodi-4E
4
Analisi nel dettaglio
HOME.HTML
Home.html sarà la prima pagina visualizzata dall’utente dove vedrà il nome dell’ente di
finanziamento, un’immagine, un menù di navigazione uguale in tutte le pagine e la traccia
dell’esercizio.
Codice:
<html>
<head>
<meta charset="UTF-8">
<meta name="author" content="Luca Belloni">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="keywords" content="Luca Belloni,4e Lodi,I.T.E Agostino Bassi">
<link rel="stylesheet" href="style.css" type="text/css">
<title>Home | Cash EveryWhere</title>
</head>
<body bgcolor="burlywood">
<center>
<h1>Cash EveryWhere</h1><br>
<h4>"Simulazione scolastica classe IV E Corso SIA - Istituto Tecnico Economico e Tecnologico "Agostino
Bassi" Lodi "</h4>
<img src="lodi.gif" width="150" height="180"><br>
<table border="1" width="100%" bgcolor="white">
<tr align="center" valign="center">
<td width="20%"><font siz1e="4"><b><a href="#">Home</a></b></font></td>
<td width="20%"><font size="4"><b><a href="localita.html">Località e
Contatti</a></b></font></td>
<td width="20%"><font size="4"><b><a href="progetti.php">Progetti</a></b></font></td>
<td width="20%"><font size="4"><b><a href="ricerca.php">Ricerca</a></b></font></td>
<td width="20%"><font size="4"><b><a href="registrazioneutente/login.php">Pagina
riservata</a></b></font></td>
</tr>
</table>
<h2>Traccia assegnata n. 6</h2><a target="blank" href="http://paololatella.blogspot.it/2018/01/tracce-
assegnate-alla-iv-e-sia-file-di.html">(Articolo Blog Latella)</a>
<p>Un ente pubblico finanzia dei progetti di ricerca, e vuole registrare le informazioni necessarie per poter
sapere, dato il nome di un progetto, il denaro stanziato per tale progetto, inoltre vuole poter avere l'elenco dei progetti
per cui è stata stanziata una somma in denaro inferiore o superiore ad un valore assegnato.</p>
<p>Scrivere un programma per creare il file (o i file) con i nomi dei progetti ed il denaro stanziato
per ognuno;</p>
<p>Scrivere un programma che dato il nome di un progetto visualizzi il valore dello
stanziamento;</p>
<p>Scrivere un programma che dato un valore di stanziamento scriva l'elenco dei progetti con uno
stanziamento minore o uguale al valore dato;</p>
<p>Scrivere un programma che dato un valore di stanziamento scriva l'elen-co dei progetti con uno
stanziamento superiore al valore dato;</p>
<p>Scrivere un programma unico che permetta di scegliere una delle richieste del punto 2 ed avere
la risposta corrispondente.</p>
</center>
</body>
</html>
©Relazione traccie assegnate: traccia n.6 di Luca Belloni-Istituto Agostino Bassi Lodi-4E
5
LOCALITA.HTML
In localita.html l’utente vedrà tutte le informazioni riguardanti la località e i contatti dell’ente: la
città dove è situato, la zona, la via, il numero di telefono, l’email e una mappa che indica la sua
posizione.
La parte di codice evidenziato è la stringa che permette la visualizzazione della mappa. Tale
stringa è stata ottenuta da google maps; andando sul sito https://www.google.it/maps/ e
digitando l’indirizzo interessato apparirà un menù, cliccando sulla scritta “condividi” in colore blu
e selezionando l’opzione incorpora mappa (dimensioni medie) appare il codice da inserire nella
pagina html.
Codice:
<html>
<head>
<meta charset="UTF-8">
<meta name="author" content="Luca Belloni">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="keywords" content="Luca Belloni,4e Lodi,I.T.E Agostino Bassi">
<link rel="stylesheet" href="style.css" type="text/css">
<title>Località | Cash EveryWhere</title>
</head>
<body bgcolor="burlywood">
<center>
<h1>Località | Cash EveryWhere</h1><br>
<h4>"Simulazione scolastica classe IV E Corso SIA - Istituto Tecnico Economico e Tecnologico "Agostino
Bassi" Lodi "</h4>
<img src="lodi.gif" width="150" height="180"><br>
<table border="1" width="100%" bgcolor="white">
<tr align="center" valign="center">
<td width="20%"><font siz1e="4"><b><a href="home.html">Home</a></b></font></td>
<td width="20%"><font size="4"><b><a href="#">Località e Contatti</a></b></font></td>
<td width="20%"><font size="4"><b><a href="progetti.php">Progetti</a></b></font></td>
<td width="20%"><font size="4"><b><a href="ricerca.php">Ricerca</a></b></font></td>
<td width="20%"><font size="4"><b><a href="registrazioneutente/login.php">Pagina
riservata</a></b></font></td>
</tr>
</table>
</center>
<p> </p>
<p>
<font size="3">Città:</font> <font size="3"><b>Lodi</b></font><br>
<font size="3">Zona:</font><font size="3"> <b>Centro</b></font><br>
<font size="3">Indirizzo:</font><font size="3"><b>Piazza Broletto 1 </b></font><br>
<font size="3">Numero di telefono:</font>:<font size="3"> <b>XXX XXX XXX</b></font><br>
<font size="3">Email:</font>:<font size="3"> <b>[email protected]</b></font><br>
</p>
<iframe
src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d89784.25465206555!2d9.395917379990566!3d
45.313314746690516!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x47812c2bc2475475%3A0xbb724699
bfc100e4!2sComune+di+Lodi+Ufficio+Urp!5e0!3m2!1sit!2sit!4v1516530763521" width="400" height="300"
frameborder="0" style="border:0" allowfullscreen></iframe>
</body>
</html>
©Relazione traccie assegnate: traccia n.6 di Luca Belloni-Istituto Agostino Bassi Lodi-4E
6
SETTING.PHP
Nella pagina setting.php associo a delle variabili i file .txt in modo che nelle pagine successive
mettendo include('setting.php') trasferisco le variabili in tutte le pagine senza dover associare
ogni volta le stesse ai file di testo.
Codice:
<?php
$my_database_2_txt = 'finanziamenti.txt';
?>
©Relazione traccie assegnate: traccia n.6 di Luca Belloni-Istituto Agostino Bassi Lodi-4E
7
PROGETTI.PHP
In questa pagina verranno visualizzati tutti i prodotti presenti sul file finanziamenti.txt grazie al
ciclo di iterazione foreach.
Il ciclo permette di richiamare ogni riga presente nel file finanziamenti.txt, grazie alla variabile
$key ed alla variabile $finanziamenti (che contiene il record), separare tutti i campi, eliminare il
simbolo di separazione | e successivamente visualizzare i dati di ogni libro in tabelle differenti.
Spiegazione delle parti in php nello specifico:
-include('setting.php'), permette di trasferire la variabile $my_database_txt, contenente il file
finanziamenti.txt, contenuta nella pagina setting.php.
-$array =file($my_database_2_txt), associo alla variabile $array la struttura del file di testo.
-foreach($array as $key => $finanziamenti), apro il ciclo di iterazione e creo una variabile ($key) che
mi serve per richiamare l’inizio di ogni riga.
-list( $n_progetto, $proprietario, $data, $importo) = explode("|", $finanziamenti), con list divido
tutti gli elementi contenenti nella variabile $finanziamenti e explode mi toglie il separatore dei campi( | ).
Codice:
<html>
<head>
<meta charset="UTF-8">
<meta name="author" content="Luca Belloni">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="keywords" content="Luca Belloni,4e Lodi,I.T.E Agostino Bassi">
<link rel="stylesheet" href="style.css" type="text/css">
<title>Area Riservata | Cash EveryWhere</title>
</head>
<body bgcolor="burlywood">
<center>
<h1>Area Riservata | Cash EveryWhere</h1><br>
<h4>"Simulazione scolastica classe IV E Corso SIA - Istituto Tecnico Economico e Tecnologico "Agostino
Bassi" Lodi "</h4>
<img src="lodi.gif" width="150" height="180"><br>
<table border="1" width="100%" bgcolor="white">
<tr align="center" valign="center">
<td width="20%"><font siz1e="4"><b><a href="home.html"> Home</a></b></font></td>
<td width="20%"><font size="4"><b><a href="localita.html">Località e
Contatti</a></b></font></td>
<td width="20%"><font size="4"><b><a href="progetti.php">Progetti</a></b></font></td>
<td width="20%"><font size="4"><b><a href="ricerca.php">Ricerca</a></b></font></td>
<td width="20%"><font size="4"><b><a href="registrazioneutente/login.php">Pagina
riservata</a></b></font></td>
</tr>
</table>
</center>
<h2>Lista finanziamenti</h2><hr>
<?php
include('setting.php');
$array= file($my_database_2_txt); //$array_righi conterrà la struttura del file di testo
foreach($array as $key => $finanziamenti){ //associo un nome che mi serve per richiamare l'inizio di ogni riga,
$articolo contiene l'intero record
list( $n_progetto, $proprietario, $data, $importo) = explode("|", $finanziamenti); //con list divido tutti gli
elementi del $articolo, explode metti i dati in tabella eliminando ilsimbolo |
echo '
<p>
©Relazione traccie assegnate: traccia n.6 di Luca Belloni-Istituto Agostino Bassi Lodi-4E
8
<table width="100%>
<tr">
<td width="25%"> <b>Nome Progetto:</b> ' .$n_progetto. ' </td>
<td width="25%"> <b>Proprietario:</b> ' .$proprietario. ' </td>
<td width="25%"> <b>Data concessione finanziamento:</b> ' .$data. ' </td>
<td width="25%"> <b>Importo:</b> ' .$importo. ' </td>
</tr>
</table>
</p>
<hr />';
}
?>
</body>
</html>
©Relazione traccie assegnate: traccia n.6 di Luca Belloni-Istituto Agostino Bassi Lodi-4E
9
ACTION.PHP
La pagina action.php svolge tre funzioni che vanno a modificare prodotti.txt: scrittura dei nuovi
dati inseriti, eliminazione di una riga e la modifica sempre dei dati di una riga. Per includere il
file prodotti.txt usiamo include("setting.php").
ELIMINARE DI UNA RIGA:
All’inizio associa a un array l’intero record (denominato $array_righi), di seguito cancella la riga
selezionata nel file lettura.php e apre il file resettando il contenuto. Attraverso un ciclo di
iterazione riscrive tutte le righe senza quella che precedentemente ha cancellato, chiudiamo il
file e torniamo nella pagina di visualizzazione.
MODIFICA DI UNA RIGA:
Come prima operazione associamo a un array l’intero record (denominato $array_righi),
successivamente creiamo un array $bad_char che mi cancella a video i dati, ma ricorda che sul
disco fisso devono rimanere i simboli di divisione e il comando a capo, di seguito stabilisco
tutte le variabili che conterranno i dati inseriti dall’utente, ma grazie a str_replace prendiamo i
valori reali escludendo gli spazi insignificanti. Poi grazie a row update il programma riscrive la
riga che vogliamo modificare e apre il file resettando il contenuto, ma riscrivendo tutte le righe
con quella modificata. Chiude il file e torna nella pagina di visualizzazione.
Codice:
<?php
include("setting.php");
if(isset($_GET['delete']))
{
// creiamo l'array con tutti i righi
$array = file($my_database_2_txt);
// eliminiamo dall'array il rigo
unset($array[$_GET['delete']]);
// apriamo il file resettando il contenuto
$fp = fopen($my_database_2_txt, "w");
foreach($array as $key => $value){
// ri-scriviamo tutti i righi (rimanenti)
fwrite($fp, $value);
}
fclose($fp);
// ritorniamo nella pagina di visualizzazione
header("location: lettura.php");
exit;
}
/************************
MODIFICARE UN RIGO
*************************/
else if(isset($_POST['modifica']) AND isset($_POST['row_update']))
{
// creiamo l'array con tutti i righi
$array= file($my_database_2_txt);
// riceviamo i dati e li filtriamo
$bad_char = array("|", "\r\n", "\r", "\n");
$n_progetto = str_replace($bad_char, "", $_POST['n_progetto']);
$proprietario= str_replace($bad_char, "", $_POST['proprietario']);
©Relazione traccie assegnate: traccia n.6 di Luca Belloni-Istituto Agostino Bassi Lodi-4E
10
$data = str_replace($bad_char, "", $_POST['data']);
$importo= str_replace($bad_char, "", $_POST['importo']);
// ri-scriviamo il rigo (che sostituirà il precedente)
$array[$_POST['row_update']] = $n_progetto."|".$proprietario."|".$data."|".$importo."\r\n";
// apriamo il file resettando il contenuto
$fp= fopen($my_database_2_txt, "w");
foreach($array as $key => $value){
// ri-scriviamo tutti i righi
fwrite($fp, $value);
}
fclose($fp);
// ritorniamo nella pagina di visualizzazione
header("location: lettura.php");
exit;
}
?>
©Relazione traccie assegnate: traccia n.6 di Luca Belloni-Istituto Agostino Bassi Lodi-4E
11
FORM_INSERT.PHP
All’interno ci sarà un form che permetterà all’utente di inserire i dati dei progetti, grazie al codice
in php all’interno della pagina.
SCRITTURA DI UNA RIGA:
Per prima cosa controlla se il file ha i permessi di scrittura e successivamente riceve i dati, da
page.php, e li filtra: all’inizio crea un array ($bad_char )che cancella a video i dati, ma ricorda
che sul disco fisso devono rimanere i simboli di divisione e il comando a capo, di seguito stabile
tutte le variabili che conterranno i dati inseriti dall’utente, ma grazie a str_replace prendiamo i
valori reali escludendo gli spazi insignificanti. A seguire apre il file usando l’attributo a+, che
apre il file iniziando a scrivere dall’ultimo riga presente sul file txt. Poi scrive i dati separati dal
carattere | (detto carattere separatore), chiude il file e infine torna nella pagina di
visualizzazione.
Codice:
<html>
<head>
<meta charset="UTF-8">
<meta name="author" content="Luca Belloni">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="keywords" content="Luca Belloni,4e Lodi,I.T.E Agostino Bassi">
<link rel="stylesheet" href="style.css" type="text/css">
<title>Area Riservata | Cash EveryWhere</title>
</head>
<body bgcolor="burlywood">
<center>
<h1>Area Riservata | Cash EveryWhere</h1><br>
<h4>"Simulazione scolastica classe IV E Corso SIA - Istituto Tecnico Economico e Tecnologico "Agostino
Bassi" Lodi "</h4>
<img src="lodi.gif" width="150" height="180"><br>
<table border="1" width="100%" bgcolor="white">
<tr align="center" valign="center">
<td width="20%"><font siz1e="4"><b><a href="home.html"> Home</a></b></font></td>
<td width="20%"><font size="4"><b><a href="localita.html">Località e
Contatti</a></b></font></td>
<td width="20%"><font size="4"><b><a href="progetti.php">Progetti</a></b></font></td>
<td width="20%"><font size="4"><b><a href="ricerca.php">Ricerca</a></b></font></td>
<td width="20%"><font size="4"><b><a href="#">Pagina riservata</a></b></font></td>
</tr>
</table>
<table border="1" width="10%" bgcolor="white" >
<tr align="center" valign="center"><td width="20%"><font size="4"><b><a
href="registrazioneutente/logout.php">Logout</a></b></font></td></tr>
</table>
</center>
<h3><a href="lettura.php">Torna alla lista dei finanziamenti</a></h3>
<h3><a href="lettura.php">Per modificare o cancellare un finanziamento clicca qui</a></h3>
<form action="form_insert.php" method="post">
<label for="n_progetto">Nome progetto</label>
<input type="text" id="n_progetto" name="n_progetto" />
<label for="proprietario">Proprietario</label>
<input type="text" id="proprietario" name="proprietario" />
<label for="data">Data dell'erogazione del finanziamento</label>
<input type="date" id="data" name="data" />
<label for="importo">Importo</label>
©Relazione traccie assegnate: traccia n.6 di Luca Belloni-Istituto Agostino Bassi Lodi-4E
12
<input type="text" id="importo" name="importo" />
<input type="submit" name="scrivi" value="Inserisci" />
</form>
<?php
include("setting.php");
if(isset($_POST['scrivi']))
{
if(!is_writable($my_database_2_txt)){
exit("il file non ha i permessi di scrittura!");
}
// riceviamo i dati e li filtriamo
$bad_char = array("|", "\r\n", "\r", "\n");
$n_progetto = str_replace($bad_char, "", $_POST['n_progetto']);
$proprietario= str_replace($bad_char, "", $_POST['proprietario']);
$data = str_replace($bad_char, "", $_POST['data']);
$importo= str_replace($bad_char, "", $_POST['importo']);
// apriamo il file
$fp = fopen($my_database_2_txt,"a+");
flock($fp,2); /*funzione che blocca il file in maniere che si possa scrivere senza accavallare i dati se 2 o più
persone stanno usando il programma*/
// scriviamo i dati separati dal carattere separatore
fwrite($fp, $n_progetto."|".$proprietario."|".$data."|".$importo."\r\n");
flock($fp,3);//sblocca permettendo a prossimi dati di essere iscritti nel file di testo
fclose($fp);//chiusura del file di testo
// ritorniamo nella pagina di visualizzazione
header("location: lettura.php");
exit;
}
?>
</body>
</html>
©Relazione traccie assegnate: traccia n.6 di Luca Belloni-Istituto Agostino Bassi Lodi-4E
13
FORM_UPDATE.PHP
All’interno ci sarà un form che permetterà all’utente di modificare i dati contenuti in prodotti.txt
grazie al collegamento con action.php, che contiene il codice di modifica.
Il codice in php mi va a prendere gli elementi in memoria e successivamente mi divide tutti i
campi eliminando il simbolo separatore.
Nei campi del form verranno riportati i valori relativi alla riga che vogliamo modificare per mezzo
di questo comando: <?php echo htmlentities($categoria, ENT_QUOTES); ?>.Esso mi va a
prendere il valore reale all’interno della variabile.
Codice:
<html>
<head>
<meta charset="UTF-8">
<meta name="author" content="Luca Belloni">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="keywords" content="Luca Belloni,4e Lodi,I.T.E Agostino Bassi">
<link rel="stylesheet" href="style.css" type="text/css">
<title>Area Riservata | Cash EveryWhere</title>
</head>
<body bgcolor="burlywood">
<center>
<h1>Area Riservata | Cash EveryWhere</h1><br>
<h4>"Simulazione scolastica classe IV E Corso SIA - Istituto Tecnico Economico e Tecnologico "Agostino
Bassi" Lodi "</h4>
<img src="lodi.gif" width="150" height="180"><br>
<table border="1" width="100%" bgcolor="white">
<tr align="center" valign="center">
<td width="20%"><font siz1e="4"><b><a href="home.html"> Home</a></b></font></td>
<td width="20%"><font size="4"><b><a href="localita.html">Località e
Contatti</a></b></font></td>
<td width="20%"><font size="4"><b><a href="progetti.php">Progetti</a></b></font></td>
<td width="20%"><font size="4"><b><a href="ricerca.php">Ricerca</a></b></font></td>
<td width="20%"><font size="4"><b><a href="#">Pagina riservata</a></b></font></td>
</tr>
</table>
<table border="1" width="10%" bgcolor="white" >
<tr align="center" valign="center"><td width="20%"><font size="4"><b><a
href="registrazioneutente/logout.php">Logout</a></b></font></td></tr>
</table>
</center>
<h3><a href="lettura.php">Torna alla lista dei finanziamenti</a></h3>
<h3><a href="lettura.php">Per modificare o cancellare un finanziamento clicca qui</a></h3>
<form action="action.php" method="post">
<label for="n_progetto">Nome progetto</label>
<input type="text" id="n_progetto" name="n_progetto" value="<?php echo htmlentities($n_progetto,
ENT_QUOTES); ?>"/>
<label for="proprietario">Proprietario</label>
<input type="text" id="proprietario" name="proprietario" value="<?php echo htmlentities($proprietario,
ENT_QUOTES); ?>"/>
<label for="data">Data dell'erogazione del finanziamento</label>
<input type="text" id="data" name="data" value="<?php echo htmlentities($data, ENT_QUOTES); ?>"/>
<label for="importo">Importo</label>
<input type="text" id="importo" name="importo" value="<?php echo htmlentities($importo,
ENT_QUOTES); ?>"/>
<input type="hidden" name="row_update" value="<?php echo $_GET['row']; ?>" />
©Relazione traccie assegnate: traccia n.6 di Luca Belloni-Istituto Agostino Bassi Lodi-4E
14
<input type="submit" name="modifica" value="modifica" />
</form>
</body>
</html>
©Relazione traccie assegnate: traccia n.6 di Luca Belloni-Istituto Agostino Bassi Lodi-4E
15
LETTURA.PHP
Lettura.php svolge la stessa funzione di progetti.php, ma con due grandi differenze:
L’utente potrà entrare nella pagina solo se avrà fatto il login nell’area
riservata(login.php).
In progetti.php si può vedere solo i dati contenuti in finanziamenti.txt mentre qua
troviamo due link:
1. Elimina, che è collegato alla funzione di eliminazione in action.php e di
conseguenza puoi eliminare una riga nel file txt;
2. Modfica, che è collegato alla funzione di modifica in action.php e di conseguenza
puoi modificare una riga nel file txt.
Codice:
<html>
<head>
<meta charset="UTF-8">
<meta name="author" content="Luca Belloni">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="keywords" content="Luca Belloni,4e Lodi,I.T.E Agostino Bassi">
<link rel="stylesheet" href="style.css" type="text/css">
<title>Area Riservata | Cash EveryWhere</title>
</head>
<body bgcolor="burlywood">
<center>
<h1>Area Riservata | Cash EveryWhere</h1><br>
<h4>"Simulazione scolastica classe IV E Corso SIA - Istituto Tecnico Economico e Tecnologico "Agostino
Bassi" Lodi "</h4>
<img src="lodi.gif" width="150" height="180"><br>
<table border="1" width="100%" bgcolor="white">
<tr align="center" valign="center">
<td width="20%"><font siz1e="4"><b><a href="home.html"> Home</a></b></font></td>
<td width="20%"><font size="4"><b><a href="localita.html">Località e
Contatti</a></b></font></td>
<td width="20%"><font size="4"><b><a href="progetti.php">Progetti</a></b></font></td>
<td width="20%"><font size="4"><b><a href="ricerca.php">Ricerca</a></b></font></td>
<td width="20%"><font size="4"><b><a href="#">Pagina riservata</a></b></font></td>
</tr>
</table>
<table border="1" width="10%" bgcolor="white" >
<tr align="center" valign="center"><td width="20%"><font size="4"><b><a
href="registrazioneutente/logout.php">Logout</a></b></font></td></tr>
</table>
</center>
<h1>Lista finanziamenti</h1>
<h2><a href="form_insert.php">Inserisci un nuovo finanziamento</a></h2>
<?php
include('setting.php');
$array= file($my_database_2_txt); //$array_righi conterrà la struttura del file di testo
foreach($array as $key => $finanziamenti){ //associo un nome che mi serve per richiamare l'inizio di ogni riga,
$articolo contiene l'intero record
list( $n_progetto, $proprietario, $data, $importo) = explode("|", $finanziamenti); //con list divido tutti gli
elementi del $articolo, explode metti i dati in tabella eliminando ilsimbolo |
echo '
<p>
<table width="100%>
<tr">
<td width="25%"> <b>Nome Progetto:</b> ' .$n_progetto. ' </td>
<td width="25%"> <b>Proprietario:</b> ' .$proprietario. ' </td>
©Relazione traccie assegnate: traccia n.6 di Luca Belloni-Istituto Agostino Bassi Lodi-4E
16
<td width="25%"> <b>Data concessione finanziamento:</b> ' .$data. ' </td>
<td width="25%"> <b>Importo:</b> ' .$importo. ' </td>
</tr>
</table>
<a href="action.php?delete=' .$key. '">Elimina</a> - <a href="form_update.php?row=' .$key.
'">Modifica</a>
</p>
<hr />';
}
?>
</body>
</html>
©Relazione traccie assegnate: traccia n.6 di Luca Belloni-Istituto Agostino Bassi Lodi-4E
17
RICERCA.PHP
In ricerca.php si trova un form, dove l’utente scrivendo il nome del progetto o l’importo
e selezionando l’apposito bottino con il metodo di ricerca per nome o per importo, fa
partire un ciclo che cerca all’interno del file finanziamenti.txt il valore digitato e se lo
troerà verrà stampata la riga in cui si trovano tutti i dati riferiti al valore altrimenti non
stamperà nulla.
Infine inserendo all’interno del ciclo $count mi permette di visualizzare il totale dei
risultati trovati, se li ha trovati, altrimenti apparirà la scritta “0 risultati trovati”.
Codice:
<html>
<head>
<meta charset="UTF-8">
<meta name="author" content="Luca Belloni">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="keywords" content="Luca Belloni,4e Lodi,I.T.E Agostino Bassi">
<link rel="stylesheet" href="style.css" type="text/css">
<title>Ricerca | Cash EveryWhere</title>
</head>
<body bgcolor="burlywood">
<center>
<h1>Ricerca | Cash EveryWhere</h1><br>
<h4>"Simulazione scolastica classe IV E Corso SIA - Istituto Tecnico Economico e Tecnologico "Agostino
Bassi" Lodi "</h4>
<img src="lodi.gif" width="150" height="180"><br>
<table border="1" width="100%" bgcolor="white">
<tr align="center" valign="center">
<td width="20%"><font siz1e="4"><b><a href="home.html">Home</a></b></font></td>
<td width="20%"><font size="4"><b><a href="localita.html">Località e
Contatti</a></b></font></td>
<td width="20%"><font size="4"><b><a href="progetti.php">Progetti</a></b></font></td>
<td width="20%"><font size="4"><b><a href="#">Ricerca</a></b></font></td>
<td width="20%"><font size="4"><b><a href="registrazioneutente/login.php">Pagina
riservata</a></b></font></td>
</tr>
</table>
</center>
<center>
<form action="ricerca.php" method="post">
<input name="search">
<input type="radio" name="button" value="nome_prog" checked >Ricerca per nome progetto<br>
<input type="radio" name="button" value="importo"> Ricerca per importo stanziato<br>
<input type="submit" name="ricerca" value="Ricerca">
</form>
</center>
<?php
include('setting.php');
$array = file($my_database_2_txt);
$search=$_POST['search'];
$button=$_POST['button'];
$count=0;
if($button == "nome_prog") {
foreach($array as $key => $finanziamenti){ //associo un nome che mi serve per richiamare l'inizio di
ogni riga, $articolo contiene l'intero record
list( $n_progetto, $proprietario, $data, $importo) = explode("|", $finanziamenti); //con list divido tutti gli
elementi del $articolo, explode metti i dati in tabella eliminando ilsimbolo |
©Relazione traccie assegnate: traccia n.6 di Luca Belloni-Istituto Agostino Bassi Lodi-4E
18
if($search == $n_progetto) {
$count += 1;
echo '
<p>
<table width="100%">
<tr>
<td width="25%"> <b>Nome Progetto:</b> ' .$n_progetto. ' </td>
<td width="25%"> <b>Proprietario:</b> ' .$proprietario. ' </td>
<td width="25%"> <b>Data concessione finanziamento:</b> ' .$data. ' </td>
<td width="25%"> <b>Importo:</b> ' .$importo. ' </td>
</tr>
</table>
</p>
<hr />';
}
}
echo "<p style='padding: 5px;'>Risultati trovati: ".$count."</p>";
}
else if($button == "importo"){
foreach($array as $key => $finanziamenti){ //associo un nome che mi serve per richiamare
l'inizio di ogni riga, $articolo contiene l'intero record
list( $n_progetto, $proprietario, $data, $importo) = explode("|", $finanziamenti); //con list divido tutti
gli elementi del $articolo, explode metti i dati in tabella eliminando ilsimbolo |
if(floatval($importo) <= floatval($search)) {
$count += 1;
echo '
<p>
<table width="100%">
<tr>
<td width="25%"> <b>Nome Progetto:</b> ' .$n_progetto. ' </td>
<td width="25%"> <b>Proprietario:</b> ' .$proprietario. ' </td>
<td width="25%"> <b>Data concessione finanziamento:</b> ' .$data. ' </td>
<td width="25%"> <b>Importo:</b> ' .$importo. ' </td>
</tr>
</table>
</p>
<hr />';
}
}
echo "<p style='padding: 5px;'>Risultati trovati: ".$count."</p>";
}
?>
</body>
</html>
©Relazione traccie assegnate: traccia n.6 di Luca Belloni-Istituto Agostino Bassi Lodi-4E
19
Area riservata
LOGIN.PHP/LOGIN_EFFETTUATO.PHP/REG_UTE.PHP/ACTION.PHP/LOGOUT.
PHP
Si utilizzano solo pagine php. Il modulo form viene gestito all'interno di una pagina php.
Ricordo che le pagine php e i relativi file txt creati devono essere memorizzati all'interno di una
cartella dentro un server Web. I file di testo devono avere i permessi di lettura e scrittura.
Altrimenti al primo tentativo di accesso al file di testo apparirà a video il messaggio che non si
ha il permesso di scrittura.
Procediamo adesso ad analizzare l'intera procedura:
La prima cosa da fare è registrarsi compilando la pagina reg_ute.php.
Questa operazione permette di passare i dati inseriti direttamente nella stessa pagina
all'interno delle variabili create appositamente. Queste variabili vengono poi passate alla
pagina action.php che registrerà per ogni riga del file di testo l'intero record e tra un campo e
l'altro verrà memorizzato un carattere ASCII che servirà a distanziare il contenuto di ogni
singolo campo. Alla fine verranno memorizzati due caratteri ASCII che permetteranno al Php di
terminare il record e posizionare il puntatore all'inizio della fine riga.
Successivamente si potrà accedere all'area riservata inserendo le credenziali corrette tramite la
pagina di login acc_utente.php.
In questa pagina ci sono alcune cose importanti da ricordare:
Si verifica se i dati non sono stati inseriti.
Si apre il file in lettura (r).
Si crea l'array dei clienti registrati.
si definisce la variabile con il numero dei clienti registrati (servirà per il ciclo con il num
max)
flock($fp,2); è la funzione (LUCCHETTO) che rende sicura la registrazione in maniera
che nessuno possa intervenire in quel dato momento.
la variabile $trovato viene azzerata associata con false; //variabile che viene portata a
1 (vero - true) nel caso in cui sia user che password siano corretti e l'utente può
accedere all'area riservata.
Si apre il ciclo di lettura per cercare nell'array in memoria i due campi da confrontare
con le variabili inserite.
confronto formale tra i dati inseriti dall'utente con quelli memorizzati in fase di
registrazione.
$trovato=($check_user && $check_pass) corrisponde a true.
flock($fp,3); ritorna disponibile un'altra registrazione nel file di testo
adesso si può chiudere il file di testo
Si riapre il file di testo (clienti.txt) in lettura.
si associa a $gen (nome del file logico generalità dei clienti al file fisico clienti.txt
$i--; la variabile $i viene decrementata per permettere di prelevare i dati da un altro file
di testo senza l'utilizzo di un'altra variabile.
fclose($fp); La funzione explode in PHP ha il compito di suddividere una stringa sulla
base di un dato separatore.
©Relazione traccie assegnate: traccia n.6 di Luca Belloni-Istituto Agostino Bassi Lodi-4E
20
Si chiude i file di testo.
Con la pagina login_effetuato.php si verifica se l'accesso è stato effettuato con successo.
Con la pagina logout.php si disconnette dalla sessione attiva.
Codice login.php:
<html>
<head>
<meta charset="UTF-8">
<meta name="author" content="Luca Belloni">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="keywords" content="Luca Belloni,4e Lodi,I.T.E Agostino Bassi">
<link rel="stylesheet" href="../style.css" type="text/css">
<title>Area Riservata | Cash EveryWhere</title>
</head>
<body bgcolor="burlywood">
<center>
<h1>Area Riservata | Cash EveryWhere</h1><br>
<h4>"Simulazione scolastica classe IV E Corso SIA - Istituto Tecnico Economico e Tecnologico "Agostino
Bassi" Lodi "</h4>
<img src="../lodi.gif" width="150" height="180"><br>
<table border="1" width="100%" bgcolor="white">
<tr align="center" valign="center">
<td width="20%"><font siz1e="4"><b><a href="../home.html">Home</a></b></font></td>
<td width="20%"><font size="4"><b><a href="../localita.html">Località e
Contatti</a></b></font></td>
<td width="20%"><font size="4"><b><a href="../progetti.php">Progetti</a></b></font></td>
<td width="20%"><font size="4"><b><a href="../ricerca.php">Ricerca</a></b></font></td>
<td width="20%"><font size="4"><b><a href="#">Pagina riservata</a></b></font></td>
</tr>
</table>
<h2> Accesso Utente </h2>
<form action="login.php" method="POST">
Username: <input name="user" maxlength="15" size="15" type="text" placeholder="Username=user1">
Password: <input name="pass" maxlength="15" size="15" type="password"
placeholder="Password=password1">
<input value="Accedi" type="submit" name="invia">
<input value="Cancella" type="reset">
</form>
<?php
session_start();
$user=$_POST['user'];
$pass=$_POST['pass'];
$fp=fopen("password.txt","r");//apertura file di testo user pass clienti
$dati=file("password.txt");//array dei clienti registrati
$num_cli=count($dati);//numero dei clienti registrati
flock($fp,2);//funzione che blocca il file in sicurezza in maniera che si possa scrivere senza che nessun altro
possa registrare i dati.
$trovato=false; //variabile che viene portata a 1 (vero - true) nel caso in cui sia user che password siano
corretti e l'utente può accedere
for($i=0; !$trovato && $i<$num_cli; $i++){
$stringa_div=explode("|",$dati[$i]);
$check_user=($stringa_div[0]==$user);
$check_pass=(trim($stringa_div[1])==trim($pass));
$trovato=($check_user && $check_pass);
}
flock($fp,3);//sblocca permettendo una successiva registrazione nel file di testo
fclose($fp);//chiusura del file di testo
$fp=fopen("password.txt","r");//apertura del file di testo delle generalità dei clienti
©Relazione traccie assegnate: traccia n.6 di Luca Belloni-Istituto Agostino Bassi Lodi-4E
21
$gen=file("password.txt");
$i--;//$i aveva concluso l'ultimo ciclo con l'indice maggiore di uno, viene quindi riportato indietro per
permettere di prelevare i dati da un altro file di testo senza l'utilizzo di un'altra variabile
$stringa=explode("|",$gen[$i]);
fclose($fp);
if($trovato==true)
header("Location: login_effettuato.php");
else echo"L'username o la password inserite non sono corrette, riprova o registrati <a
href='reg_ute.php'>qui</a>.";
?>
</center>
</body>
</html>
Codice logout.php:
<html>
<head>
<meta charset="UTF-8">
<meta name="author" content="Luca Belloni">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="keywords" content="Luca Belloni,4e Lodi,I.T.E Agostino Bassi">
<link rel="stylesheet" href="../style.css" type="text/css">
<title>Area Riservata | Cash EveryWhere</title>
</head>
<body bgcolor="burlywood">
<center>
<h1>Area Riservata | Cash EveryWhere</h1><br>
<h4>"Simulazione scolastica classe IV E Corso SIA - Istituto Tecnico Economico e Tecnologico "Agostino
Bassi" Lodi "</h4>
<img src="../lodi.gif" width="150" height="180"><br>
<table border="1" width="100%" bgcolor="white">
<tr align="center" valign="center">
<td width="20%"><font siz1e="4"><b><a href="../home.html">Home</a></b></font></td>
<td width="20%"><font size="4"><b><a href="../localita.html">Località e
Contatti</a></b></font></td>
<td width="20%"><font size="4"><b><a href="../progetti.php">Progetti</a></b></font></td>
<td width="20%"><font size="4"><b><a href="../ricerca.php">Ricerca</a></b></font></td>
<td width="20%"><font size="4"><b><a href="login.php">Pagina
riservata</a></b></font></td>
</tr>
</table>
<?php
include 'conf.php';
session_start();
if ($_SESSION['username']==$uname1) {
session_unset();
session_destroy();
echo "<center><p>HAI EFFETTUATO IL LOGOUT</p></center>";
} ?>
</center>
</body>
</html>
©Relazione traccie assegnate: traccia n.6 di Luca Belloni-Istituto Agostino Bassi Lodi-4E
22
Codice action.php:
<?php
include("setting.php");
/*************************
SCRITTURA
**************************/
if(isset($_POST['registrati']))
{
if(!is_writable($my_database_txt)){
exit("il file non ha i permessi di scrittura!");
}
// riceviamo i dati e li filtriamo
$bad_char = array("|", "\r\n", "\r", "\n");
$user = str_replace($bad_char, "", $_POST['user']);
$pass = str_replace($bad_char, "", $_POST['pass']);
// apriamo il file
$open = fopen($my_database_txt, "a+");
// scriviamo i dati separati dal carattere separatore
fwrite($open,$user."|". $pass. "\r\n");
// chiudiamo il file
fclose($open);
// ritorniamo nella pagina di visualizzazione
header("location: login.php");
exit;
}
?>
Codice login_effettuato.php:
<html>
<head>
<meta charset="UTF-8">
<meta name="author" content="Luca Belloni">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="keywords" content="Luca Belloni,4e Lodi,I.T.E Agostino Bassi">
<link rel="stylesheet" href="../style.css" type="text/css">
<title>Area Riservata | Cash EveryWhere</title>
</head>
<body bgcolor="burlywood">
<center>
<h1>Area Riservata | Cash EveryWhere</h1><br>
<h4>"Simulazione scolastica classe IV E Corso SIA - Istituto Tecnico Economico e Tecnologico "Agostino
Bassi" Lodi "</h4>
<img src="../lodi.gif" width="150" height="180"><br>
<table border="1" width="100%" bgcolor="white">
<tr align="center" valign="center">
<td width="20%"><font siz1e="4"><b><a href="../home.html"> Home</a></b></font></td>
<td width="20%"><font size="4"><b><a href="../localita.html">Località e
Contatti</a></b></font></td>
<td width="20%"><font size="4"><b><a href="../progetti.php">Progetti</a></b></font></td>
<td width="20%"><font size="4"><b><a href="../ricerca.php">Ricerca</a></b></font></td>
<td width="20%"><font size="4"><b><a href="#">Pagina riservata</a></b></font></td>
</tr>
</table>
<table border="1" width="10%" bgcolor="white" >
<tr align="center" valign="center"><td width="20%"><font size="4"><b><a
href="logout.php">Logout</a></b></font></td></tr>
</table>
<p> </p>
©Relazione traccie assegnate: traccia n.6 di Luca Belloni-Istituto Agostino Bassi Lodi-4E
23
<a href="../form_insert.php">Inserimento nuovo finanziamento</a><br /><br />
<a href="../lettura.php">Visualizza tutti i finanziamenti</a><br /><br />
<a href="../lettura.php">Modifica/cancella finanziamenti</a><br /><br />
</center>
</body>
</html>
Codice reg_ute.php:
<html>
<head>
<meta charset="UTF-8">
<meta name="author" content="Luca Belloni">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="keywords" content="Luca Belloni,4e Lodi,I.T.E Agostino Bassi">
<link rel="stylesheet" href="../style.css" type="text/css">
<title>Registrazione Utente | Cash EveryWhere</title>
</head>
<body bgcolor="burlywood">
<center>
<h1>Registrazione Utente | Cash EveryWhere</h1><br>
<h4>"Simulazione scolastica classe IV E Corso SIA - Istituto Tecnico Economico e Tecnologico "Agostino
Bassi" Lodi "</h4>
<img src="../lodi.gif" width="150" height="180"><br>
<table border="1" width="100%" bgcolor="white">
<tr align="center" valign="center">
<td width="20%"><font siz1e="4"><b><a href="../home.html"> Home</a></b></font></td>
<td width="20%"><font size="4"><b><a href="../localita.html">Località e
Contatti</a></b></font></td>
<td width="20%"><font size="4"><b><a href="../progetti.php">Progetti</a></b></font></td>
<td width="20%"><font size="4"><b><a href="../ricerca.php">Ricerca</a></b></font></td>
<td width="20%"><font size="4"><b><a href="#">Pagina riservata</a></b></font></td>
</tr>
</table>
<table border="1" width="10%" bgcolor="white" >
<tr align="center" valign="center"><td width="20%"><font size="4"><b><a href="login.php">Torna
all'area riservata</a></b></font></td></tr>
</table>
</center>
<form method="POST" action="reg_ute.php">
Nome: <input type="text" name="nome"><br>
Cognome: <input type="text" name="cognome"><br>
Data di nascità:<input type="date" name="dnascita"><br>
Codice Fiscale: <input type="text" name="codfiscale"><br>
E-mail: <input type="text" name="email"><br>
Indirizzo: <input type="text" name="indirizzo"><br>
Paese: <input type="text" name="paese"><br>
Cellulare: <input type="text" name="cellulare"><br>
Nome utente: <input type="text" name="user"><br>
Password: <input type="password" name="pass"><br>
Ripeti la Password: <input type="password" name="rip_pass"><br>
<input type="submit" name="registrati" value="registrati">
</form>
<?php
if(isset($_POST['registrati'])){
echo"<br><br><br>";
$nome=$_POST['nome'];
$cognome=$_POST['cognome'];
$dnascita=$_POST['dnascita'];
$codfiscale=$_POST['codfiscale'];
$email=$_POST['email'];
$indirizzo=$_POST['indirizzo'];
©Relazione traccie assegnate: traccia n.6 di Luca Belloni-Istituto Agostino Bassi Lodi-4E
24
$paese=$_POST['paese'];
$cellulare=$_POST['cellulare'];
$user=$_POST['user'];
$pass=$_POST['pass'];
$rip_pass=$_POST['rip_pass'];
//riempimento variabili con dati form
if($nome&&$cognome&&$dnascita&&$codfiscale&&$email&&$indirizzo&&$paese&&$cellulare&&$user&&$pass&&$rip_p
ass)
{
if($pass==$rip_pass) {
//La funzione strlen restituisce la lunghezza (numero di caratteri) di una stringa.
if(strlen($pass)<6){
echo"La password deve contenere almeno 8 caratteri";
} else{
//unione delle variabili paese ed indirizzo in un'unica stringa
//la funzione ucwords restituisce un testo in cui la lettera iniziale di ogni parola è convertita in maiuscolo, se il
carattere è alfabetico.
$indirizzo=ucwords("$paese, $indirizzo");
//La funzione restituisce la stringa $string con tutti i caratteri alfabetici convertiti in minuscolo.
$pass=strtolower($pass);
//la funzione ucwords defiisce "parola": sequenza di caratteri immediatamente seguita da un //carattere di
delimitazione (i delimitatori sono: spazio, form-feed, newline, carriage return, tab //orizzontale e tab verticale).
concatenazione stringhe
$nome=ucwords("$nome $cognome");
//nome del file di testo
$nomefile="password.txt";
$nomefile2="password2.txt";
//apertura file di testo clienti
$fp=fopen($nomefile,"r");
$dati=file($nomefile);
//variabile che indica se un user name è già presente nel nostro archivio
$trovato=0;
for($i=0;$i<count($dati) && $trovato==0;$i++){
$stringa_div=explode("|",$dati[$i]);
if($stringa_div[0]==$user || $stringa_div[2]==$mail)
$trovato=1;
}
fclose($fp);//chiusura del file di testo
if($trovato==0){
$fp=fopen($nomefile,"a");//aperture del file di testo dei dati personali del cliente
$dati_pers=array($user,$pass,$email,$nome,$indirizzo);//array dei dati personali
$stringa=implode("|",$dati_pers);/*funzione che ci permette di passare dall'array ad una stringa separando i vari
campi con un carattere da noi deciso*/
flock($fp,2);/*funzione che blocca il file in maniere che si possa scrivere senza accavallare i dati se 2 o più persone
stanno usando il programma*/
$nl=chr(13).chr(10);//manda a capo alla fine della stringa nel file di testo
fwrite($fp,"$stringa$nl");//scrive nel file di testo
flock($fp,3);//sblocca permettendo a prossimi dati di essere iscritti nel file di testo
fclose($fp);//chiusura del file di testo
$fp=fopen($nomefile2,"a");//aperture del file di testo dei dati personali del cliente
$dati_pers=array($user,$pass);//array dei dati personali
$stringa=implode("|",$dati_pers);/*funzione che ci permette di passare dall'array ad una stringa separando i vari
campi con un carattere da noi deciso*/
flock($fp,2);/*funzione che blocca il file in maniere che si possa scrivere senza accavallare i dati se 2 o più persone
stanno usando il programma*/
$nl=chr(13).chr(10);//manda a capo alla fine della stringa nel file di testo
fwrite($fp,"$stringa$nl");//scrive nel file di testo
flock($fp,3);//sblocca permettendo a prossimi dati di essere iscritti nel file di testo
fclose($fp);//chiusura del file di testo
©Relazione traccie assegnate: traccia n.6 di Luca Belloni-Istituto Agostino Bassi Lodi-4E
25
echo "<script> alert('I tuoi dati sono stati registrati correttamente! Ora puoi accedere ai nostri servizi tramite user e
password tornando all'area riservata ') </script>";
}else
echo"<script> alert('L'username o l'email che hai utilizzato è già presente nel nostro registro dati') </script>";
}
}else
echo"<script> alert('Le password non coincidono') </script>";
} else
echo"<script> alert('Tutti i campi sono obbligatori') </script>";
}
?>
</body>
</html>
Codice setting.php:
<?php
$my_database_txt = 'password.txt';
?>
Codice password.txt:
cccccc1|qwertyuiop1|[email protected]|Pkèèpèpk èkèpkè0pk|Pnin, Nioioinp
FINANZIAMENTI.TXT
FINANZIAMENTI.txt è il file dove vengono salvati tutti i dati inseriti dall’utente.
Codice:
Progetto1|Signore 1|1999-02-22|100000
Progetto 2|Signore 2|2000-05-30|79865
Progetto 3|Signore 3|2001-05-25|20020
©Relazione traccie assegnate: traccia n.6 di Luca Belloni-Istituto Agostino Bassi Lodi-4E
26
Tabella variabili
Nome Tipo Grandezza Descrizione
$n_progetto Stringa Minimo 1 Indica il nome del
progetto
$proprietario Stringa Minimo 1 Indica il proprietario del
progetto
$importo Numeri Minimo 1 Indica l’importo del
finanziamento
$data Stringa 10 Indica la data in cui è
stato concesso il
finanziamento
$my_database_2_txt Stringa È la variabile associata
al file txt
$array Array Comprende tutti i
campi del file txt
$search Stringa Minimo 1 Racchiude il dato
inserito dall’utente per
ricercare il progetto
$user Stringa Minimo 1 Indica l’username
inserito dall’utente
$password Stringa Minimo 6 Indica la password
inserita dall’utente
Tabella record
Record Attributi Grandezza
$finanziamenti $n_progetto, $proprietario, $data,
$importo
Minimo 13
$dati_pers $user,$pass,$email,$nome,$indirizzo 17