Oggi creiamo un programma in Perl che interroga il database passando dei parametri via $_GET[].
Esempio:
Immaginiamo che da una form contenente due campi testo colonna e elemento e un bottone, utilizzando il metodo $_GET[] ,al seguente indirizzo web : http://nomedominio.it/cgi-bin/cerca.pl?colonna=id&elemento=1 , otteniamo il risultato della ricerca.
Andiamo a vedere come lavora il file "cerca.pl" :
1) Aprire un programma di testo tipo Notepad
2) Copiate il seguente codice :
CODICE PERL :
#!/usr/bin/perl
use DBI;
use CGI;
# Crea un oggetto CGI
$q = CGI::new();
# Obligatoriamente si deve inserire perchè gli si deve dire che deve generare una pagina html
print "Content-type:text/html\n\n";
# CGI standard variables
$ip = $ENV{'REMOTE_ADDR'};
print "REMOTE_ADDR =$ip";
print "<br>";
# Prende il parametro passato per $_GET['colonna'] e $_GET['elemento'] lo potete modificare a piacere
# Precisamente è questo il link da inviare /cgi-bin/cerca.pl?colonna=id&elemento=1
# Da modificare a piacimento
$colonna_ricerca = $q->param('colonna');
$elemento_ricerca = $q->param('elemento');
#dati di accesso al db MySql
$database = "database";
$user = "username";
$pass = "password";
$tabella = "tabella";
# Parametri di ricerca
$colonna_da_cercare = "$colonna_ricerca";
$elemento_da_cercare = "$elemento_ricerca";
$db_handle = DBI->connect("dbi:mysql:database=$database;host=localhost:port=3306;user=$user;password=$pass")
or die "Couldn't connect to database: $DBI::errstr\n";
$sql = "SELECT * FROM $tabella WHERE $colonna_da_cercare='$elemento_da_cercare' LIMIT 1";
$statement = $db_handle->prepare($sql)
or die "Couldn't prepare query '$sql': $DBI::errstr\n";
$statement->execute()
or die "Couldn't execute query '$sql': $DBI::errstr\n";
$statement->dump_results if $statement->{NUM_OF_FIELDS};
print "<hr>Fine Ricerca ";
$db_handle->disconnect();
3) Salvate il file con l'estensione "cerca.pl"
4) Trasferite il file in formato ASCII sul server precisamente nella cartella /cgi-bin/
5) Settare il file "cerca.pl" sul server con i permessi 755
6) Aprire il Browser e puntata al file esempio : http://nomdominio.it/cgi-bin/cerca.pl?colonna=id&elemento=1
E il gioco è fatto pronto per fare le nostre interrogazioni al nostro server.
N.B. : Vi ricordo che Colonna conterrà il nome della colonna che si trova nel database ed elemento è il nome dell'elemento da cercare nel database.
By ImaginSystems & Queen Gin