Arubbola alias .... , tutti quelli che cercano di utilizzare un db MsAccess su questo hosting sanno bene quanto si possa bestemmiare con il php da quando Arubbola ha vietato l'utilizzo degli oggetti ADO.
Siccome questo sgarbo da parte di Arubbola mi ha causato un'orticaria e un fastidioso prurito alla nuca ho ben pensato di non dormire un paio di notti per elaborare un mix ASP, PHP che permettesse di utilizzare un db MsAccess con il PHP
.
Lo script è molto semplice, sia perchè conosco l'ASP meno di niente, sia perchè quando hai l'illuminazione e il codice funziona lasci perdere di controllare quante boiate hai scritto e corri a postarlo :rollo: .
Sono 3 paginette delle quali 2 in ASP
, dove c'è poco da toccare
non vi preoccupate, e 1 in PHP dove ci si può sbizzarrire quanto si vuole
.
Sarei assai lieto se qualcuno avesse il buon cuore di migliorare questo script e di trovare i numerossissimi bugs e di postare il tutto
.
Comunque così com'è, bene o male, che se ne dica funziona
Eccola la prima: select.asp
codice:
<%
// Autore: kallo@rendon.it - http://www.rendon.it
// Data: 27 agosto 2004
// Content: Riceve SELECT SQL e manda in echo il recordset
// MODIFICA LA PASSWORD CON UNA DI TUA SCELTA
if Request("p") = "password" then
dim SQL
SQL = Request("SQL")
// AL POSTO DI database.mdb METTI IL NOME DEL TUO DB
// PER ARUBA DI DEFAULT LA CARTELLA PER GLI MDB è fpdb SE LA TUA E' DIVERSA CAMBIALA
Dim cn : Set cn = Server.CreateObject("ADODB.Connection")
Dim strConn
strConn = "driver={Microsoft Access Driver (*.mdb)};dbq=" +Server.MapPath("fpdb/fotografie.mdb")
if SQL="" then
response.write("SQL non valido")
else
cn.open strConn
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open SQL, cn, , , adCmdText
dim i
do while not rs.eof
For i=0 To rs.fields.count-1 Step 1
risultato=rs(i)
response.write(risultato)
response.write(vbCrLf)
Next
rs.moveNext
loop
rs.close
set rs=nothing
End if
else
response.write("Password Non Valida!")
end if
%>
Ed ecco la seconda: sql.asp
codice:
<%
// Autore: kallo@rendon.it - http://www.rendon.it
// Data: 27 agosto 2004
// Content: Riceve query SQL tramite GET e la ESEGUE escluse le SELECT
// MODIFICA LA PASSWORD CON UNA DI TUA SCELTA
if Request("p") = "password" then
dim SQL
SQL = Request("SQL")
Dim cn : Set cn = Server.CreateObject("ADODB.Connection")
Dim strConn
// AL POSTO DI database.mdb METTI IL NOME DEL TUO DB
// PER ARUBA DI DEFAULT LA CARTELLA PER GLI MDB è fpdb SE LA TUA E' DIVERSA CAMBIALA
strConn = "driver={Microsoft Access Driver (*.mdb)};dbq=" +Server.MapPath("fpdb/database.mdb")
if SQL="" then
response.write("SQL non valido")
else
cn.open strConn
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open SQL, cn, , , adCmdText
rs.close
set rs=nothing
End if
else
response.write("Password Non Valida!")
End if
%>
Ed infine il nostro buon PHP access.php
codice:
<?
// Autore: kallo@rendon.it - http://www.rendon.it
// Data: 27 agosto 2004
// La Password che ho definito nei due file .asp
$password= "password"
// La SELECT che voglio eseguire
$query="SELECT * FROM immagini";
$query=urlencode($query);
$select=file("http://www.ilmiosito.it/select.asp?SQL=$query&p=$password");
foreach($select as $riga){
// Restituisce in echo a video il valore campo per campo di ogni record
// si può mettere il tutto il un bell'array o faci qualunque altra cosa...
echo $riga;
}
// Voglio una INSERT? un UPDATE? un DELETE? o quanto altro?
$query="INSERT INTO ecc..";
$query=urlencode($query);
$select=file("http://www.ilmiosito.it/sql.asp?SQL=$query&p=$password");
?>