ITBazar, informatica 100%

l’informatica alla portata di tutti!

Archivio per 'Mysql'


Php Mysql e i database con Adodb

Inviato da Domenico Dibello il 16 Marzo 2008

Un qualsiasi programma che si rispetti ha bisogno di immagazzinare, memorizzare e utilizzare dei dati. Il modo migliore per ricercare velocemente le informazioni che ci servono e poterle indicizzare per utilizzi futuri è utilizzare una “base di dati” o Database. I database in circolazione sono davvero tanti, il più utilizzato in ambito Linux/Unix e quindi con il linguaggio PHP è Mysql. Mysql è un database gratuito ed opensource che si distingue per la sua notevole velocità di esecuzione e per la sua ormai comprovata stabilità.

In questo articolo vedremo come sfruttare la potenza di Mysql con PHP attraverso ADODB.

Cos’è ADODB?

ADODB è una “abstraction library” per PHP e Phyton.

Sito ufficiale ADOdb

A cosa serve un’abstraction library?

Con Adodb noi possiamo scrivere un’applicazione PHP e far si che essa funzioni con tutti i database supportati senza modificare neanche una virgola di codice, i database supportati sono:

MySQL, PostgreSQL, Interbase, Firebird, Informix, Oracle, MS SQL, Foxpro, Access, ADO, Sybase, FrontBase, DB2, SAP DB, SQLite, Netezza, LDAP, and generic ODBC, ODBTP

Esempio pratico con Adodb e Mysql

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php 
//Includiamo la libreria ADODB
require("adodb.inc.php");
 
//Creiamo una nuova connessione specificando mysql come database
 $db = NewADOConnection('mysql');
 
//Inseriamo i dati della connessione, indirizzo server, utente, passqord e database
 $db->Connect("indirizzo", "nomeutente", "password", "nomedatabase");
 
//Inviamo la query al database salvando il risultato in $result
 $result = $db->Execute("SELECT nome,cognome FROM tabellaimpiegati");
 
//Se la connessione al database non riesce interrompi lo script con un mess. di errore 
if ($result === false) die("Connessione al database fallita!");  
 
//Estraiamo il NUMERO dei campi esempio. Nome Cognome Indirizzo....
$numero_campi = $result->FieldCount();
 
//Eseguiamo un While per stampare le righe con i risultati
 while (!$result->EOF) {
    for ($i=0; $i < $numero_campi; $i++)
	{
           print $result->fields[$i].' ';
	}
    $result->MoveNext();
    print "<br>";
 }
?>

Pubblicato in Guide, ITbazar, Mysql, Php, Tutorial | Nessun Commento »

Una Semplice autenticazione in PHP

Inviato da Domenico Dibello il 28 Febbraio 2008

login php autenticazione utenti

Il web 2.0 ci porta ad una navigazione sempre più completa e ad una interattività sempre maggiore, ogni sito internet che si rispetti (il mio ancora no! :-) ) gestisce degli utenti che possono interagire con il sito stesso. Per far tutto ciò è necessario avere un database contenente le generalità di ogni iscritto e soprattuto è necessario un meccanismo di autenticazione. Vedremo in questo articolo come realizzare una semplice autenticazione in PHP.

 

Innanzitutto creiamo una pagina per l’iscrizione degli utenti. Questa operazione è piuttosto semplice, basta creare un semplice form html come questo…

 

form iscrizione html php

 

Come vedete dall’immagine, quando l’utente ha inserito i suoi dati premendo il tasto “Iscriviti” viene redirezionato alla pagina “inserisci_utente.php”, questa pagina si occuperà di verificare la correttezza dei dati e di inserirli in un database. Se non sapete come usare database in PHP, cercate tra gli articolo di questo sito, e in ogni caso vi consiglio di utilizzare un “abstraction layer” che semplficherà tutto il lavoro, qui potete trovare documentazione in italiano di ADODB .ADODB permette di scrivere codice funzionante con tutti i database senza doverlo riscrivere per esempio se si passa da Mysql ad SqLite a Oracle a Postgres, etc…

Quandi l’utente sarà ora in grado di effettuare il login inserendo il suo indirizzo email ed una password, attraverso una pagina del genere…

controlla dati php login

Come potete notare sia nel form precedente che in questo, i dati vengono inviati ad una pagina PHP tramite un POST, ciò significa che le variabili Email e Password inserite dall’utente saranno disponibili nella pagina di arrivo ( in questo caso “controlla_dati.php”) utilizzando le variabili $_POST[’Email’] e $_POST[’Password’].

Quindi la pagina “controlla_dati.php” deve controllare che le variabili Email e Password siano contenute nel database degli utenti. La funzione get_user_id(email,password) restituisce l’id dell’utente con quell’email e password, e restituisce false se l’utente non esiste, dunque anche se la password è sbagliata. In teoria si potrebbero anche controllare se l’user esiste e la password è sbagliata ma questo è un esempio di autenticazione molto semplice. Se l’utente esiste attraverso un Javascript avviene un redirect verso la pagina principale del nostro sito, altrimenti si ritorna alla pagina di login precedente aggiungendo il messaggio “Email e password errati”.

controlla email password

E’ importante ovviamente che la pagina principale del nostro sito controlli che la variabile $_GET[uid] sia settata ed esista nel database, altrimenti un utente malintenzionato potrebbe saltare il login digitando direttamente l’Url della pagina principale.

autenticazione php pagina principale

Come possiamo vedere dal codice se la variabile $_GET[’uid’] non è settata avviene un redirect verso la pagina di login, e nel caso un malintenzionato disabilitasse i Javascript per evitare questo l’esecuzione della pagina, terminerebbe con un “die”. Se l’uid è settato ma non esiste nel database è probabile che qualcuno ha cercato di falsificarlo oppure si tratta di un utente non più esistente, dunque l’esecuzione termina. In caso contrario si da il benvenuto all’utente! :-)

Pubblicato in Guide, ITbazar, Linux, Mysql, Php, Tutorial | 1 Commento »

Come creare un gioco online multiutente (1)

Inviato da Domenico Dibello il 25 Febbraio 2008

gioco carte online 2

Bene, per la serie complichiamoci la vita ecco una nuova serie di guide molto interessanti, l’argomento sarà la creazione in un gioco di carte online multiutente. Quando si da il via ad un progetto di tale portata la cosa principale è buttare giù su carta ogni minimo particolare, la struttura, le classi, i meccanismi, l’interfaccia…

Una volta fatto ciò si può passare alla parte più divertente, programmare!

Alla fine di queste guida che durerà 1 o 2 mesi al massimo chiunque abbia dimestichezza con la programmazione sarà in grado di creare un proprio gioco multiutente!

1. Quali linguaggi utilizzare?

La mia politica sarà quella di non far scaricare al giocatore nessun programma, il gioco avverrà direttamente online. Ecco dunque l’esigenza di un linguaggio client side…Ajax? Java? Flash? Flex?

La risposta è quasi scontata: Flash! Il flash presente una serie di vantaggi rispetto ai concorrenti. Questo linguaggio è stato creato apposta per animazioni interattive, giochi, e quant’altro sia legato alla grafica e all’animazione. Un gioco è qualcosa che deve far divertire l’utente, ragion per cui l’interfaccia grafica deve essere molto curata e accattivante, possibilmente tridimensionale, ma quest’ultimo aspetto non è fondamentale, ci accontenteremo di un 3d finto! ;-) Qualche effetto qui e li…e il gioco è fatto!

2. Linguaggio lato server?

Dunque 100% Flash? Ovviamente questo non è possibile. Il gioco che andiamo a creare è multiutente! Questo vuol dire che ogni giocatore deve “vedere” le mosse effettuate dagli altri utenti, è naturale quindi pensare ad un meccanismo che colleghi i giocatori, nel nostro caso 2 o più giocatori. I clients programmati in Flash dovranno comunicare con un server di gioco, che gestirà l’andamento dello stesso. Il server si occuperà di vedere se i giocatori sono ancora online o se hanno abbandonato il gioco, quali sono le loro mosse o le loro azioni in generale. Quale linguaggio allora per la parte server side? Bhe direi che questo punto non è fondamentale. Clients e server si scambieranno piccole informazioni della serie….

“Il giocatore 1 ha scartato un 3 di picche”

“Il giocatore 2 ha abbandonato la partita”

“Il giocatore 3 scrive: ‘Mi sto divertendo come un pazzo…’”

Tutti gli esempi di questa guida per quanto riguarda il lato server saranno in linguaggio PHP. Ho scelto PHP per 2 ragioni:

  1. In questo modo potrò utilizzare un server Linux
  2. Esistono ottimi framework gratuiti e opensource per far comunicare Flash e PHP…io userò AMFPHP

Se PHP non è tra i vostri linguaggi preferiti potete anche scegliere di usarne uno differente, ASP, Coldfusion (sarebbe l’ideale), ASP.NET, Ruby, Java, e chi più ne ha…..

Ripeto che il server non dovrà fare grandi cose. Il requisito essenziale è quello di potersi connettere ad un database, nel mio esempio userò Mysql ma anche questo è un particolare secondario.

…continua…

Pubblicato in Flash, Guide, Internet, Mysql, Php, Tutorial | Nessun Commento »

Tutorial PHP - Lezione 1, Installare PHP su Linux

Inviato da Domenico Dibello il 11 Febbraio 2008

lamp linux apache mysql php

Benvenuti alla prima di una serie di entusiasmanti lezioni riguardanti la programmazione server side, in particolar modo prenderemo in considerazione la piattaforma LAMP (Linux + Apache + Mysql + PHP). Il primo passa da compiere è ovviamente quello di installare il software necessario sul nostro sistema. La cosa è più semplice di quanto crediate, a patto che abbiate scelto un sistema operativo degno di questo nome. :-) In questi tutorial baseremo tutti gli esempi su un sistema Ubuntu, ma andranno bene anche per le altre distribuzioni.

Fase 1: Installazione

sudo apt-get install apache2 mysql-server php5 phpmyadmin

l’installazione è completamente automatica alle domande successive scegliamo di installare Apache2 e php4 e php5 insieme.

Digitando http://127.0.0.1 in un browser vi apparira la schermata di Apache che vi conferma il funzionamento corretto

All’indirizzo http://127.0.0.1/ phpmyadmin invece potrete amministrare il vostro server mysql tramite un’interfacia php, verificando il corretto fuzionamento di php, mysql e phpmyadmin!

La prossima guida tra qualche giorno…

Pubblicato in Guide, ITbazar, Linux, Mysql, Php, Tutorial | 1 Commento »