Sostituzione di stringhe
Quando si ha a che fare con delle stringhe, può essere molto
utile questa semplice funzione,
che sostituisce una stringa all'interno di un'altra
<%
miastringa = "io sono uno script" dasostituire = "sono" sostituirecon ="sarò" miastringanuova = Replace( miastriga, dasostituire, sostituirecon ) Response.write miastringa & "<BR>è diventata<BR>" &_ miastringanuova %> |
Come inviare un'e-mail utilizzando CDO
Ecco un esempio di codice ASP che consente di inviare utilizzando loggetto
CDO unemail da una qualsiasi pagina Active Server Pages.
<%
Dim strTo, strSubject, strBody
Dim objCDOMail
strTo = Request.Form("to")
strSubject = "Prova di invio E-mail"
strBody = "Prova di invio messaggio di postaelettronica"
strBody = strBody & vbCrLf & vbCrLf
strBody = strBody & "Sta per essere inviato a: "
strBody = strBody & Request.Form("to")
strBody = strBody & vbCrLf
If strTo = "" Or Not IsValidEmail(strTo) Then
%>
<FORM ACTION="./email_cdo.asp" METHOD="post">
Inserire indirizzo e-mail:<BR>
<INPUT TYPE="text" NAME="to"
SIZE="30"></INPUT>
<INPUT TYPE="text" NAME="subject"
SIZE="30"></INPUT><BR>
Message:
<TEXTAREA NAME="body" ROWS="10" COLS="40"
WRAP="
virtual"></TEXTAREA><BR>
<INPUT TYPE="submit" VALUE="Send Mail!"></INPUT>
</FORM>
<%
Else
Set objCDOMail = Server.CreateObject("CDONTS.NewMail")
objCDOMail.From = "Rossi Franco
<rossi@pippo.com>"
objCDOMail.To = strTo
objCDOMail.Subject = strSubject
objCDOMail.Body = strBody
objCDOMail.Send
Set objCDOMail = Nothing
Response.Write "Messaggio inviato a" & strTo & "!"
End If
%>
<%
Function IsValidEmail(strEmail)
Dim bIsValid
bIsValid = True
If Len(strEmail) < 5 Then
bIsValid = False
Else
If Instr(1, strEmail, " ") <> 0 Then
bIsValid = False
Else
If InStr(1, strEmail, "@", 1) < 2 Then
bIsValid = False
Else
If InStrRev(strEmail, ".") < InStr(1, strEmail,
"@", 1) + 2 Then
bIsValid = False
End If
End If
End If
End If
IsValidEmail = bIsValid
End Function
%>
Query Dinamiche
Con questo script si possono creare delle query dinamiche per cercare elementi
"sparsi" nel testo contenuto in un campo di database.
Per esempio se nel campo "corpo" c'è il seguente testo:
"Bari, varata la legge per i patti territoriali, che incentiveranno
lo sviluppo di imprese tecnologiche..."
Se ho una Textbox di ricerca in un form HTML dove posso scrivere qualsiasi
cosa da ricercare tra i testi contenuti nel campo "corpo" tipo:
<input type="text" name="articolo">
se la sql normale è del tipo:
key=request.form("articolo")
sql="select * from art where corpo like '%" & key &
"'%"
allora vediamo che succede alla ricerca della frase: "patti territoriali
Bari"
la sql diventa: select * from art where corpo like '%patti territoriali
Bari%'
che non dà alcun risultato perchè la frase non è
compresa nel testo.
Allora dobbiamo usare questo trucchetto:
<%
key=request.form("articolo")
sost ="%' and corpo like '%"
key2 = Replace(key," ", sost)
sql="select * from art where corpo like '%"&key2&"%'
order by data desc"
...
%>
così facendo la frase "patti territoriali di Bari",
viene spezzata e ogni spazio (blank) viene sostituito ,tramite la "Replace",
dalla frase "%' and corpo like '%" così la query diventa:
select * from art where corpo like'%patti%' and corpo like '%territoriali%'
and corpo like '%Bari%'
che cerca le tre parole nel testo, così facendo non è importante
l'ordine delle parole ma basta che esse siano presenti contemporaneamente
nel testo.
PER RISOLVERE IL PROBLEMA DELL'APICE NELLE QUERY:
<%
key=request.form("testo")
k = InStr(key, "'")
If k > 0 Then
strbuff = Mid(key, 1, k - 1)
lun_str = Len(key)
For k1 = k To lun_str
car = Mid(key, k1, 1)
If car = "'" Then car = "'" & "'"
strbuff = strbuff & car
Next
key = strbuff
End If
%>
Come connettersi ad un database MySql con ASP.
1) Scaricare il driver ODBC da http//www.mysql.com/downloads/api-myodbc.html
2) poi
<%
Set Conn = Server.CreateObject("ADODB.Connection")
‘ Impostiamo i parametri di connessione
Conn.CommandTimeout = 40
Conn.ConnectionTimeout = 40
Conn.CursorLocation = 3
Conn.ConnectionString="server=127.0.0.1;db=NameofDatabase;driver=MySQL;uid=root;pwd=password"
‘ server = nome del sever o numero di IP, db = nome del database, driver =
nome del ODBC driver, uid = nome utente chi ha il permesso di connettersi al
database, pwd = password per uid
‘ aprire la connessione
Conn.Open
%>
Connettersi ad SQL Server
Conn.Open "PROVIDER=MSDASQL;DRIVER={SQL
Server};SERVER=nanni;DATABASE=db1;UID=;PWD=;"
|