Anteprima
Vedrai una selezione di 8 pagine su 32
informatica ed elementi di programmazione - report Pag. 1 informatica ed elementi di programmazione - report Pag. 2
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
informatica ed elementi di programmazione - report Pag. 6
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
informatica ed elementi di programmazione - report Pag. 11
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
informatica ed elementi di programmazione - report Pag. 16
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
informatica ed elementi di programmazione - report Pag. 21
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
informatica ed elementi di programmazione - report Pag. 26
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
informatica ed elementi di programmazione - report Pag. 31
1 su 32
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Se esiste la sessione mostra il bottone con il nome dell’utente che ha effettuato il login,

cliccando il nome, vengono mostrate le operazioni possibili: “le mie guide” e “logout”. Il

codice del menu utente viene mostrato in ogni pagina se effettuato il login.

if($_SESSION["username"]){

echo "<a class='dropdown-button btn' href='#' data-activates='dropdown1' data-

beloworigin='true' style='float:right; text-align: center; width: 200px; min-height:100%'><div

class='valign-wrapper'>

<h5 class='valign'>".$_SESSION["username"]."</h5>

</div></a>

<!-- Dropdown Structure -->

<ul id='dropdown1' class='dropdown-content'>

<li><a href='archivioutente.php'>Le mie Guide</a></li>

<li class='divider'></li>

<li><a href='logout.php'>Logout</a></li>

</ul>";

} //se si è loggati con nome utente diverso da scuolaguida mostra il link al

sistema di prenotazione online

if($_SESSION["nomeutente"] && $_SESSION["nomeutente"] !=

"scuolaguida"){ echo ' <div class="col s12 m3">

<div class="card">

<div class="card-image">

<img src="images/guida.jpg">

</div>

<div class="card-content">

<p>Da qui puoi prenotare online le tue guide.</p>

</div>

<div class="card-action">

<a href="prenota.php">Prenota Online</a>

</div>

</div>

</div>';

}else if($_SESSION["nomeutente"] == false){

//se non si è loggati mostra il tasto Registrati/Login

echo '

<div class="col s12 m3">

<div class="card"> //mostra la carta

//contenitore dell’immagine immagine

<div class="card-image">

<img src="images/guida.jpg"> //immagine

</div>

<div class="card-content"> //spiegazione 17

<p>Registrati o fai il login per prenotare online le tue guide.</p>

//collegamento con la pagina

</div>

<div class="card-action"> //azione

<a href="registrazione_login.html">Registrazione - Login</a>

</div>

</div>

</div>';

}

//se il nomeutente della sessione è scuolaguida mostra il link all'archivio di

tutte le guide if($_SESSION["nomeutente"] == "scuolaguida"){

echo ' <div class="col s12 m3">

<div class="card">

<div class="card-image">

<img src="images/guida.jpg">

</div>

<div class="card-content">

<p>Da qui puoi accedere al backoffice.</p>

</div>

<div class="card-action">

<a href="backoffice.php">backoffice</a>

</div>

</div>

</div>';

} ?>

Registrazione

<?php

session_start();

?> <?php $cf=$_POST["cf"];

$nome=$_POST["nome"];

$cognome=$_POST["cognome"];

$data=$_POST["data"];

$username=$_POST["username"];

$password=$_POST["password"];

$email=$_POST["email"];

$nomefile="dati.txt";

$utente_inserito=0;

$fp = fopen($nomefile, 'a+');//apertura in lettura e scrittura

//leggo una riga alla volta fino alla fine del file

while(!feof($fp)){

//legge una riga

$riga=fgets($fp);

$dati=explode(",", $riga); 18

//trasforma la riga estratta in un array contenente le stringhe separate

dalla virgola if($dati[0]==$cf | $dati[4]==$username){

$utente_inserito=1;

} }

if($utente_inserito==1)

echo"Utente già inserito!<br>";

else{ fwrite($fp,

"$cf,$nome,$cognome,$data,$username,$password,$email\r\n"); //inserimento dei dati del

nuovo utente nel file.txt echo"Utente $nome $cognome iscritto con successo!<br>";

}

fclose($fp);

?>

Login.php

<?php

session_start();

$userN = $_POST['username']; //creazione variabili

$passW = $_POST['password'];

$dati = file ('dati.txt'); //associazione del file ad una variabile

$success = false;

foreach ($dati as $user) {

$user_details = explode(',', $user);

if ($user_details[4] == $userN && $user_details[5] == $passW)

//controllo dei dati inseriti con i dati nel file.txt {

$success = true;

$_SESSION["nomeutente"] = $userN; //se username esiste

allora si apre la sessione. Il nome utente è scelto dall’utente (può essere un diminutivo)

l’email in

$_SESSION["usermail"] = $user_details[6]; //salvo

una variabile dal file.txt per mandare l’email nel caso in cui l’utente voglia prenotare una

guida // nome proprio dell’utente per essere

$_SESSION["username"] = $user_details[1];

messo nella barra di navigazione su tutte le pagine

break;

}

}

if ($success) {

Header("Location:index.php"); //se login è stato effettuato correttamente

allora si verrà rimandato alla home

} else { 19

?>

<script>

window.location.href = "http://scuolaguidarovereto.altervista.org/errorelogin.php";

</script> //se il login è stato effettuato scorrettamente, verrà mostrato il messaggio di

errore e rimandato alla pagina di login

<? }

include"registrazione_login.html";

?>

Prenota.php

<?php

session_start(); //apre il file guide.txt

$dati = file ('guide.txt');

//passa attraverso tutte le righe

foreach ($dati as $orari) {

//per ogni riga, divide dove trova una virgola e crea un array

$dettaglio = explode(',', $orari);

//associa la data dall'elemento 0 dell'array

$data = $dettaglio[0];

//conta quanti elementi ci sono

$orari = count($dettaglio);

for($i = 1; $i < $orari; $i++){

//crea un opzione select con valore data%ora;

echo "<option value='".$data."%".$dettaglio[$i]."'>".$data."

alle ".$dettaglio[$i]."</option>"; }

}

?>

Conferma prenotazione

<?php

session_start();

$dataora = $_POST["dataora"]; //prendo i dati del form e divido i dati con l0opzione

explode

$arraydataora = explode("%",$dataora);

$data = $arraydataora[0];

$ora = $arraydataora[1];

//aggiornamento del file delle guide, copiando tutte le guide libere saltando la guida

prenotata

$temp = fopen('guidetemp.txt', 'w');

$dati = fopen('guide.txt', 'r');

while (!feof($dati)) { 20

$line=fgets($dati);

$stringa = $line;

$dettaglio = explode(',', $line);

if($data == $dettaglio[0]){

for($i = 1; $i < count($dettaglio); $i++){

if($dettaglio[$i] == $ora){

$string = implode(",",$dettaglio);

$pattern = '/,'.$dettaglio[$i].'/';

$replacements = '';

$stringa = preg_replace($pattern,$replacements,$string);

if($i == (count($dettaglio) -1)){

$stringa = $stringa."\n";

}

}

}

} fwrite($temp, $stringa);

}

fclose($temp); //chiudo i file

fclose($dati); //chiudo file

unlink('guide.txt'); //cancella il file file temporaneo in “guide”

rename('guidetemp.txt', 'guide.txt');//rinomino

$prenotazione = $_SESSION["nomeutente"].','.$data.','.$ora."\n";

file_put_contents("registroguide.txt", $prenotazione, FILE_APPEND); //funzione che

del file, aggiunge la guida all’elenco delle guide prenotate

aggiunge qualcosa alla fine

echo 'Hai prenotato una guida a nome '.$_SESSION["nomeutente"].' per il giorno '.$data.'

alle ore '.$ora.'.';

echo "<a href='index.php'>Torna alla home</a>";

Email di conferma //destinatario dell’email, variabile creata in precedenza

$to = $_SESSION["usermail"];

$subject = 'Guida prenotata - Scuola Guida Rovereto';

$message = 'Ciao '.$_SESSION["username"].". La tua guida per il giorno ".$data." alle ore

".$ora." è stata prenotata.";

$headers = "From: scuolaguidarovereto\r\n";

if (mail($to, $subject, $message, $headers)) {

echo "Ti abbiamo spedito una mail di conferma.";

} else {

echo "Errore nell'invio dell'email di conferma.";

}

?>

Archivio utente

<?php

session_start(); 21

//Apre il file registro guide

$dati = file ('registroguide.txt');

//per ogni riga del file

foreach ($dati as $orari) {

//crea un array, separando la riga in presenza di ,

$user = explode(',', $orari);

//cerca le righe appartenenti al nome utente della sessione corrente

if($user[0] == $_SESSION["nomeutente"]){

//Crea una riga nella tabella con data e ora

echo "<tr><td>".$user[1]."</td><td>".$user[2]."</td></tr>";

}

}

?>

Registro guide

<?php $dati = file ('registroguide.txt');

foreach ($dati as $orari) {

$user = explode(',', $orari);

echo

"<tr><td>".$user[0]."</td><td>".$user[1]."</td><td>".$user[2]."</td></tr>";

}

?> –

Orari e contatti stato apertura

<?php //Ottiene il giorno della settimana, 1 è lunedì, 7 domenica

$day = date("N");

if($day >= 6){

//se è sabato o domenica

echo "<span style='color:red'>In questo momento siamo

chiusi</span>"; }else{

//Ottiene l'ora

$ora = date("H");

if(($ora >= 9 && $ora < 12) | ($ora >= 15 && $ora < 19)){

echo "<span style='color:green'>In questo momento siamo

aperti</span>"; }else{

echo "<span style='color:red'>In questo momento siamo

chiusi</span>"; }

}

?> 22

Logout

<?php

session_start();

session_unset(); //cancella tutte le variabili del sistema

session_destroy(); //distrugge tutti i dati associati alla corrente sessione

?>

8. Demo

Tutti gli screenshots del funzionamento del sistema:

Pagina principale del sito (immagine sotto) 23

“Vieni a conoscerci” (immagine sotto)

“Scopri i

Dettagli
Publisher
A.A. 2017-2018
32 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher criss. di informazioni apprese con la frequenza delle lezioni di Informatica ed elementi di programmazione e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Trento o del prof Bouquet Paolo.