Php e mysql (primi passi)

Post on 22-Jul-2015

131 views 1 download

Transcript of Php e mysql (primi passi)

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>