Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
Tesina - Premio maturità 2009
Titolo: Blog: Le armi della Prima guerra mondiale
Autore: De sica Tommaso
Descrizione: e' stato realizzato per intero un blog: programmazione pagine, interazione col database, gestione utenti, discussioni, commenti, aspetti grafici... tale blog è stato riempito con argomenti di carattere storico: le armi della prima guerra mondiale. tali
Materie trattate: Informatica, Storia
Area: tecnologica
Sommario: Programmazione di pagine web dinamiche mediante linguaggi asp/sql, interazione col database mediante linguaggio SQL, contenuti storici: le armi della Prima grande guerra (equipaggiamenti dei soldati, mitragliatrici, gas letali, carri armati, aviazione).
</div>
</body>
</html>
InserimentoDiscussione.asp
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Inserimento Discussione</title>
<!--Ultima modifica: 22/04/2009-->
</head>
<body>
<!--#include file="DBConn.inc"-->
<% objConn.Open() 'Apri oggetto connessione
Set objRs=Server.CreateObject("ADODB.Recordset")
Dim query
query="SELECT ID_utente,nickname,blogger FROM Utente WHERE nickname='" +
Session("User") + "' AND blogger<>'No'" 'Query per prelevare l'ID_utente da DB se
l'utente ha effettuato il login ed è abilitato alla visione della pagina
objRs.Open query,objConn 'Apertura tabella ed esecuzione della select
If objRs.EOF then 'Controlla che la query abbia dato un risultato
objRs.Close
objConn.Close
Response.Write("<p>Errore! Non hai i privilegi per aprire la
pagina!</p>")
Response.Write("<a href='Default.asp'>Back</a>")
Response.End()
else idUtente=objRS("ID_utente")
objRs.Close
objConn.Close
'Prendi informazioni inserite nel form precedentemente
titolo=Request.Form("txtTitolo")
descrizione=Request.Form("txtDescrizione")
testo=Request.Form("txtDiscussione")
if titolo = "" then 'Controlla che il titolo non sia vuoto
Response.Write("<p>Errore! Non hai inserito il titolo!</p>")
Response.Write("<a href='NuovaDiscussione.asp'>Back</a>")
Response.End()
End if
if testo = "" then 'Controlla che il testo non sia vuoto
Response.Write("<p>Errore! Non hai inserito il testo della
discussione!</p>")
Response.Write("<a href='NuovaDiscussione.asp'>Back</a>")
Response.End()
End if
'Sostituzione nei vari campi degli apici con i doppi apici
titolo=Replace(titolo,"'","''")
testo=Replace(testo,"'","''")
descrizione=Replace(descrizione,"'","''")
titolo=Replace(titolo,"à","à")
testo=Replace(testo,"à","à")
descrizione=Replace(descrizione,"à","à")
titolo=Replace(titolo,"è","è")
testo=Replace(testo,"è","è")
descrizione=Replace(descrizione,"è","è")
titolo=Replace(titolo,"ì","ì")
testo=Replace(testo,"ì","ì")
descrizione=Replace(descrizione,"ì","ì")
15
titolo=Replace(titolo,"ò","ò")
testo=Replace(testo,"ò","ò")
descrizione=Replace(descrizione,"ò","ò")
titolo=Replace(titolo,"é","è")
testo=Replace(testo,"é","è")
descrizione=Replace(descrizione,"é","è")
titolo=Replace(titolo,"ù","ù")
testo=Replace(testo,"ù","ù")
descrizione=Replace(descrizione,"ù","ù")
objConn.Open() 'Apri oggetto connessione
query="INSERT INTO Discussione (titolo,descrizione,testo,data,ID_utente)
VALUES ('" + titolo + "','" + descrizione + "','" + testo + "',GetDate(),'" +
Cstr(idUtente) + "')" 'Query per l'immisione dei dati nel DB GetDate è una funzione
sql per prendere la data e l'ora (formato datetime)
objConn.Execute query 'Esecuzione query inserimento
objConn.Close
Response.Redirect("Discussioni.asp") 'Reindirizza alla pagina iniziale
End if
%>
</body>
</html>
Commenti.asp
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Commenti</title>
<link rel="Stylesheet" type="text/css" href="Stile.css" />
<!--Ultima modifica: 16/06/2009-->
</head>
<body>
<div class="defDivCommenti">
<!--#include file="DBConn.inc"-->
<%Dim id
id=Request.QueryString("id_disc") 'Recupero dell'id della discussione dalla
querystring
Dim objRsDisc
Set objRsDisc=server.createobject("ADODB.Recordset")
Dim queryDisc
queryDisc="SELECT * FROM Discussione WHERE ID_discussione='"+id+"'" 'Query per
prendere la discussione tramite l'id inviato nella querystring
objConn.Open
objRsDisc.Open queryDisc,objConn
%>
<!--Stampa discussione-->
<div>
<h3><%=objRsDisc("titolo")%></h3><br />
<h5><%=objRsDisc("descrizione")%></h5>
</div>
<div>
<span>Inviata il <%=objRsDisc("data")%></span>
</div>
<div>
<%=objRsDisc("testo")%>
</div>
<br />
<br />
<br />
<h4>Commenti:</h4><br />
<%objRsDisc.Close 16
objConn.Close
Dim query
query="SELECT * FROM Commento C JOIN Utente U ON C.ID_utente=U.ID_utente WHERE
C.ID_discussione='"+id+"'" 'Query per prendere i commenti alla discussione e gli
utenti che gli hanno lasciati
Dim objRs
Set objRs=Server.CreateObject("ADODB.Recordset")
objConn.Open
objRs.Open query,objConn
Dim boolC
boolC=False
Do While Not objRs.EOF
boolC=true%>
<div>
<img src="<%=objRs("avatar")%>" alt="avatar" />
<span><%=objRs("nickname")%> commenta:</span>
</div>
<br />
<div>
<%=objRs("testo")%>
</div>
<hr />
<%objRs.MoveNext
Loop
objRs.Close
objConn.Close
If boolC=false Then 'Se non ci sono commenti stampa un opportuno messaggio
%> <span>Non ci sono ancora commenti alla discussione!</span>
<%End If
If Session("User")<>"" Then 'Se l'utente è registrato mostra un form per l'invio
di un nuovo commento%>
<form name="frmCommento" action="NuovoCommento.asp" method="post">
<br />
<br />
<h5>Invia un commento:</h5>
<br />
<table>
<tr> <td colspan="2">
Commento inviato da: <%=Session("User") %>.
</td>
</tr>
<td colspan="2">
Testo del commento:
</td>
</tr>
<tr> <td> <textarea id="txtCommento" name="txtCommento" cols="81" rows="10"
/></textarea> <input type="hidden" name="hDisc" value="<%=id%>" />
</td>
</tr>
<tr> <td colspan="2">
<input type="submit" id="btnInvia" name="btnInvia" value="INVIA"
/> </td>
</tr>
</table>
</form>
<%End If %> 17
<br /><a href="Discussioni.asp">Back</a>
</div>
</body>
</html>
NuovoCommento.asp
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Nuovo Commento</title>
<!--Ultima modifica: 22/04/2009-->
</head>
<body>
<!--#include file="DBConn.inc"-->
<%If Session("User")="" Then 'Controlla che l'utente sia loggato
Response.Write("<p>Error!</p>")
Response.Write("<form><input type='button' value='Back'
onClick='javascript:history.back()' name='butBack'></form>")
Response.End
End If
If Request.Form("txtCommento")="" Then 'Controlla che l'utente abbia inserito un
testo Response.Write("<p>Errore! Inserisci un commento!</p>")
Response.Write("<form><input type='button' value='Back'
onClick='javascript:history.back()' name='butBack'></form>")
Response.End
End If
Dim queryUt
queryUt="SELECT ID_utente FROM Utente WHERE nickname='"+Session("User")+"'"
'Prendi l'id dell'utente collegato
Dim idut
Dim objRsU
Set objRsU=server.createobject("ADODB.Recordset")
objConn.Open
objRsU.Open queryUt,objConn
idut=objRsU("ID_utente")
objRsU.Close
objConn.Close
Dim query
Dim testo
testo=Request.Form("txtCommento")
testo=Replace(testo,"'","''")
testo=Replace(testo,"à","à")
testo=Replace(testo,"è","è")
testo=Replace(testo,"ì","ì")
testo=Replace(testo,"ò","ò")
testo=Replace(testo,"é","è")
testo=Replace(testo,"ù","ù")
query="INSERT INTO Commento(testo,ID_utente,ID_discussione)
VALUES('"+testo+"',"+CStr(idut)+","+Request.Form("hDisc")+")"
objConn.Open
objConn.Execute query 'Esecuzione query inserimento
objConn.Close
Dim url
url="Commenti.asp?id_disc="+Request.Form("hDisc")
Response.Redirect(url)'Manda alla pagina dei commenti della discussione%>
</body>
</html>
Registrazione.asp 18
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Nuovo Utente</title>
<link href="Stile.css" rel="stylesheet" type="text/css" />
<!--Ultima modifica: 19/04/2009-->
</head>
<body class="regBody">
<form id="frmRegistrazione" runat="server" action="ConfermaReg.asp" method="post"
> <table>
<tr> <td> Scegli un Nickname:</td>
<td> <input type="text" id="txtUsername" name="txtUsername"
maxlength="15" />*</td>
</tr>
<tr> <td> Scegli una Password:</td>
<td> <input type="password" id="txtPassword" name="txtPassword"
maxlength="15" />*</td>
</tr>
<tr> <td> Reinserisci la Password:</td>
<td> <input type="password" id="txtPassword2" name="txtPassword2"
maxlength="15" class="regTxtConf" />*</td>
</tr>
<tr> <td> Inserisci la tua mail:</td>
<td> <input type="text" id="txtEmail" name="txtEmail" maxlength="40"
/>*</td> </tr>
<tr> <td> Reinserisci la tua mail:</td>
<td> <input type="text" id="txtEmail2" name="txtEmail2" maxlength="40"
class="regTxtConf" />*</td>
</tr>
<tr> <td> <strong>
Dati personali:
</strong>
</td>
</tr>
<tr> <td> Nome:</td>
<td> <input type="text" id="txtNome" name="txtNome" />*</td>
</tr>
<tr> <td> Cognome:</td> 19
<td> <input type="text" id="txtCognome" name="txtCognome" />*</td>
</tr>
<tr> <td> Inserisci la tua data di nascita:</td>
<td> <select name="selGiorno">
<option selected="selected" value="1">1</option>
<%For i=2 to 31
Response.Write("<option
value='"+Cstr(i)+"'>"+Cstr(i)+"</option>")
Next %>
</select>
<select name="selMese">
<option selected="selected" value="1">Gennaio</option>
<option value="2">Febbraio</option>
<option value="3">Marzo</option>
<option value="4">Aprile</option>
<option value="5">Maggio</option>
<option value="6">Giugno</option>
<option value="7">Luglio</option>
<option value="8">Agosto</option>
<option value="9">Settembre</option>
<option value="10">Ottobre</option>
<option value="11">Novembre</option>
<option value="12">Dicembre</option>
</select>
<select name="selAnno">
<option selected="selected" value="1930">1930</option>
<%For i=1931 to Year(Now())
Response.Write("<option
value='"+Cstr(i)+"'>"+Cstr(i)+"</option>")
Next %>
</select>*</td>
</tr>
<tr> <td colspan="2" align="center">
<input type="submit" value="Conferma" id="btnSubmit"
name="btnSubmit" />
</td>
</tr>
</table>
<p> I campi contrassegnati da * sono obbligatori.
</p>
</form>
<a href="Discussioni.asp">Back</a>
</body>
</html>
ConfermaReg.asp
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Conferma avvenuta registrazione!</title>
<!--Ultima modifica: 14/06/2009-->
</head>
<body>
<!--#include file="DBConn.inc"-->
<% 20
If Not (Request.Form("txtPassword") = Request.Form("txtPassword2")) Then
'Controlla che le due password inserite siano uguali
Response.Write("<p>Errore! Le due password inserite non sono
uguali!</p>")
Response.Write("<a href='Registrazione.asp'>Back</a>")
Response.End()
End If
If Not (Request.Form("txtEmail") = Request.Form("txtEmail2")) Then 'Controlla
che le due mail inserite siano uguali
Response.Write("<p>Errore! I due indirizzi Email inseriti non sono
uguali!</p>")
Response.Write("<a href='Registrazione.asp'>Back</a>")
Response.End()
End If
'Prendi informazioni inserite
nome = Request.Form("txtNome")
cognome = Request.Form("txtCognome")
nick = Request.Form("txtUsername")
pass = Request.Form("txtPassword")
mail = Request.Form("txtEmail")
giorno = Request.Form("selGiorno")
mese = Request.Form("selMese")
anno = Request.Form("selAnno")
If ((mese=4 Or mese=6 Or mese=9 Or mese=11) And (giorno=31)) Then 'Controlla
che la data inserita esista
Response.Write("<p>Errore! La data non è valida!</p>")
Response.Write("<a href='Registrazione.asp'>Back</a>")
Response.End()
End If
If (mese=2 And giorno>29) Then
Response.Write("<p>Errore! La data non è valida!</p>")
Response.Write("<a href='Registrazione.asp'>Back</a>")
Response.End()
End If
If nome = "" Or cognome = "" Or mail = "" Or nick = "" Or pass = "" Then
'Controlla che non ci siano campi vuoti
Response.Write("<p>Hai lasciato alcuni campi vuoti; torna indietro e
riempi tutti i campi!</p>")
Response.Write("<a href='Registrazione.asp'>Back</a>")
Response.End()
End If
objConn.Open() 'Apri oggetto connessione
Set objRs=Server.CreateObject("ADODB.Recordset")
query="SELECT nickname FROM Utente" 'Query per prelevare tutti i nickname e
password da DB
objRs.Open query,objConn 'Apertura tabella
Do While Not objRs.EOF 'Scandisci tutti i record
If (Request.Form("txtUsername")=objRs("nickname")) Then 'Controlla che il
nickname non sia già utilizzato
Response.Write("<p>Errore! Il nick inserito e' gia' in uso!</p>")
Response.Write("<a href='Registrazione.asp'>Back</a>")
Response.End()
End If
objRs.MoveNext 'Si muove al record successivo
Loop
objRs.Close
objConn.Close 'Chiude l'oggetto connessione
objConn.Open() 'Apri oggetto connessione
Dim query
'Query locale
query="INSERT INTO Utente