venerdì 31 ottobre 2008
[ASP] - Data compresa entro un giorno limite
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
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
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
<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
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
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
'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
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
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
Basta inserire nell'HREF dell'HTML:
[SQL] [ASP] - INSERT
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
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
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
[JAVASCRIPT] - Chiudere una finestra o una PopUp
[JAVASCRIPT] - Conferma di eliminazione
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
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
<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
Segnalo anche un altro utilissimo sito:
VulnerabilityAssessment
che fornisce anche un archivio con login e password e non solo.
[UTILITIES] - Ripristinare file di sistema Windows
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
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
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 == "item"'>
<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
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
http://www.blogcrowds.com