di Roselli Sergio di Roselli Sergio
di Roselli Sergiodi Roselli Sergio
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
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 */
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?>
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?>
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
?>
Concatenamento tra StringheConcatenamento tra Stringhe
<?php
$string1=“Ciao,”;$string2=“PHP”;$string3=$string1 . “ ” . $string2;
Print $string3;?>
Output :
Ciao, PHP
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”
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
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;}
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.
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
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
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)
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
?>
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>
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>
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
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
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");
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>
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());
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>