giovedì 1 dicembre 2016

[Guida] Programmazione Html, Php, MySql in una macchina virtuale.

Oggi, la maggior parte della popolazione mondiale possiede un computer e nella migliore delle ipotesi anche una connessione internet, che gli permette di controllare e-mail, chattare, videochiamare qualcun altro; insomma, interagire direttamente con il mondo del Web.
L'utente passivo, ovvero quello che non si ferma a studiare i meccanismi che regolano il mondo dell'informatica, non sa ovviamente che dietro ogni pagina web che lui legge e possibilmente anche gestisce c'è un linguaggio di programmazione che gli permette di compiere delle determinate operazioni, nella maggior parte dei casi questo linguaggio è l'Html.
Con la digitalizzazione di tutto ciò che ci circonda che è ormai parte di noi, come conti corrente, bancomat, carte di credito, tasse, università, si è creata una fitta rete di dati da immagazzinare che sono state create delle vere e proprie Basi di Dati.
Una delle operazioni più semplici che chiunque può fare è, ad esempio, quella di ordinare un biglietto aereo, ecco questa semplice operazione è gestita da un insieme di tabelle che sono modificate tramite un linguaggio di programmazione per applicazioni Web. 
Quest'ultimo tipo di linguaggio è un linguaggio misto costituito da Html, Php ed Sql.
Hml, nasce come linguaggio per creare delle vere e proprie pagine web, Sql è un linguaggio in grado di gestire, creare, alterare insieme di tabelle o connetterle tra di loro e php è un linguaggio che agli albori veniva utilizzato per la programmazione di pagine web personali.
Uno dei sistemi che viene utilizzato ampiamente dagli sviluppatori di pagine web è Linux.
Vedremo come installare Linux-Mint tramite una macchina virtuale (VIRTUAL BOX) e infine si creerà un "form" per la gestione di dati.


[GUIDA]

1. Installare Virtual-Box nel vostro terminale, scegliendo il corretto sistema operativo:





2. Scaricare il file .iso direttamente dal sito di Linux-Mint (Cinnamon 64bit consigliato):













































3. Creazione della macchina virtuale tramite Virtual Box:

-Cliccare su nuova, per la creazione di una macchina virtuale vuota
























-Rinominare la propria macchina virtuale, ad esempio, come Linux-Mint:





























-Creazione(2):

























-Indicare quanta memoria RAM si vuole sfruttare per la creazione della macchina virtuale (non superare la soglia rossa indicata da Virtual Box):



























-Seguire le impostazioni predefinite:


























-Nel nostro caso adotteremo una macchina virtuale in formato VDI:




























-Settare l'allocazione dinamica della memoria:

























-Indicare il contenuto della nuova macchina virtuale (minimo 15GB consigliati):
























-Adesso è necessario fornire le informazioni riguardanti il processore (Non superare la zona rossa prefissata da Virtual Box):

























-Per quanto riguarda la memoria grafica, si può inserire anche il massimo:

























-Cliccare in Archiviazione

























-Scegliere il file di Linux-Mint.iso e della rispettiva distribuzione:

























-La macchina virtuale è pronta per l'installazione:








4. Installazione e Avvio di Linux-Mint:
-Cliccare nell'icona a forma di CD per avviare l'installazione di Linux-Mint 
























-Scegliere la lingua da utilizzare per l'intera, installazione; La lingua scelta coinciderà con quella del sistema:



























-Si può decidere se installare o meno i software di terze parti:


























-Scegliere la partizione in cui installare il software (anche se in questo caso la partizione è unica):


























-Scelta della partizione:
























-Impostazioni di Tastiera:


























-Impostare nome utente e password:
























-Installazione in corso...

























-Installazione in corso




5.Costruzione del Form, in linguaggio misto (Html, Sql, Php), gli sviluppatori adottano principalmente i prodotti linux, in quanto questi hanno la caratteristica che salvando un file di testo con l'estensione del linguaggio che si sta adottando, il file di testo si comporta praticamente come un editor testuale, così programmare in tutti i linguaggi diventa un gioco da ragazzi.

Il form che verrà visualizzato avrà un aspetto del genere:






















-Per redigere il codice basta scrivere il programma sql in linguaggio corretto e aggiungere all'estensione del file .sql:








-Redazione del linguaggio misto in (Html,Sql e PHP):






FILES DI PROGRAMMAZIONE PURA:

codice database2.sql:

SET storage_engine=InnoDB;
SET FOREIGN_KEY_CHECKS=1;


-- create database

CREATE DATABASE IF NOT EXISTS Opere;
USE Opere;


-- drop tables if exist

 DROP TABLE IF EXISTS Autore;
 DROP TABLE IF EXISTS Opera;



-- create tables

SET autocommit=0;
START TRANSACTION;

CREATE TABLE Autore (
  `codA` varchar(10) PRIMARY KEY,
  `nome` varchar(30) NOT NULL,
  `cognome` varchar(30) NOT NULL,
  `anno` integer NOT NULL,
  `citta` varchar(20) NOT NULL
);

CREATE TABLE Opera (
  `codO` varchar(10) PRIMARY KEY,
  `nome` varchar(30) NOT NULL,
  `categoria` varchar(20) NOT NULL,
  `citta` varchar(20) NOT NULL,
  `nazione` varchar(20) NOT NULL,
  `autore` varchar(10) NOT NULL REFERENCES autore(codA)
);

COMMIT;



-- insert data values

START TRANSACTION;

INSERT INTO Autore VALUES ('1', 'Gian Lorenzo', 'Bernini', 1598, 'Napoli');
INSERT INTO Autore VALUES ('2', 'Francesco', 'Borromini', 1599, 'Bissone');

INSERT INTO Opera VALUES ('1', 'Apollo e Dafne', 'scultura', 'Roma', 'Italia', '1');
INSERT INTO Opera VALUES ('2', 'Baldacchino S.Pietro', 'architettura', 'Roma', 'Italia', '1');
INSERT INTO Opera VALUES ('3', 'Fontana dei fiumi', 'architettura', 'Roma', 'Italia', '1');
INSERT INTO Opera VALUES ('4', 'S.Ivo la Sapienza', 'architettura', 'Roma', 'Italia', '2');
        
COMMIT;



test.php:


Risultati




 $_REQUEST["anno2"])){
  die("Errore: anni non corretti");}


/* ASSEGNAZIONE VARIABILI */

$a1 = $_REQUEST["anno1"];
$a2 = $_REQUEST["anno2"];
$c = $_REQUEST["città"];


/* CONNESSIONE AL DB*/

$con = mysqli_connect('localhost','root','','opere');

if (mysqli_connect_errno())
  {
  die ('Failed to connect to MySQL: ' . mysqli_connect_error());
  }


/* QUERY SQL */ 

   $sql  = " SELECT autore.cognome AS autore, opera.nome AS opera, categoria
   FROM autore, opera
   WHERE autore.coda = opera.autore
   AND anno >= $a1
   AND anno <= $a2
   AND opera.citta =  '$c'
   ORDER BY cognome, opera";


/* ESECUZIONE QUERY */ 

$result = mysqli_query($con,$sql);

if( !$result )
  die('Query error: ' . mysqli_error($con));



/* HTML CON RISULTATI */

echo "

Opere a $c degli autori nati tra il $a1 e il $a2

"; if( mysqli_num_rows($result) > 0 ){ echo ""; echo " "; for ($i = 0; $i < mysqli_num_fields($result); $i++){ $title = mysqli_fetch_field($result); $name = $title->name; echo ""; } echo " "; while ($row = mysqli_fetch_row($result)) { switch($row[2]){ case "architettura": $color = "yellow"; break; case "pittura": $color = "orange"; break; case "scultura": $color = "white"; break; default: $color = "blue"; } echo " "; foreach ($row as $cell) { echo ""; } echo " "; } echo "
$name
$cell
"; }else{ echo "

Nessun risultato

"; } //chiusura della connessione mysqli_close($con); ?>

input.html:
<html>
<head>
<title>Opere</title>
</head>
<body>
<h4> Impostare anno di nascita dell'autore e città interessata </h4>

<form method="get" action="test.php">


<table>

<tr> Data di nascita compresa tra </tr>

<tr> <td> anno </td> 
     <td> <input type="text" size="4" maxlength="4" name="anno1"> </td> </tr>

<tr> <td> e anno </td> 
     <td> <input type="text" size="4" maxlength="4" name="anno2"> </td> </tr>

<tr> <td> Città: </td>

<td>
<select name="città">
<option value="Torino">Torino</option>
<option value="Milano">Milano</option>
<option value="Roma">Roma</option>
<option value="Napoli">Napoli</option>
</select>
</td> </tr>

</table>


<br>


<input type="reset" value="Cancella">
<input type="submit" value="Invia">

</form>


</body>
</html>