3E e 4E: Le domande e le risposte dell'interrogazione di informatica (Laboratorio) del Corso SIA (Itet) e Corso Informatica (Itis)
Domande e risposte dell'interrogazione di laboratorio di informatica 4E Sia 1° trimestre
Cos'è il Php?
PHP (acronimo ricorsivo per PHP: Hypertext Preprocessor) è un linguaggio di scripting general purpose open source molto utilizzato, è specialmente indicato per lo sviluppo web e può essere integrato nell'HTML.
Un linguaggio di scripting, in informatica, è un linguaggio di programmazione interpretato destinato in genere a compiti di automazione del sistema operativo o delle applicazioni, viene usato nella programmazione all'interno delle pagine web ed è definito general-porpose in quanto il php è dotato di grande versatilità. Inoltre è definito open-source, cioè non protetto da copyright e quindi modificabile da tutti gli utenti.
Ciò che distingue PHP da altri linguaggi di scripting del tipo client-side JavaScript è che il codice viene eseguito nel server, generando HTML che sarà dopo inviato al client. Il client dovrebbe ricevere i risultati dell'esecuzione dello script, ma non potrà conoscere qual è il codice eseguito.
Il linguaggio PHP è definito anche un linguaggio di scripting server side. PHP è un linguaggio di programmazione che permette di creare pagine dinamiche, tramite l'aiuto di database esterni o il passaggio dati fra le stesse pagine. Una delle caratteristiche più importanti e significative di PHP è infatti la possibilità di supportare una completa gamma di databases (MySql, PostgreSql, Sql Server, Oracle, SyBase, Access e altri).
Cos'è un linguaggio Server Side?
Nelle reti informatiche, l'espressione lato server (server-side in inglese) fa riferimento a operazioni compiute dal server in un ambito client-server contrapponendosi a tutto ciò che viene eseguito sul client (lato client).
Il server Web è un programma software che gira su una macchina remota (chiamata per estensione "server") rimanendo in ascolto su determinate porte e raggiungibile da un computer client. Alcune operazioni devono essere compiute dal lato server perché richiedono l'accesso a informazioni o funzionalità non disponibili sul client, o richiedono misure di sicurezza che sarebbero inaffidabili se eseguite lato client.
Nell'ambito della programmazione Web, si definiscono linguaggi lato server quei linguaggi di programmazione che vengono interpretati ed elaborati dal server il quale, successivamente, invia i risultati al client (il browser dell'utente). I linguaggi lato server più diffusi sono il PHP, l'ASP e JSP (java server page). Un programma scritto con questo tipo di linguaggi viene sempre elaborato sul server e mai reso disponibile all'utente, il quale può visualizzare solo il risultato o output del programma (tipicamente codice HTML).
Cos'è un Server Web?
In informatica un server web (o web server) è un'applicazione software che, in esecuzione su un server, è in grado di gestire le richieste di trasferimento di pagine web di un client, tipicamente un web browser.
La comunicazione tra server e client avviene tramite il protocollo HTTP, che utilizza la porta TCP 80 (o 8080), o eventualmente la versione sicura HTTPS, che utilizza invece la 443.
Un web server deve poter dialogare con una gran varietà di client (PC, smartphone, smart TV, tablet, ecc.) e per farlo quindi deve utilizzare dei protocolli riconosciuti da tutti. Quello principale per la navigazione web è l'HTTP (Hyper Text Transfer Protocol).
Ogni volta che scriviamo un indirizzo internet, il nostro browser la traduce in una richiesta http e la consegna al server indicato. Riceve poi da questo una risposta http e un file HTML che viene tradotto (si parla di rendering) sotto forma di testo e immagini per mostrarcelo così a video.
Cos'è l'ambiente Altervista?
Altervista è un servizio di hosting che ti permette di creare un sito o blog in modo gratuito, ma funziona anche da database. Il database di AV è MySQL. Il compito principale del database è quello di salvare i dati inserite da un’utente.
Cos'è Internet?
Le reti geografiche nascono negli anni Sessanta, finanziate dal Dipartimento della difesa americano per collegare le varie basi militari. Passato il pericolo di un attacco nucleare, il progetto è passato alle università che hanno realizzato una rete in grado di collegare i vari istituti. Questa prima rete(Arpanet), nata senza fini di lucro, è cresciuta nel tempo collegando siti anche in altre parti del mondo fino a diventare una reta mondiale di reti (Internet).
Internet può essere definita come un sistema di reti di computer interconnessi che facilità l’utilizzo di servizi di comunicazione dati come la posta elettronica, il Word Wide Web (WWW), il trasferimento di file e i gruppi di discussione.
Dopo aver realizzato l'accesso a internet, è possibile accedere alle risorse di digitando l'url (Uniform ResourceLocator). Si tratta dell'home associato a un server che si trova sulla rete internet e usa il protocollo http per inviare le risposte al client. Due host sulla rete internet utilizzare il protocollo TCP/IP e comunicano attraverso gli indirizzi IP. Ogni server esistente su internet a un indirizzo IP.
Il protocollo TCP (Trasmission control protocoll) suddivide i dati in più pacchetti che possono essere gestiti dalla reta in modo efficiente. Invece IP (internet protocol) si occupa di impacchettare e indirizzare i dati definendo quanti ne possono essere inseriti in un solo pacchetto. L’ IP è ciò che identifica i diversi nodi sulla rete.
Conoscere tutti gli indirizzi IP di internet è troppo complesso e per gli uomini è complicato ricordare una serie di numeri, mentre è più semplice ricordare i nomi. Per questo motivo gli indirizzi Web sono pensati come dei nomi e sono chiamati nomi di dominio. Per esempio all’indirizzo Google.it è associato l’indirizzo ip 64.233.167.99.
Cos'è una rete Lan?
In informatica e telecomunicazioni una Local Area Network (LAN) (in italiano rete in area locale, o rete locale) è una rete informatica di collegamento tra più computer, estendibile anche a dispositivi periferici condivisi, che copre un'area limitata, come un'abitazione, una scuola, un'azienda o un complesso di edifici adiacenti.
Le principali proprietà e caratteristiche delle reti locali sono:
•elevate velocità. Infatti le reti LAN più diffuse oggi operano a velocità da 10Mbit/sec a 1 Gbit/s;
•basse probabilità di errore.
Le reti LAN, a causa delle estensioni ridotte, possono consentire di raggiungere velocità di trasmissione molto basse, per cui non sono generalmente utilizzate tecniche di controllo degli errori;
•elevata affidabilità. Le reti locali, se opportunamente progettate, possono continuare ad operare anche in presenza di guasti o malfunzionamenti;
•espansibilità. Le reti locali possono essere progettate in modo da crescere nel tempo secondo le esigenze dell'utente senza significativi cambiamenti nella rete;
•basso costo. Le reti locali hanno ormai raggiunto una elevata diffusione in tutti gli ambienti e presentano per questo motivo un costo complessivo abbastanza modesto.
Cos'è la posta elettronica?
La posta elettronica (e-mail o email, dall'inglese electronic mail) è un servizio Internet grazie al quale ogni utente abilitato può inviare e ricevere dei messaggi utilizzando un computer o altro dispositivo elettronico (es. palmare, smartphone, tablet, ecc.) connesso in rete attraverso un proprio account di posta registrato presso un provider del servizio. È uno dei servizi Internet più conosciuti e utilizzati assieme alla navigazione web.
Il servizio di posta elettronica, chiamato anche "e-mail" (electronic mail) consente a ogni utente che abbia accesso ad un computer che possa connettersi ad Internet di inviare "messaggi" (testi ma anche, più in generale, "oggetti" memorizzati in formato elettronico, sotto forma di file, come programmi, immagini, suoni, etc.) ad un qualsiasi altro utente che disponga di un indirizzo di posta elettronica e che lavori su un qualsiasi altro computer, ovunque collocato, purché raggiungibile tramite connessioni in rete.
Non è necessario che i computer dei due corrispondenti siano contemporaneamente o permanentemente connessi alla rete perché lo scambio di informazioni sia possibile: i messaggi vengono recapitati su caselle di posta elettronica ospitate da appositi server; l'utente che voglia verificare l'arrivo di messaggi a lui indirizzati potrà contattare il server e solamente nell'intervallo in cui avviene la transazione tra il computer dell'utente ed il server è necessario che la connessione di rete sia attiva.
Cos'è un blog?
Nel Web 2.0 e nel gergo di Internet, un blog è un particolare tipo di sito web in cui i contenuti vengono visualizzati in forma anti-cronologica (dal più recente al più lontano nel tempo). In genere il blog è gestito da uno o più blogger, o blogghista, che pubblicano, più o meno periodicamente, contenuti multimediali, in forma testuale o in forma di post, concetto assimilabile o avvicinabile ad un articolo di giornale.
Classificare i blog non è un'operazione semplicissima. Si parla di social blog, blog collettivo, blog aziendale, blog tematico, photoblog, blog vetrina, blog politico, m-blog, video blog, blog letterario, blog didattico, audioblog, blog personale, blog novel, splog (finti blog riempiti di testi riprodotti solo per dare la sensazione che un determinato argomento sia particolarmente rilevante). Una suddivisione più semplificata (e attendibile) si basa su tre categorie:
∙ blog diario
∙ blog tematico (inclusi i blog giornalistici)
∙ blog letterario
I blog diario costituiscono il 59% del totale, i blog tematici il 31% mentre i blog letterari il 10%. Questi dati percentuali sono risultati dall'analisi fatta su un campione di 100 blog presi in esame nell'aprile del 2007 e ricercati casualmente su Google Blog Search.
Nel blog personale (diario) l'autore scrive le proprie esperienze giornaliere, racconti, desideri. I commenti da parte dei lettori sono sempre molto apprezzati.
I blog tematici (o giornalistici) sono i blog dedicati ad un argomento specifico e per questo sono accostabili agli articoli di giornale. Particolarmente in voga i blog monotematici su makeup (trucco), cinema, cucina e viaggi, che hanno reso molto famose persone comuni.
Genericamente i post di tali blog sono caratterizzati dalla presenza, al loro interno, del lessico letterario che si manifesta in quantità maggiori rispetto ai quotidiani. Da una ricerca di Tavosanis (2006) basata sull'analisi di 72 verbi identificati come "letterari" oppure "obsoleti" nel vocabolario De Mauro (2000), infatti, è risultato che nei blog la presenza di tali verbi è di circa quattro volte superiore rispetto al sito de “la Repubblica”. (Non tutte le 72 forme all'infinito dei verbi sono state ritrovate, ma solo 25). In questa categoria possono rientrare anche le fan fiction ossia blog dedicati ai romanzi, ai cartoni animati, ai telefilm e ai film.
Cos'è un linguaggio lato client?
In informatica, nell'ambito delle reti di calcolatori, il termine lato client (client-side in inglese) indica le operazioni di elaborazione effettuate da un client in un'architettura client-server. Rappresenta dunque il front-end di un sistema informatico e di un'applicazione web con architettura multi-tier.
Un rapporto tipico di questo tipo è quello effettuato da un'applicazione, come un web browser, che avvia una connessione ad un server per poter funzionare. Le operazioni effettuate in modo client-side di solito vengono effettuate in questo modo poiché richiedono risorse che non possono essere prese sul server, ma che lo sono sul client, perché l'utente deve poter inserire dati da cui avere risposte od osservare il funzionamento dello script, oppure perché al server manca la potenza di elaborazione per poter far funzionare lo script su tutti i client.
Un'operazione tipica client-side ad esempio è quella del caricamento di un'interfaccia grafica utente, ad esempio il front-end di un'applicazione web o di un comune sito web: il browser client riceve i dati HTML e JavaScript dal server ed il motore di rendering li elabora visualizzandoli sul monitor dell'utente. Sotto quest'ottica la programmazione web lato client è una parte dell'intera programmazione web.
Cos'è l'Html?
l'HTML fu inventato nel 1990 da uno scienziato chiamato Tim Berners-Lee. Lo scopo finale era quello di semplificare l'accesso alle pubblicazioi scientifiche tra scienziati di diverse università. Il progetto riscosse un successo molto più grande di quanto avesse mai immaginato lo stesso Tim Berners-Lee. Con l'invenzione dell'HTML stese le fondamento per il web come lo conosciamo noi oggi.
In informatica l'HyperText Markup Language (HTML; traduzione letterale: linguaggio a marcatori per ipertesti) è un linguaggio di markup, ovvero un insieme di regole che descrivono i meccanismi di rappresentazione (strutturali, semantici o presentazionali) di un testo. Nato per la formattazione e impaginazione di documenti ipertestuali disponibili nel web 1.0, oggi è utilizzato principalmente per il disaccoppiamento della struttura logica di una pagina web (definita appunto dal markup) e la sua rappresentazione, gestita tramite gli stili CSS per adattarsi alle nuove esigenze di comunicazione e pubblicazione all'interno di Internet.
HTML è l'abbreviazione di "HyperText Mark-up Language” ed è proprio il suo nome ha spiegare il suo funzionamento:
∙ Hyper è l'opposto di lineare. Tempi addietro - quando il topo era qualcosa a cui il gatto dava la caccia - i programmi per computer giravano linearmente: quando il programma aveva eseguito un'azione passava alla linea successiva, quindi alla linea successiva e così di seguito. Ma l'HTML è diverso - tu puoi andare in qualsiasi posto in qualsiasi momento. Per esempio, non è necessario visitare MSN.com prima di visitare HTML.net.
∙ Text è auto-esplicativo.
∙ Mark-up è quello che fai con il testo. Tu marchi il testo così come fai con un programma di editing quando usi le intestazioni, i punti elenco, il grassetto per il testo, e così via.
∙ Language è quello che è l'HTML, che utilizza molte parole inglesi.
Descrivere i principali tag del linguaggio Html
I tag sono le istruzioni dell’html che compongo la struttura di una pagina, e presentano alcune caratteristiche fondamentali che è bene conoscere sin dall'inizio:
∙ Un tag è un comando racchiuso tra i segni <(minore) e >(maggiore), chiamati anche parentesi angolari; per esempio: <B>, <IMG SRC>, <HEAD>, <BODY>ecc. Quando il browser incontra questi simboli in un documento, "capisce" che si tratta di istruzioni da eseguire e non di testo da visualizzare sullo schermo.
∙ La maggior parte dei tag (ma non tutti) funziona "in coppia", secondo questo schema: <TAG_DI_INIZIO>testo o elemento a cui si applica l'istruzione </TAG_DI_FINE>
∙ I tag, in generale, possono contenere attributi che ne definiscono determinate proprietà. Ogni attributo può assumere differenti valori.
Ci sono un’infinita di tag HTML, ma andiamo a descrivere i principali.
ELEMENTI DI BASE
(tutti i documenti HTML devono contenere questi tag)
Tipo documento <HTML></HTML> (segnano l'inizio e la fine del file) Titolo <TITLE></TITLE> (titolo della pagina, da inserire all’interno della testata) Testata <HEAD></HEAD> (informazioni descrittive; come il titolo) Corpo <BODY></BODY> (contenuto della pagina)
PROPRIETA' DELLA PAGINA: SFONDI E COLORI
Immagine di sfondo <BODY BACKGROUND="URL"> Colore di sfondo <BODY BGCOLOR="#******"> Colore del testo <BODY TEXT="#******">
Colore dei collegamenti <BODY LINK="#******">
Colore dei collegamenti visitati <BODY VLINK="#******">
Colore del collegamento selezionato <BODY ALINK="#******">
FORMATTAZIONE DEL TESTO
Neretto <B></B>
Corsivo <I></I>
Sottolineato <U></U>
Apice <SUP></SUP>
Pendice <SUB></SUB>
Centrato <CENTER></CENTER> (sia per testo che immagini) Font: dimensioni <FONT SIZE=?></FONT> (valori da 1 a 7) Font: modifica misura <FONT SIZE="+|-?"></FONT> (valori da –3 a +3) Font: colore <FONT COLOR="#******"></FONT>
Font: tipo <FONT FACE="Verdana"></FONT>
COLLEGAMENTI (link)
Link a un documento <A HREF="URL"></A>
Link a indirizzo e-mail <A HREF="mailto:indirizzo@posta.it"></A> IMMAGINI
Visualizzazione immagine <IMG SRC="URL">
Immagine: allineamento <IMG SRC="URL" ALIGN=TOP|BOTTOM|MIDDLE|LEFT|RIGHT> Immagine: testo in alternativa <IMG SRC="URL" ALT="***">
Immagine: dimensioni (pixel) <IMG SRC="URL" WIDTH=? HEIGHT=?>
Immagine: dimensioni (% d. largh. e alt. d. pagina) <IMG SRC="URL" WIDTH=?% HEIGHT=?%> Immagine: bordo (pixel) <IMG SRC="URL" BORDER=?>
DIVISORI
Paragrafo <P></P>
Interruzione riga (Singolo ritorno a capo) <BR>
Riga orizzontale <HR>
ELENCHI
Elenco puntato <UL><LI></UL> (<LI> prima di ogni elemento) TABELLE
Inizio e fine tabella <TABLE></TABLE>
Tabella: allineamento <TABLE ALIGN=LEFT|RIGHT|CENTER> Tabella: spessore bordo <TABLE BORDER=?></TABLE>
Larghezza tabella (in pixel) <TABLE WIDTH=?>
Larghezza % tabella <TABLE WIDTH="?%">
Tabella: colore di sfondo <TABLE BGCOLOR="#******"></TABLE> Riga <TR></TR>
Cella <TD></TD>
Domande e risposte su Html5
https://it.education-wiki.com/9422495-html5-interview-questions-and-answers
Differenze tra Html4 e Html5
https://kinsta.com/it/blog/html-e-html5/
Domande e risposte sul Css3
https://it.education-wiki.com/8929835-css-interview-questions
Domande e risposte sul Javascript
https://it.myservername.com/top-45-javascript-interview-questions-with-detailed-answers
Web design
https://it.education-wiki.com/7228565-web-design-interview-questions
Spiegare il modulo form
Un form HTML è una finestra contenente vari elementi di controllo che consentono al visitatore di inserire informazioni. Una volta inseriti, i dati vengono inviati ad uno script che li elabora. Sintassi:
<form action=“<action=“[URL dello script][script]” method” method=“[GET o POST]”=“[POST]”>>
<input type=“<type=“[elemento di controllo][controllo]” name” name=“[nome]=“[nome]” ...>”...>
<input type=“<type=“[elemento di controllo][controllo]” name” name=“[nome]=“[nome]” ...>” ...>
......
</form>
Immaginiamo di avere la seguente form HTML:
<FORM action="http://localhost/password.php" method="post">
<INPUT type="TEXT" name="utente">
<INPUT type="SUBMIT" name="Invia" value="Spedisci">
</FORM>
L’attributo action serve per specificare l’URL dello script.server.
L’attributo method serve per specificare la modalità di invio delle serve informazioni. Può essere GET o o POST. Con GET le informazioni vengono inserite nel ‟indirizzo URL, dunque sono visibili nella barra degli indirizzi del browser, ma sono vincolate dalla lunghezza
massima di un URL, che è di 256 caratteri. Con POST i dati vengono scritti sullo “standard input” del l’applicazione destinataria, dunque non sono visibili ma soprattutto non ci sono limiti sulla quantità di dati inviata. Si può accedere alle informazioni inviate anche utilizzando gli array super globali $_GET e $_POST (a seconda del metodo usato).
Differenza da $Get e $Post
Con il metodo GET i dati vengono passati direttamente all'interno dell'indirizzo web (URL) della pagina, il quale si presenterà accompagnato da un punto di domanda (?) seguito dai dati organizzati in coppie nome/valore (qualora vi siano diverse coppie queste saranno legate tra loro dal simbolo &).
Il metodo POST, invece, è quello più utilizzato per inviare i dati ad una applicazione PHP tramite i form (moduli html).
Diversamente dal metodo GET, il metodo POST spedisce i dati in maniera non direttamente visibile per l'utente, attraverso la richiesta HTTP che il browser invia al server.
Come si effettuano i controlli dei campi di un modulo form?
I controlli permettono di segnalare all'utente che compila il modulo che i dati inseriti sono errati o mancanti e per questo viene richiesto di inserire i dati. I controlli di un campo form possono essere effettuati tramite php, javascript o Jquery.
CONTROLLO CAMPI FORM IN PHP
<?
// controllo campi compilati
if (( $nome == "" ) || ( $età == "" ) || ( $sesso == "" ) || ( $email == "" )) {
echo "<h3>Errore!</h3><br>Deve compilare tutti i campi dal form per continuare<br> La preghiamo di <A HREF=”home.php">tornare indietro e correggere</A>. Grazie"; exit;
}
// controllo campo età compilato con numeri
if (!is_numeric($telefono)) {
echo "<h3>Errore!</h3><br>Deve inserire la sua età<br>
La preghiamo di <A HREF=”home.php">tornare indietro e correggere</A>. Grazie"; exit;
}
// controllo campo email - email valida
if (!ereg("@",$email)){
echo "<h3>Errore!</h3><br>Deve inserire una email valida<br>
La preghiamo di <A HREF=”home.php">tornare indietro e correggere</A>. Grazie"; exit;
}
// inizio elaborazione dei dati
?>
Analizziamo il codice php che effettua il controllo:
if (( $nome == "" ) || ( $età == "" ) || ( $sesso == "" ) || ( $email == "" ))
Controlla che tutti i campi o meglio le variabili ad essi associati contengano almeno un valore cioè che l'utente abbia compilato tutti i campi come volevamo.
if (!is_numeric($telefono))
Questo codice controllla che la variabile $telefono contengo come valore solo numeri o stringi di numeri.
if (!ereg("@",$email))
Con questo if controllerete che nella variabile $email ci sia il carattere "@" ovvero controlla la presenza della "@" nel valore della variabile $email
CONTROLLO CAMPI FORM IN JAVASCRIPT
<script language="JavaScript">
function controllo(){
with(document.modulo) {
if(nome.value=="") {
alert("Errore: compilare il campo NOME");
nome.focus();
return false;
}
if(cognome.value=="") {
alert("Errore: compilare il campo COGNOME");
cognome.focus();
return false;
}
}
alert("Controllo effettuato con successo. Il modulo sarà inviato.");
return true;
}
</script>
CONTROLLO CAMPI FORM CON JQUERY
Codice html:
<html>
<head>
<title>Esempio di validazione con JQuery</title>
<!--Ultima versione di jQuery (minified) -->
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<!-- Ultima versione di jquery.validate (minfied) -->
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.14.0/jquery.validate.min.js"></script> <!-- Ultima versione di bootstrap (minified) -->
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"> <!-- codice jQuery -->
<script type="text/javascript" src="app.js"></script>
</head>
<body>
<!-- Form container -->
<div class="main">
<h1>Registrazione</h1>
<!-- form da validare -->
<form action="#" id="form">
<div class="form-group">
<label for="login">Login</label>
<input type="text" name="login" class="form-control">
</div>
<div class="form-group">
<label for="email">Email</label>
<input type="text" name="email" class="form-control">
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" name="password" class="form-control">
</div>
<div class="form-group">
<input type="submit" value="Registrati" class="submit" class="form-control"> </div>
</form>
</div>
</body>
</html>
Grazie alle seguenti stringhe di codice inseriamo nell’html le librerie jquey:
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.14.0/jquery.validate.min.js"></script> <link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
Attraverso la seguente stringa importiamo il file app.js dove vengono definite le regole di validazione per il controllo del form:
<script type="text/javascript" src="app.js"></script>
Codice JavaScript:
$().ready(function() {
// Selezione form e definizione dei metodi di validazione
$("#form").validate({
// Definiamo le nostre regole di validazione
rules : {
// login - nome del campo di input da validare
login : {
// Definiamo il campo login come obbligatorio
required : true
},
email : {
required : true,
// Definiamo il campo email come un campo di tipo email
email : true
},
password : {
required : true,
// Settiamo la lunghezza minima e massima per il campo password minlength : 5,
maxlength : 8
}
},
// Personalizzimao i mesasggi di errore
messages: {
login: "Inserisci la login",
password: {
required: "Inserisci una password password",
minlength: "La password deve essere lunga minimo 5 caratteri",
maxlength: "La password deve essere lunga al massimo 8 caratteri" },
email: "Inserisci la tua email"
},
// Settiamo il submit handler per la form
submitHandler: function(form) {
form.submit();
}
});
});
Validatori predefiniti
Questo plug-in di validazione ci mette a disposizione vari metodi di validazione utili nei i casi più comuni. Di seguito alcuni di questi:
∙ required – Rende un campo obbligatorio.
∙ remote – Richiede una risorsa remota per validare un campo.
∙ minlength – Definisce la lunghezza minima per un campo.
∙ maxlength – Definisce la launghezza massima per un campo.
∙ rangelength – Definisce un range valido di lunghezza per un campo. ∙ email – Definisce che un campo deve essere in formato email
∙ url – Definisce che un campo deve essere un URL valido
∙ date – Definisce che un campo deve esesre una data valida.
∙ dateISO – Definisce che un campo deve essere un data valida nel formato ISO. ∙ number – Definisce che un campo deve essre un numero decimale
∙ digits –Definisce che un campo deve contenere solo numeri
∙ creditcard – Definisce un campo come un campo in formato numero carta di credito ∙ equalTo – Definisce che un campo deve essere uguale ad un’altro campo.
Come si crea l'area riservata?
La pagina login.php viene utilizzata per inserire le credenziali di accesso all'area riservata. Nel form action della pagina login.php form method="post" action="login2.php" se inserisco login2.php, soltanto un utente potrà collegarsi se invece nell'action inserisco login3.php (form method="post" action="login3.php") allora permetterò a tre persone di collegarsi alla pagina riservata.
Login.php
<html>
<head>
<title>Login Area</title>
</head><body>
<?php
if(isset($_GET['error_login']))
{
echo "Error ,please compile correctly the form!";
}
?>
<form method="post" action="login3.php">
<table>
<tr><td>Username</td></tr>
<tr><td><input type="textbox" name="user" id="user" /></td></tr> <tr><td>Password</td></tr>
<tr><td><input type="text" name="pass" id="pass"/></td></tr> <tr><td><input type="submit" value="Log In" /></td></tr> </table>
</form>
</body>
</html>
Login2.php
(solo un utente può entrare nell'area riservata)
<?php
session_start();
$user="ciccio";
$pass="12345";
$page_to="page.php";
if(isset($_POST['user']) && isset($_POST['pass'])) {
if( $_POST['user']==$user && $_POST['pass']==$pass) {
$_SESSION['isLogged']="true";
header("Location:".$page_to);
}
else
{
header("Location:login.php?error_login=1");
}
}
else
{
header("Location:login.php?error_login=1");
}
?>
page3.php
(tre utenti possono loggarti)
la pagina di destinazione è: $page_to="page.php";
<?php
session_start();
$utenti[0]["user"]="user1";
$utenti[0]["pass"]="pass1";
$utenti[1]["user"]="user2";
$utenti[1]["pass"]="pass2";
$utenti[2]["user"]="user3";
$utenti[2]["pass"]="pass3";
$page_to="page.php";
$isLogged=false;
if(isset($_POST['user']) && isset($_POST['pass']))
{
for($i=0;$i<count($utenti);$i++) {
if( $_POST['user']==$utenti[$i]["user"] && $_POST['pass']==$utenti[$i]["pass"] ) {
$isLogged=true;
}
}
if($isLogged)
{
$_SESSION['isLogged']="true";
header("Location:".$page_to);
}
else
{
header("Location:login.php?error_login=1");
}
}
else {
header("Location:login.php?error_login=1");
}
?>
Page.php
<?php
session_start();
if(!isset($_SESSION['isLogged']))
{
header("Location:login.php?error_login=1");
}
else {
if($_SESSION['isLogged']!="true")
{
header("Location:login.php?error_login=1");
}
}
?>
<html>
<head>
</head>
<body>
<div>
Utente Loggato!
</div>
</body>
</html>
Queste pagine usano le sessioni, dopo aver essersi loggato in ogni pagina php deve esserci questo script (è presente nella pagina page.php)
<?php
session_start();
if(!isset($_SESSION['isLogged']))
{
header("Location:login.php?error_login=1");
}
else {
if($_SESSION['isLogged']!="true")
{
header("Location:login.php?error_login=1");
}
}
?>
Cosa sono i vettori associativi in Php?
In informatica un array o vettore è una struttura dati complessa, statica e omogenea, usata in molti linguaggi di programmazione e chiaramente ispirata alla nozione matematica di vettore, (o di matrice, nel caso di array bidimensionali). Ciascuna delle celle dell'array è identificata da un valore di indice. L'indice è generalmente numerico e i valori che gli indici possono assumere sono numeri interi contigui che partono da 0 o da 1.
L'array associativo è un array i cui elementi sono accessibili mediante nomi, quindi stringhe anziché indici puramente numerici. Questo non comporta però l'obbligo di utilizzare solo un tipo di indice: alcuni elementi dell'array possono avere un indice numerico, altri un indice di tipo stringa.
Cos'è una sessione?
La sessione è una funzione che ti permette di gestire il contenuto protetto tramite una stringa di caratteri chiamata cookie viene memorizzata nell'aria temporanea del browser, di conseguenza ti permette di entrare in un’area riservata.
SESSION START= ATTIVARE SESSIONE (login)
SESSION DESTROY= CHIUDERE SESSIONE (logout)
A differenza dei cookie le sessioni di PHP non scrivono nulla sul computer del utente, ma operano (quasi esclusivamente) sul server scrivendo, all'interno di un'apposita cartella, degli specifici files dove vengono salvati alcuni dati importanti relativamente alla sessione di navigazione dell’utente.
l ciclo di sessione comprende tre fasi:
Avvio o apertura: Si avvia uno scambio di informazioni tra l'utente (od anche il client) che intende avvalersi di un servizio e il server che sovraintende tale servizio. La procedura più nota e comune è quella di login. Il server prepara e memorizza un pacchetto di informazioni permanenti che diventeranno i parametri di sessione e, per l'utente, i suoi dati di lavoro per tutta la sessione (solitamente i dati preparati dal server vengono inseriti nei cookie, che a loro volta vengono scaricati dal web Browser e sfruttati per mantenere la sessione del servizio attivo, senza dover ogni volta reinserire i dati manualmente.)
Lavoro in sessione: Il colloquio prosegue, sempre con lo scambio delle informazioni di sessione. Le tipiche applicazioni per il web prevedono spesso che nell'arco della sessione parte di queste informazioni possano essere variate o aggiunte di nuove.
Chiusura: Su richiesta dell'utente o del client il server cancella le informazioni di sessione. In assenza di una specifica richiesta, nella gran parte delle applicazioni è prevista la chiusura o fine automatica di sessione, dopo un certo tempo in cui l'utente/client non invia alcun messaggio.
Cosa sono i cookies?
I cookie HTTP (più comunemente denominati cookie web, o per antonomasia cookie) sono un tipo particolare di magic cookie, una sorta di gettone identificativo, usato dai server web per poter riconoscere i browser durante comunicazioni con il protocollo HTTP usato per la navigazione web.
Tale riconoscimento permette di realizzare meccanismi di autenticazione, usati ad esempio per i login; di memorizzare dati utili alla sessione di navigazione, come le preferenze sull'aspetto grafico o linguistico del sito; di associare dati memorizzati dal server, ad esempio il contenuto del carrello di un negozio elettronico; di tracciare la navigazione dell'utente, ad esempio per fini statistici o pubblicitari.
Date le implicazioni per la riservatezza dei naviganti del web, l'uso dei cookie è categorizzato e disciplinato negli ordinamenti giuridici di numerosi paesi, tra cui quelli europei, inclusa l'Italia. La sicurezza di un cookie di autenticazione dipende generalmente dalla sicurezza del sito che lo emette, dal browser web dell'utente, e dipende dal fatto che il cookie sia criptato o meno. Le vulnerabilità di sicurezza possono permettere agli hacker di leggere i dati del cookie, che potrebbe essere usato per ottenere l'accesso ai dati degli utenti, o per ottenere l'accesso (con le credenziali dell'utente) al sito web a cui il cookie appartiene.
I cookie, e in particolare i cookie di terza parte, sono comunemente usati per memorizzare le ricerche di navigazione degli utenti; questi dati sensibili, possono essere una potenziale minaccia alla privacy degli utenti; proprio questo ha indotto le autorità europee e degli Stati Uniti a regolamentarne l'uso mediante una legge nel 2011. Infatti la legislazione europea impone a tutti i siti degli stati membri, di informare gli utenti che il sito utilizza certe tipologie di cookie.
Come si mantiene una sessione attiva?
Normalmente effettuando il logout da una sessione o chiudendo il browser essa si chiude, Se si vuole mantenere aperta la sessione bisogna che il sito in questo metta a disposizione dell’utente un cookie che prolunghi la durata di stazionamento ed anche se chiude il browser la sessione rimane attiva.
Esempio per far rimanere una sessione attiva per 7 giorni:
setcookie("nome","valore",time()+60*60*24*7);
Cos'è un file (in generale)?
Il termine inglese, in informatica, viene utilizzato per riferirsi a un contenitore di informazioni/dati in formato digitale, tipicamente presenti su un supporto digitale di memorizzazione opportunamente formattato in un determinato file system.
Le informazioni scritte/codificate al suo interno sono leggibili solo tramite uno specifico software in grado di effettuare l'operazione.
Tecnicamente, i dati di un file sono codificati/organizzati in una sequenza di byte in linea con il linguaggio binario usato dal computer, immagazzinati come un solo elemento su una memoria di massa attraverso il file system (sistema di archiviazione) esistente su quella data memoria. Il sistema, quando riceve una richiesta dall'utente (esempio: aprire un file), provvede poi all'operazione inversa di decodifica e visualizzazione, facendo apparire sul video parole e numeri.
Cos'è un archivio dati?
Un archivio è: un insieme organizzato di dati che possono essere utilizzati da utenti diversi con programmi diversi.
Le caratteristiche che gli archivi di dati devono avere sono: · Deve esistere un nesso logico tra le informazioni contenute; · Devono essere rappresentate in un formato che renda possibile la loro interpretazione; · Devono essere registrate su un supporto che ne renda possibile la scrittura e la rilettura anche a distanza di tempo; · Devono essere organizzate in modo da permettere una facile consultazione.
La gestione di questi archivi viene realizzata attraverso le seguenti operazioni: · La creazione dell'archivio stesso; · La consultazione o interrogazione, cioè il reperimento delle informazioni, all'interno dell'archivio; · L'inserimento di nuovi dati dopo che l'archivio è stato creato; · La modifica o l'aggiornamento dei dati già presenti nell'archivio; · La cancellazione delle informazioni che non si vogliono più conservare; · L'ordinamento dei dati secondo un determinato criterio; · La fusione tra due o più archivi, cioè la creazione di un nuovo archivio utilizzando i dati contenuti negli archivi di partenza.
Fondamentali sono le funzioni per la sicurezza di questi archivi, che evitano la perdita di dati. Il BACKUP consiste nel creare una copia dell'archivio in modo da evitare che venga perduto; Il RESTORE è il procedimento inverso del Backup, cioè consente il recupero dei dati da una copia precedentemente salvata.
Quali sono i parametri per aprire un file in Php?
In PHP, un file si apre con il comando fopen(filename, mode), dove il mode può essere uno dei seguenti:
Mode Descrizione
‘r’ Solo lettura, puntatore all’inizio del file
‘r+’ Lettura e scrittura, puntatore all’inizio del file
‘w’ Solo scrittura, puntatore all’inizio del file. Se il file non esiste, tenta di crearlo
‘w+’ Lettura e scrittura, puntatore all’inizio del file. Se il file non esiste, tenta di crearlo
‘a’ Solo scrittura, puntatore alla fine del file. Se il file non esiste, tenta di crearlo
‘a+’ Lettura e scrittura, puntatore alla fine del file. Se il file non esiste, tenta di crearlo
Cosa vuol dire aprire un file?
L’apertura di un file avviene in questo modo: il programma segnala al sistema operativo che ha necessità di accedere a un certo file. Il sistema operativo controlla che il file esista e che non sia già usato o bloccato, da esso o da un altro programma; crea alcune strutture dati per gestire le operazioni successive e riserva una certa quantità di memoria RAM, detta buffer, per memorizzare i dati in transito da e per il file; restituisce al programma un simbolo (o un handle oppure un indirizzo di memoria fisica) a cui il programma farà riferimento nelle successive operazioni sul file; gli altri programmi possono accedere allo stesso file solo in modo limitato (solo lettura) o non possono accedervi affatto.
Qual è l'istruzione in Php per aprire il file?
<?php
$variabile_associata_al_file= fopen ($nomefile, "r");
?>
Cosa vuol dire leggere i records di un file?
Nella fase di lettura il programma richiede dei dati dal file. Il sistema operativo li legge, li memorizza nel buffer di cui comunica l'ubicazione al programma richiedente.
In fase di "lettura" è possibile far ricorso a diverse funzioni che tuttavia presentano ognuna delle specifiche particolarità.
Quella che in caso di database testuali risulta essere maggiormente utile è file(). La funzione file() accetta come unico parametro il percorso al file che si desidera leggere ed esegue una lettura del file rigo per rigo restituendo un array in cui ciascun elemento è costituito da un rigo.
Ovviamente, avendo ottenuto un array, questo potrà essere letto con un classico ciclo foreach.
Qual è l'istruzione che permette di leggere i records?
<?php
include('setting.php');
$array_righi = file($my_database_txt);
foreach($array_righi as $key => $articolo){
list( $titolo, $autore, $prezzo, $codice, $categoria, $casa, $copie) = explode("|", $articolo);
echo '
<p>
<table width="100%>
<tr">
<td width="17%"> <b>Titolo:</b> ' .$titolo. ' </td>
<td width="17,5%"> <b>Autore:</b> ' .$autore. ' </td> <td width="10%"> <b>Prezzo:</b> ' .$prezzo. ' </td> <td width="15,5%"> <b>Codice:</b> ' .$codice. ' </td> <td width="20%"> <b>Categoria:</b> ' .$categoria. ' </td> <td width="12,5%"> <b>Casa:</b> ' .$casa. ' </td> <td width="12,5%"> <b>Copie:</b> ' .$copie. ' </td> </tr>
</table>
<a href="action.php?delete=' .$key. '">Elimina</a> - <a
href="form_update.php?row=' .$key. '">Modifica</a>
</p>
<hr />';
}
?>
Descrivere il ciclo Foreach
Il ciclo foreach è stato pensato specificatamente per essere utilizzato per la gestione degli array: infatti il ciclo si ripeterà tante volte quanti sono il numero di elementi che compone un array.
La sua sintassi è molto semplice:
foreach ( array as nuova_variabile_valore) { azione }
Il foreach richiede come unico parametro l'array che si intende "ciclare", mentre il secondo parametro sarà la variabile che dovrà, ad ogni ciclo, contenere il valore dell'elemento dell'array.
L'azione contenuta nelle parentesi graffe verrà ripentuta per quanti sono gli elementi dell'array
Spiegare la funzione Explode()
Scorrendo il nostro array otterremo un singolo rigo per ogni ciclo; per isolare i singoli dati presenti all'interno di tale rigo si farà ricorso alla funzione explode().
La funzione explode di PHP ha il compito di suddividere una stringa sulla base di un dato separatore. La sintassi è la seguente:
explode(separatore, stringa);
La funzione explode() riceve due parametri obbligatori: il primo è il carattere separtore; il secondo è una stringa da trasformare in un array.
Cosa vuol dire scrivere (memorizzare) i dati in file di testo?
Memorizzare dei dati in un file di tasto vuol dire scrivere essi all’interno del file. Per memorizzare i dati prima bisogna aprire il file e poi scriverci al’interno. La scrittura avviene in questo modo:
Il programma vuole scrivere dei dati in un file. Per prima cosa memorizza i dati in questione in un buffer, di cui poi comunica l'ubicazione al sistema operativo.
Per poter scrivere su un file di testo occorre anzitutto assicurarsi che questo abbia i permessi di scrittura: a questo scopo può essere utile la funzione is_writable(). Essa prende come parametro il percorso al file e restituisce un valore boleano, TRUE se il file può essere scritto. La scrittura del file avverrà con le funzioni fopen(), fwrite() e fclose().
La funzione fopen() serve per aprire il collegamento con la risorsa (il file da scrivere). Essa prevede due parametri obbligatori: il percorso al file e una stringa che ci indicherà modalità con la quale si vorrà operare sul file (si rimanda al manuale per maggiori dettagli).
La funzione fwrite() esegue la scrittura sul file e prevede due parametri: la risorsa e la stringa da scrivere.
Infine, la funzione fclose() esegue la chiusura del file e prevede come unico parametro la risorsa.
Qual è l'istruzione di scrittura in un file txt (file dati)?
<?php
include("setting.php");
/*************************
SCRITTURA
**************************/
if(isset($_POST['scrivi']))
{
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");
$titolo = str_replace($bad_char, "", $_POST['titolo']);
$autore = str_replace($bad_char, "", $_POST['autore']);
$prezzo = str_replace($bad_char, "", $_POST['prezzo']);
$codice = str_replace($bad_char, "", $_POST['codice']);
$categoria = str_replace($bad_char, "", $_POST['categoria']);
$casa = str_replace($bad_char, "", $_POST['casa']);
$copie = str_replace($bad_char, "", $_POST['copie']);
// apriamo il file
$open = fopen($my_database_txt, "a+");
// scriviamo i dati separati dal carattere separatore
fwrite($open,$titolo."|".$autore."|".$prezzo."|".$codice."|".$categoria."|".$casa."|".$copie."\r\n ");
// chiudiamo il file
fclose($open);
}
?>
Cosa vuol dire chiudere il file?
Chiudere il file vuol dire non rende più possibile la scrittura su di esso in quel momento. La chiusura avviene in questo modo.
Il programma comunica che non ha più bisogno del file. Tutte le strutture dati e il buffer allocato vengono rilasciate; il sistema operativo elimina il file dalla lista di quelli in uso; gli altri programmi hanno ora libero accesso al file.
Qual è l'istruzione di chiusura del file?
<?php
$nomefile="gatta.txt";
$testo="Tanto va la gatta al lardo che ci lascia lo zampino";
$handle = fopen($nomefile, 'w');
fwrite($handle, $testo);
fclose($handle);
?>
Saper spiegare riga per riga il seguente codice
<?php
include("setting.php");
/*************************
SCRITTURA
**************************/
if(isset($_POST['scrivi']))
{
if(!is_writable($my_database_txt)){ //controlla se il file ha i permessi
exit("il file non ha i permessi di scrittura!");
}
// riceviamo i dati e li filtriamo
$bad_char = array("|", "\r\n", "\r", "\n"); //metto negli array i simboli che mi serviranno per strutturare il record, con /r/n sposto il cursore nella riga successiva. Bisogna usare questa istruzione altrimenti i dati te li fa vedere in un'unica riga
$capo = str_replace($bad_char, "", $_POST['capo']); //str_replace prende il valore reale del campo escludendo gli spazi insignificanti, "" per lo spazio,$campo contiene il nome della variabile che ho appena inserito in memoria
$taglia = str_replace($bad_char, "", $_POST['taglia']);
$prezzo = str_replace($bad_char, "", $_POST['prezzo']);
// apriamo il file
$open = fopen($my_database_txt, "a+"); //apri il file, con a+ apro il file e inizio a scrivere dopo l'ultima riga
// scriviamo i dati separati dal carattere separatore
fwrite($open, $capo."|".$taglia."|".$prezzo."\r\n"); //scrivo il record
// chiudiamo il file
fclose($open);
// ritorniamo nella pagina di visualizzazione
header("location: lettura.php");
exit;
}
/*************************
ELIMINARE UN RIGO
**************************/
else if(isset($_GET['delete']))
{
// creiamo l'array con tutti i righi
$array_righi = file($my_database_txt);// associo il nome del record al nome del file
// eliminiamo dall'array il rigo
unset($array_righi[$_GET['delete']]);//unset vuol dire cancella,il get delete è come se sto memorizzando il cancella
// apriamo il file resettando il contenuto
$open = fopen($my_database_txt, "w");
foreach($array_righi as $key => $value){
// ri-scriviamo tutti i righi (rimanenti)
fwrite($open, $value);
}
fclose($open);
// 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_righi = file($my_database_txt);
// riceviamo i dati e li filtriamo
$bad_char = array("|", "\r\n", "\r", "\n"); //bad_char mi cancella a video i dati, ma ricorda che sul disco fisso devono rimanere i simboli di divisione e il comando a capo
$capo = str_replace($bad_char, "", $_POST['capo']); //str_replace dice di riscrivere in un campo il contenuto di capo
$taglia = str_replace($bad_char, "", $_POST['taglia']);
$prezzo = str_replace($bad_char, "", $_POST['prezzo']);
// ri-scriviamo il rigo (che sostituirà il precedente)
$array_righi[$_POST['row_update']] = $capo."|".$taglia."|".$prezzo."\r\n"; //row_update vuol dire aggiornami il record
// apriamo il file resettando il contenuto
$open = fopen($my_database_txt, "w");
foreach($array_righi as $key => $value){
// ri-scriviamo tutti i righi
fwrite($open, $value);
}
fclose($open);
// ritorniamo nella pagina di visualizzazione header("location: lettura.php");
exit;
}
?>
Commenti
Posta un commento