Php e mysql (primi passi)

23
di Roselli Sergio di Roselli Sergio

Transcript of Php e mysql (primi passi)

Page 1: Php e mysql (primi passi)

di Roselli Sergiodi Roselli Sergio

Page 2: Php e mysql (primi passi)

Il PHP Il PHP

PHP è un linguaggio server-side che può interagire con Il database MySQL

E' usato per generare Pagine Web dinamiche Linguaggio di tipo Script Lo Script PHP si trova tra i Tags a lui riservati e

contenuti all'interno di una pagina HTML Viene eseguito lato Server Codice Sorgente NON visibile dal Client

Page 3: Php e mysql (primi passi)

Similitudini del codice PHP Similitudini del codice PHP Struttura simile a C/C++ Tutte le righe PHP terminano con un “;”

Ciascun script PHP si deve aprire e chiudere con il Tag PHP riservato : <?php … ?>

Ciascun commento deve essere preceduto da // o # o ancora da /* ... */

// C++ and Java-style comment

# Shell-style comments

/* C-style comments These can span multiple lines */

Page 4: Php e mysql (primi passi)

Le variabili in PHPLe variabili in PHP Le variabili in PHP devono inziare per “$” Il PHP è Case-sensitive ($Foo != $foo != $fOo) E' possibile avere variabili Globali e locali Alcuni nomi di variabili sono riservati al PHP

Variabili Form ($_POST, $_GET) Variabili Server ($_SERVER) ecc.

<?php$foo = 25; // variabile Numerica$bar = “Ciao”; // variabile Stringa

$foo = ($foo * 7); // Moltiplica foo x 7$bar = ($bar * 7); // Espressione errata?>

Page 5: Php e mysql (primi passi)

Comando Eco e PrintComando Eco e Print Il comando echo viene utilizzato per stampare valori e

stringhe. In pratica invia dati al web-browser del Client Sintassi :

void echo (string arg1 [, string argn...]) La stringa (' ') non viene interpretata da PHP

<?php$foo = 35; // variabile Numerica$bar = “Ciao”; // variabile Stringa

echo $bar; // Stampa Ciaoecho $foo,$bar; // Stampa 35Ciaoecho “7x5=”,$foo; // Stampa 7x5=35echo “7x5=$foo”; // Stampa 7x5=35echo ‘7x5=$foo’; // Stampa 7x5=$foo?>

Page 6: Php e mysql (primi passi)

Operazioni Aritimetiche

$a - $b // sottrazione $a * $b // moltiplicazione $a / $b // divisione $a += 5 // $a = $a+5 vale anche per '*=' e '/='

<?php

$a=25;$b=10;$totale=$a+$b;Print $totale;Print “<p><h1>$total</h1>”;// totale è 35

?>

Page 7: Php e mysql (primi passi)

Concatenamento tra StringheConcatenamento tra Stringhe

<?php

$string1=“Ciao,”;$string2=“PHP”;$string3=$string1 . “ ” . $string2;

Print $string3;?>

Output :

Ciao, PHP

Page 8: Php e mysql (primi passi)

Caratteri di EscapeCaratteri di Escape

Se vogliamo visualizzare una stringa tra le virgolette bisogna usare, il \ [backslash] prima della virgoletta la quale verrà ignorata in fase di visualizzazione.

<?php

$heading=“\”Laboratorio di Informatica\””;Print $heading;

?>

“Laboratorio di Informatica”

Page 9: Php e mysql (primi passi)

If ... Else...If ... Else...

If (condition){

Statements;}Else{

Statement;}

<?phpIf($user==“Antonio”){

Print “Ciao Antonio.”;}Else{

Print “Non sei Antonio.”;}?>

Non esiste il THEN in PHP

Page 10: Php e mysql (primi passi)

PHP Struttura di controlloPHP Struttura di controllo

Struttura di controllo else if

if ($foo == 0) {echo ‘La variabile foo è uguale a 0’;

}else if (($foo > 0) && ($foo <= 5)) {

echo ‘La variabile foo è compresa tra 1 e 5’;}else {

echo ‘La variabile foo è uguale a ‘.$foo;}

Page 11: Php e mysql (primi passi)

While LoopsWhile Loops

While (condition){

Statements;}

<?php$count=0;While($count<3){

Print “Ciao, PHP. ”;$count += 1;// $count = $count + 1;// or// $count++;

?>

Ciao, PHP. Ciao, PHP. Ciao, PHP.

Page 12: Php e mysql (primi passi)

Visualizza DataVisualizza Data

$datedisplay=date(“yyyy/m/d”);Print $datedisplay;

2015/2/1

$datedisplay=date(“ l, F m, Y”);Print $datedisplay;Mercoledì, Febbraio 1, 2015

Page 13: Php e mysql (primi passi)

Formato Data e SimboliFormato Data e Simboli

M Gen

F Gennaio

m 01

n 1

Day of Month d 01

Day of Month J 1

Day of Week l Lunedì

Day of Week D Lun

Page 14: Php e mysql (primi passi)

FunzioniFunzioni

DEVONO essere definite prima della chiamata L'header deve avere il seguente formato

Note : restituisce il tipo di formato specificato Le variabili ed i nomi delle funczioni NON sono case

-sensitive

(foo(…) (foo(…) ==== Foo(…) Foo(…) ==== FoO(…)) FoO(…))

function functionName($arg_1, $arg_2, …, $arg_n)

Page 15: Php e mysql (primi passi)

FunzioniFunzioni<?php

// Questa è una funzione

function foo($arg_1, $arg_2)

{ $arg_2 = $arg_1 * $arg_2;

return $arg_2;}

$result_1 = foo(12, 3);

echo $result_1; // Stampa 36

echo foo(12, 3); // Stampa36

?>

Page 16: Php e mysql (primi passi)

Include FilesInclude FilesInclude “opendb.php” ;Include “closedb.php” ;

Utilizzando il comando include andremo ad “ inglobare” il codice contenuto nei due file all’ interno del codice in esecuzione.

Sarebbe meglio dire che il codice contenuto nei due file, verrà reso disponibile al codice in esecuzione in qualsiasi momento per evitare ridondanze ed appesantimenti.

L’ istruzione Include (“footer.php”); potrebbe ad esempio contenere :

<i>Copyright © 2010-2013 </i><br>

<i>ALL RIGHTS RESERVED</i><br>

<i>URL: http://www.rosellisergio.it</i><br>

Page 17: Php e mysql (primi passi)

PHP - FormsPHP - Forms• Passaggio valori tramite Passaggio valori tramite HTTP POST HTTP POST e e GET in PHPGET in PHP• Variabili globali Variabili globali $_POST[] $_POST[] e e $_GET[]$_GET[]

<?php if ($_POST["submit"]) echo "<h2>Hai cliccato su Submit!</h2>"; else if ($_POST["cancel"]) echo "<h2> h2>Hai cliccato su Cancel!</h2>";?><form action="form.php" method="post"> <input type="submit" name="submit" value="Submit"> <input type="submit" name="cancel" value="Cancel"></form>

Page 18: Php e mysql (primi passi)

Salviamolo come sample.php:

<!– sample.php --><html><body>

<strong>Hello World!</strong><br /> <?php

echo “<h2>Hello, World</h2>” ; ?> <?php$myvar = "Hello World";echo $myvar; ?></body></html>

Il primo Script PHPIl primo Script PHP

Page 19: Php e mysql (primi passi)

Come visualizzare dati in una tabellaCome visualizzare dati in una tabella

Elencare le tabelle contenute nel DB. Selezionare una tabella e visualizzarne il contenuto.

second.phpshowtable.php

Page 20: Php e mysql (primi passi)

second.phpsecond.php<html><head><title>MySQL Table Viewer</title></head><body><?php// cambiare il valore di $dbuser e $dbpass con I tuoi dati$dbhost = ‘rosellisergio.it:3306';$dbuser = ‘utente’;$dbpass = ‘* * * * * * * * * * * * * * * * * ’;$dbname = $dbuser;$table = 'account';$conn = mysql_connect($dbhost, $dbuser, $dbpass);if (!$conn) { die(‘Impossibile stabilire la connessione: ' . mysql_error());}if (!mysql_select_db($dbname)) die(“Impossibile aprire il database");

Page 21: Php e mysql (primi passi)

second.php (continua)second.php (continua)$result = mysql_query("SHOW TABLES");if (!$result) { die(“Tentativo di visualizzazione fallita !!!");}$num_row = mysql_num_rows($result);echo "<h1>Choose one table:<h1>"; echo "<form action=\"showtable.php\" method=\"POST\">";echo "<select name=\"table\" size=\"1\" Font size=\"+2\">";for($i=0; $i<$num_row; $i++) {

$tablename=mysql_fetch_row($result);echo "<option value=\"{$tablename[0]}\" >{$tablename[0]}</option>";

}echo "</select>";echo "<div><input type=\"submit\" value=\"submit\"></div>";echo "</form>";

mysql_free_result($result);mysql_close($conn);?></body></html>

Page 22: Php e mysql (primi passi)

showtable.phpshowtable.php<html><head><title>MySQL - Visualizza Tabelle </title></head><body><?php$dbhost = ‘rosellisergio.it:3306';$dbuser = ‘utente';$dbpass = ‘* * * * * * * * * * ’;$dbname = ‘utente';$table = $_POST[“table”];$conn = mysql_connect($dbhost, $dbuser, $dbpass);if (!$conn)

die(‘impossibile stabilire una connessione: ' . mysql_error());if (!mysql_select_db($dbname))

die(“Database non selezionato");$result = mysql_query("SELECT * FROM {$table}");if (!$result) die(“Tentativo di visualizzazione della tabella fallito !!!!" . mysql_error());

Page 23: Php e mysql (primi passi)

showtable.php (continua)showtable.php (continua)$fields_num = mysql_num_fields($result);echo "<h1>Table: {$table}</h1>";echo "<table border='1'><tr>";// headers della tabellafor($i=0; $i<$fields_num; $i++) {

$field = mysql_fetch_field($result);echo "<td><b>{$field->name}</b></td>";

}echo "</tr>\n";while($row = mysql_fetch_row($result)) {

echo "<tr>";// $row è un array... foreach( .. ) inserisce gli// elementi di $row e $cell foreach($row as $cell)

echo "<td>$cell</td>";echo "</tr>\n";

}mysql_free_result($result);mysql_close($conn);?></body></html>