Articoli Vari Sicurezza informatica E-Mail
Home
Chi sono

Corso Computer Forensics

Digital Sherlock

E-AnaLAB

Onphalos romanzo

XScrivere FORUM

Corso di ASP

Chat in ASP

Corso Windows NT

Information Security

XHTML

Dal WML all'ASP

Linux Slackware

Download

Cool Links

CTU/CTP Bari

My Blog

  Nanni Bassetti's Web Site


indietro

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 l’oggetto CDO un’email 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=;"


Google
©2005 - NBS di Giovanni Bassetti | P.Iva 06178780729