venerdì 31 ottobre 2008

[ASP] - Data compresa entro un giorno limite

Ho dei video in un DB.
Se un video è stato inserito da meno di 7 giorni voglio che mi appaia una immagine con scritto NEW.

<%
gg=day(Date())
if gg < 10 then gg="0" & gg end if
mm=month(Date())
if mm < 10 then mm="0" & mm end if
aa=year(Date())

'data=aa & mm & gg

'Faccio una query al DB prendendo la data dell'ultimo video inserito
set rs_new=Server.CreateObject("ADODB.RecordSet")
qry_new="SELECT TOP 1 data_ins FROM tvideo ORDER BY id_video DESC;"
rs_new.Open qry_new,conn

'controllo che il db non sia vuoto
if not rs_new.EOF then

'CDATE trasforma in DATA
'data inserimento ULTIMO VIDEO
data_inserimento=cdate(mm&"/"&gg&"/"&aa)

'DATA DI OGGI (è in formato MM/GG/AAAA)
data_oggi= date()
'response.write y
'numero giorni per la quale un video è considerato NEW
giorni_novita = 7

'data limite per la quale il video è ancora considerato NEW
data_limite = data_oggi - giorni_novita
'response.write data_limite

'se la data di inserimento dell'ultimo video è compresa tra la data di oggi e il giorno limite in cui è considerato NEW...
if not data_inserimento < data_limite then

'spunta l'immagine NEW
%>
<img src="images/new.gif" width="30" height="15" align="absmiddle">
<%
end if
end if
%>

giovedì 30 ottobre 2008

[LINK] - Segnalare URL a Google per Motore di Ricerca

E' possibile segnalare a GOOGLE l'esistenza del nostro sito andando in questa pagina:

http://www.google.it/intl/it/add_url.html

Citando la pagina di Google sopra indicata:
"Il nostro crawler aggiunge nuovi siti all'indice ed aggiorna quelli esistenti dopo ogni scansione della rete. In alternativa, è possibile inviarci direttamente l'URL. È importante ricordare che non tutti gli URL segnalatici vengono aggiunti all'indice. Non possiamo quindi fornire indicazioni in merito ai tempi né garantire l'inserimento dell'URL segnalato nell'indice."

[ASP] - Suddivisione DATA

SUDDIVISIONE DATA IN ASP

Visualizza l'ora nel formato 12hr:
Codice: <%= time %>
Output HTML: 4:57:45 AM
Visualizza la data e l'ora in 12hr format:
Codice: <%= now %>
Output HTML: 6/06/99 4:57:45 AM
Visualizza giorno, mese, anno, in formato esteso
Codice: <% Response.Write(FormatDateTime(Now(),1) & " " )%>
Output HTML: Tuesday, April 20, 1999
Visualizza solo la data nel formato breve
Codice: <% Response.Write(FormatDateTime(Now(),2) & " " )%>
Output HTML: 6/06/99
Visualizza l'ora nel formato 12hr
Codice: <% Response.Write(FormatDateTime(Now(),3) & " " )%>
Output HTML: 4:57:45 AM

Visualizza l'ora nel formato 24hr:
Codice: <% Response.Write(FormatDateTime(Now(),4) & " " )%>
Output HTML: 04:54
Visualizza il nome del mese corrente
Codice: <%=MonthName(Month(Date))%>
Output HTML: April
Visualizza il numero del giorno della settimana corrente:
Codice: <%=WeekDay(Date)%>
Output HTML: 3
Visualizza il numero sul calendario del giorno corrente:
Codice: <%=Day(Date)%>
Output HTML: 20
Visualizza l'anno corrente:
Codice: <%=Year(Date)%>
Output HTML: 1999


OTTENERE UN GIORNO DELLA SETTIMANA
<%
response.Write(WeekDayName(1))
response.Write("<br />")
response.Write(WeekDayName(2))
%>

OUTPUT:
Sunday
Monday


NOME DELLA SETTIMANA ABBREVIATO:
<%
response.Write(WeekDayName(1,true))
response.Write("<br />")
response.Write(WeekDayName(2,true))
%>

OUTPUT:
Sun
Mon


GIORNO DELLA SETTIMANA ODIERNO
<%
response.Write(WeekdayName(weekday(date)))
response.Write("<br />")
response.Write(WeekdayName(weekday(date), true))
%>

OUTPUT:
Monday
Mon

[SQL] [ASP] - SELECT con selezioni dal DB

<select name="nome_select">
<option value=""selected>Seleziona qualcosa...</option>

<%
CNN=Application("CNN")
'imposta la connessione al database
Set objConn=Server.CreateObject("ADODB.Connection")

'apre la connessione al database
objConn.Open CNN

Set rs = Server.CreateObject("ADODB.Recordset")

sql = "SELECT * FROM nome_tabella ORDER BY nome_campo ASC"
rs.open sql, objconn
'se la query restituisce qualcosa..
if not rs.eof then
'ciclo fin quando la query estrae dati dal db
do until rs.eof

%>
<option value="<%= rs("campo1_estratto_dal_db")%> - <%=rs.fields("campo2_estratto_dal_db")%>">
<%= rs("campo1_estratto_dal_db")%> - <%=rs2("campo2_estratto_dal_db")%>
</option>

<%
rs.movenext
loop

end if

rs.close
set rs=nothing
conn.close
set conn=nothing
%>

</select>

[SQL] [ASP] - SELECT

CNN=Application("CNN")
set conn=Server.CreateObject("ADODB.Connection")
conn.open CNN
Set rs = Server.CreateObject("ADODB.Recordset")

qry="SELECT * FROM nome_tabella WHERE id = "& id &" ;"

rs.Open qry,conn

'se il db è vuoto...
if rs.eof then

'assegno 1 ad una variabile chiamata db_vuoto
db_vuoto = 1
%>

scrivo qualcosa in html...

<%
altrimenti...
else

'il db non è vuoto
db_vuoto = 0

nome_campo = rs.fields("nome_campo")

rs.MoveNext

rs.close
set rs = nothing
conn.close
set conn = nothing

[ASP] [SQL] - Visualizza i titoli dell ultime n notizie

Visualizzazione dei titoli di notizie precedenti.
L'ultima notizia sarà già visualizzata per intero (non presente in questo codice). Sotto quest'ultima notizia saranno visualizzati i titoli di n notizie passate nel formato xx/xx/xxxx (data) - Titolo Notizia.
Cliccando sul titolo si aprirà una popup con la visualizzazione della notizia per intero.
Il codice esclude il titolo dell'ultima notizia che è già visualizzata per intero.
NB.: l'href richiama una funzione Javascript non presente in questo codice ma di cui ho postato il codice precedentemente.

<%
'Connessioni al DB
CNN=Application("CNN")
set conn=Server.CreateObject("ADODB.Connection")
conn.open CNN

set rs=server.createobject("ADODB.recordset")

'seleziono il massimo id per escludere l'ultima notizia dalla visualizzazione
qry="SELECT MAX (id) as max_id FROM nome_tab WHERE parametri ;"
rs.Open qry,conn
id = rs.fields ("max_id")

Const CONST_DISPLAY = 3 'NUMERO DI NOTIZIE VISUALIZZATE
Dim i
Set rsQuery = Conn.Execute("SELECT * FROM nome_tabella WHERE parametro='parametro' AND (id < "&id&") ORDER BY id DESC")

'Se non ci sono notizie...
If rsQuery.EOF Then
%>
Dati in Aggiornamento...
<%
End If
'Altrimenti...
i = 1
While Not rsQuery.EOF And i <= CONST_DISPLAY
%>
<a href="javascript:openwindow('nome_popup.asp?id=<%=rsQUERY("id")%>','xxx<%=rsQUERY("id")%>',730,580,'yes' ,'no','1',5,4)">

'LCASE = Scrive TUTTO in minuscolo
'LEFT = TAGLIA i caratteri dopo l'n-esimo (in questo caso 29) e aggiunge "..."
<%= rsQuery("campo_data") %> - <% if (rsQuery("titolo")) > left (rsQuery("titolo"),65) then
Response.Write lcase(Left(rsQuery("titolo"),29)+"...")
else
Response.write lcase(replace(rsQuery("titolo")& "", VbCrLf, "<br/>"))
end if
%>
</a><br>
<%
rsQuery.MoveNext : i = i + 1
Wend

'Chiudo connessioni
rsQuery.close
set rsQuery =nothing
rs.close
set rs = nothing
%>

[SQL] [ASP] - SELECT MAX

Nella selezione del valore MASSIMO di un campo usare "AS" per assegnare il valore estratto al nome di un nuovo campo.

'apro connessioni al db
CNN=Application("CNN")
set conn=Server.CreateObject("ADODB.Connection")
conn.open CNN
set rs=server.createobject("ADODB.recordset")

'questa è la Query
qry="SELECT MAX (nome_campo_da_estrarre) AS max_nome_campo FROM nome_tabella WHERE qualcosa = ('in questo modo') AND (qualcosaltro='SI' OR qualcosaltro='NO') ;"

rs.Open qry,conn

'assegno ad una variabile il valore estratto
nome_variabile_campo_estratto = rs.fields ("max_nome_campo")

'stampo il valore
response.write nome_variabile_campo_estratto

mercoledì 29 ottobre 2008

[ASP] - TRIM e REPLACE

Le funzioni TRIM e REPLACE permettono rispettivamente di eliminare gli spazi e sostituire alcune parole chiave presenti in una variabile.
Alcuni caratteri particolari possono infatti dare problemi nell'inserimento in Database o durante il passaggio di tali valori a funzioni Javascript.

In questo caso sostituiamo gli "a capo" con il tag HTML br:
variabile= Replace(variabile, chr(13) & chr(10), "<br />")

Al contrario, quando ad esempio richiamiamo il testo in un campo di testo, sostituiamo di nuovo i br con gli "a capo":
replace(variabile & "", "<br />",VbCrLf )

In questo caso togliamo gli spazi dalla stringa contenuta variabile e sostituiamo l'apice singolo con i doppi apici.
variabile= Replace(Trim(variabile), "'", "''")

[SQL] [ASP] - DELETE

Cancellare dati da una tabella in SQL e ASP.

CNN=Application("CNN")
set conn=Server.CreateObject("ADODB.Connection")
conn.open CNN

qry="DELETE * FROM nome_tabella WHERE id= "& id &" ;"

'response.Write qry (in caso di errori)

conn.execute(qry)
conn.close
set conn=nothing

[JAVASCRIPT] - Tornare Indietro

Con questo codice Javascript è possibile tornare indietro di una pagina senza che i dati dei form vengano resettati.
Basta inserire nell'HREF dell'HTML:

javascript:history.back()

[SQL] [ASP] - INSERT

CNN=Application("CNN") 'connessione al Db

set conn=Server.CreateObject("ADODB.Connection")
conn.open CNN

qry = "INSERT INTO nome_tabella (nome_campo1, nome_campo2) VALUES ( '"&valore1& "', '"&valore2& "');"
'response.write(qry) in caso di errori...
'response.end() in caso di errori...
conn.execute(qry)

conn.close
set conn=nothing

[JAVASCRIPT] - Controllo campi numerici

Queste funzioni, INSIEME, controllano che i campi inseriti in una SELECT siano tutti numerici.

Nel campo di testo del form che dobbiamo controllare aggiungiamo
onBlur="check('numero')"

function isnumber(numero)
{
var numstr="0123456789";
var thischar;
var counter=0;
for(var i=0;i<numero.length;i++)
{
thischar=numero.substring(i,i+1)
if(numstr.indexOf(thischar) != -1)
counter++;
}
if(counter==numero.length)
return(true);
else
return(false);
}

function check(numero)
{
obj=eval("document.info."+ numero)
a=obj.value
if(isnumber(a)==false)
{
alert("Attenzione! Puoi inserire solo caratteri numerici")
obj.value=""
obj.focus()
}
}

[JAVASCRIPT] - Controllo numero caratteri

Questa funzione controlla che i caratteri in una select non siano più del numero passato alla funzione (in questo caso 70)

function number70(crt)
{
var counter=0
obj=eval("document.info."+crt)
data=obj.value
for (var i=0; i<data.length;i++)
{
if(i==70)
{
alert("attenzione:non puoi digitare più di 70 caratteri")
obj.value=""
obj.focus()
}
}
}

martedì 28 ottobre 2008

[JAVASCRIPT] - Stampare una pagina

L'HREF del link conterrà il carattere # mentre prima inserire il seguente codice:

onClick="javascript:window.print()"
href=”#”

[JAVASCRIPT] - Chiudere una finestra o una PopUp

Basta inserire questo pezzo di codice nell'HREF del link:

**javascript:window.close()**

[JAVASCRIPT] - Conferma di eliminazione

La seguente funzione attende la conferma dell'utente prima di cancellare l'elemento selezionato.

Ha bisogno della funziona gotopage()

Alla funziona passiamo i parametri del nome dell'elemento da cancellare e l'id che sarà poi passato alla pagina successiva per la cancellazione.

Dentro l'HREF ci sarà qualcosa del tipo:
javascript:cancel('<%=rs.fields("id")%>','<%=rs.fields("mail")%>')

(rs.fields: campi presi dal DB in ASP, possiamo mettere qualunque valore)

function gotopage(pPagina)
{
document.info.method="post";
document.info.action=pPagina;
document.info.submit();
}

function cancel (id, mail)
{
scelta=window.confirm("Attenzione hai scelto di eliminare " + mail + ". Premi Ok per proseguire oppure Annulla per annullare.")
if (scelta==true)
{
gotopage("indirizzo_delete.ext?id=" + id)
}
}

[JAVASCRIPT] - Controllo pulsanti RADIO

Questa funzione esegue un controllo su pulsanti RADIO di un form.

Lasciare la Action del Form vuota.
Aggiungere nella riga di dichiarazione del form onSubmit="return conferma(this);"

Dovrà esserci presente un normale pulsante SUBMIT.

<script language=”javascript”>
function conferma(theForm)
{
var a1=false
for(var k=0;k<theForm.elements['domanda1'].length;k++){
if (theForm.elements['domanda1'][k].checked) a1=true;
}
if(!a1){
alert('Attenzione! Non è stata selezionata alcuna risposta alla domanda 1');
return false;
}

var a2=false
for(var k=0;k<theForm.elements['domanda2'].length;k++){
if (theForm.elements['domanda2'][k].checked) a2=true;
}
if(!a2){
alert('Attenzione! Non è stata selezionata alcuna risposta alla domanda 2');
return false;
}

********* qui sotto non è un campo radio ma un campo d testo *********
var a5=false
if(!(document.info.commento1.value=="")) a5=true;
if(!a5){
alert('Attenzione! Non è stata inserita alcuna risposta nel campo 5');
return false;
}
*************************************************************
else
document.info.method="post";
document.info.action = "indice_gradimento_exe.asp";
document.info.submit()
}

</script>

[JAVASCRIPT] - Controllo Campi di testo e/o Select

Queste due funzioni insieme controllano che tutti i campi testo o delle Select non siano vuoti.

Se in ogni campo è stato scritto qualcosa procede e passa i valori alla pagina seguente con un metodo POST. Altrimenti apre una popup segnalando l'errore.

N.B.: La action del form deve essere vuota

Chiamare il form “info”


Il collegamento sarà un HREF con scritto:

** javascript:procedi('indirizzo.ext?visitato=true') **

(il campo visitato=true mi permette di portare alla pagina seguente un valore che potrebbe risultarmi utile.)


function gotopage(pPagina)
{
document.info.method="post";
document.info.action=pPagina;
document.info.submit();
}

function procedi(ind)
{

err=false //variabile che mi dice se ci sono errori
cont=0 //contatore errori
campi=0 //campo che non è stato valorizzato

str = new Array();
str[1] = "ruolo";
str[2] = "tipo_formazione";
str[3] = "offerta";
str[4] = "titolo";
str[5] = "descrizione";

if(document.info.ruolo.value=="")
{err=true;++cont;campi=1;}

if(document.info.tipo_formazione.value=="")
{err=true;++cont;campi=2;}

if(document.info.offerta.value=="")
{err=true;++cont;campi=3;}

if(document.info.titolo.value=="")
{err=true;++cont;campi=4}

if(document.info.descrizione.value=="")
{err=true;++cont;campi=5;}

if(err==false)
{
//possiamo andare avanti
gotopage(ind)
}
else
{
//messaggio di errore
if(cont!=1)
{
alert("Attenzione Non hai compilato alcuni campi obbligatori")
}
else
{
alert("Inserisci " + str[campi])
}
}
}

[JAVASCRIPT] - Aprire PopUp e parametri WINDOW.OPEN

Per aprire una nuova finestra in forma di POPUP utilizziamo questo esempio di codice:

<a onClick="javascript:window.open('PAGINA.EXT','NOME_FINESTRA',
'left=20,top=20,width=500,height=500,toolbar=1,resizable=0');">
pulsante, immagine o testo per aprire la popup </a>

ecco i parametri di WINDOW.OPEN:

toolbar=0|1 Specidifca se mostrare la TOOLBAR o no
location=0|1 Specifica se mostrare la linea dell'indirizzo URL
directories=0|1 Specifica se mostrare i èpulsanti di directory di Netscape
status=0|1 Specifica se mostrare la Status Bar del Browser
menubar=0|1 Specifica se mostrare il Menu Bar del browser
scrollbars=0|1 Specifica se la finestra debba avere o no le Scrollbars
resizable=0|1 Specifica se la finestra sia ridimensionabile
width=pixels Larghezza nuova finestra
height=pixels Altezza nuova finestra
top=pixels Specifica la coordinata Y rispetto al margine superiore sinistro della nuova finestra
left=pixels Specifica la coordinata Y rispetto al margine superiore sinistro della nuova finestra

lunedì 27 ottobre 2008

[UTILITIES] - Applicazioni Nascoste Windows XP

Ottima raccolta di applicazioni "nascoste" di windows xp. Basta cliccare su “start”->”esegui” ed inserire il file .exe per utilizzarli.

1) Character Map = charmap.exe (utile per ricercare caratteri inusuali)
2) Disk Cleanup = cleanmgr.exe
3) Clipboard Viewer = clipbrd.exe (vedi il contenuto degli appunti)
4) Dr Watson = drwtsn32.exe (Troubleshooting tool)
5) DirectX diagnosis = dxdiag.exe (Diagnose & test DirectX, video & sound cards)
6) Private character editor = eudcedit.exe (Ti permette di creare o modificare caratteri)
7) IExpress Wizard = iexpress.exe (Crea pacchetti di installazione/estrazione)
8 ) Microsoft Synchronization Manager = mobsync.exe (sincronizza file nel network quando lavori offline)
9) Windows Media Player 5.1 = mplay32.exe (Vecchia versione di Media Player).
10) ODBC Data Source Administrator = odbcad32.exe (qualcosa con i database)
11) Object Packager = packager.exe (per inserire file in pacchetti).
12) System Monitor = perfmon.exe (veramente utile,molto configurabile,ti permette di vedere le performance del tuo pc)
13) Program Manager = progman.exe (Legacy Windows 3.x desktop shell).
14) Remote Access phone book = rasphone.exe
15) Registry Editor = regedt32.exe [also regedit.exe] (per hackerare i registri di windows).
16) Network shared folder wizard = shrpubw.exe (create cartelle condivise in rete).
17) File siganture verification tool = sigverif.exe
18) Volume Contro = sndvol32.exe
19) System Configuration Editor = sysedit.exe (modifica System.ini & Win.ini).
20) Syskey = syskey.exe (database di account sicuri).
21) Microsoft Telnet Client = telnet.exe
22) Driver Verifier Manager = verifier.exe (verifica problemi con i driver).
23) Windows for Workgroups Chat = winchat.exe.
24) System configuration = msconfig.exe (controlla l’avvio di programmi)
25) gpedit.msc usato per gestire permessi e accessi degli utenti

Fonte: Technorati

[LINK] - Password Standard Router Modem

Elenco di tutte le Password Standard (di fabbrica) di Router e Modem

Segnalo anche un altro utilissimo sito:
VulnerabilityAssessment
che fornisce anche un archivio con login e password e non solo.

[LINK] - POP3 SMTP DNS IMAP4

[UTILITIES] - Ripristinare file di sistema Windows

Inserisci il cd di installazione del sistema operativo poi vai su start - esegui e digita
sfc /scannow
Il comando verifica ed eventualmente ripristina dal cd eventuali file di sistema mancanti o danneggiati.

[UTILITIES] - FAT e FAT32 in NTFS da Prompt dei comandi

Apri il prompt dei comandi facendo clic sul pulsante Start, scegliendo Tutti i programmi, quindi Accessori e infine Prompt dei comandi.

Nella finestra del prompt dei comandi digita

convert lettera_unità: /fs:ntfs

Ad esempio, digitando convert D: /fs:ntfs l'unità D: verrà formattata con NTFS. Utilizzando questo comando è possibile convertire i volumi FAT o FAT32 in NTFS.

Importante: Dopo aver convertito un'unità o una partizione in NTFS, non è possibile riconvertirla nel file system FAT o FAT32. In questo caso, sarà infatti necessario riformattare l'unità o la partizione con una conseguente cancellazione dei dati presenti sulla partizione, inclusi programmi e file personali.

[TUTORIAL] - Inserire Google AdSense tra i Post di Blogspot

Per inserire automaticamente AdSense all'inizio o alla fine del post è necessario copiarne il codice dentro il template, ma non è possibile farlo così come viene fornito da Google, bisogna prima modificarlo per farlo aderire allo standard XML usato da Blogger per i suoi template. Per farlo, generiamo il codice HTML da AdSense e utilizziamo PARSE EDITOR per trasformare in ASCII i tag HTML.

Incolliamo il codice AdSense e clicchiamo su Parse in fondo alla pagina, per ottenere il codice che utilizzeremo dentro il template.

L'utilizzo di questo strumento non viola i termini del contratto di AdSense, che prevede di non modificare il codice html degli annunci: infatti stiamo solo indicando alcuni caratteri con una "terminologia diversa", ma il risultato finale sarà lo stesso.

Quest'operazione si rende necessaria, ripeto, per far cambiate il codice XHTML di AdSense in codice XML usato da Blogger.

Inserire AdSense tra il titolo e il post

Una volta modificato il codice di AdSense come spiegato sopra, andate in Layout->Modifica HTML e, dopo aver selezionato "Espandi i modelli widget", cercate nel template la seguente riga di codice:

<div class='post-body'

e subito sopra incollategli il codice generato prima. Se volete, come nel mio caso, mostrare la pubblicità solo se viene visualizzato il singolo post e non sempre, dovrete racchiudere il codice modificato di AdSense tra le righe evidenziate in rosso:

<b:if cond='data:blog.pageType == &quot;item&quot;'>
<p>
Codice AdSense modificato
</p>
</b:if>

E inserirlo sempre nel punto indicato sopra. Salvate e visualizzate il blog.

Inserire AdSense alla fine del post prima dei commenti

Generate il codice AdSense e modificatelo come sopra, aggiungendo se volete le righe in rosso, ma inseritelo nel template dopo la seguente riga:

<p><data:post.body/></p>

Fatto!

Fonte: link

[LINK] - scrivere codice HTML senza che venga interpretato

Per poter scrivere del codice HTML senza che venga interpretato dall'editor, bisogna scrivere i codici ASCII dei caratteri che compongono i TAG.
Ad esempio al posto di < bisogna usare < e al posto di > invece >
tramite il link sotto è possibile scrivere tutto il codice e trasformare direttamente in poco tempo tutti i tag del codice.

[LINK] - blogcrowds.com

Il primo ringraziamento va a questo sito dal quale ho preso parecchio spunto per la realizzazione di questo Template.

http://www.blogcrowds.com