Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Vogliamo degli altri in Ufficio?

Gestire più utenti nel pannello di controllo.
Gestire più utenti nel pannello di controllo.
Link copiato negli appunti

Adesso abbiamo le News e il Feedback. Il concetto delle News lo possiamo applicare in molte maniere. Potremmo permettere, ad esempio, che i nostri utenti le inseriscano da soli. Diciamo che invece di news sono degli avvenimenti pubblici ed è nell'interesse del cliente mantenerli in regola. Credi di saperlo fare questo? 
Cosa bisogna fare?

  1. costruire una form per l'applicazione del cliente
  2. entrare I dati del cliente nelil database
  3. generare la password e mandargliela per email 
  4. provvedere il cliente con un attrezzo per mantenere le sue pagini (solo le sue)

Ecco la form che non presenta nessun problema

<%
'--------------------------------------------------------
'Purpose: Raccogli i dati del cliente
'Date: 7 Aprile 2001
'Commenti: 
'--------------------------------------------------------
%>
<html>
<head>
<title>Dati del cliente</title>

Qui adoperiamo Javascript per validare il contenuto della form. Fare queste cose sul browser è molto più logico che dover fare un altro salto sul server

<script language="JavaScript">
<!--
function submitIt(theform) {
if (theform.nome.value == "") {
alert("Per favore entra il tuo nome...") 
theform.nome.focus()
}
if (theform.cognome.value == "") { 
alert("Per favore entra il tuo cognome...") 
theform.cognome.focus() 
return false
}
if (theform.email.value == "") { 
alert("Per favore entra il tuo email...") 
theform.email.focus() 
return false


-->
</script>
</head>

e qui mettiamo semplicemente il focus sulla prima text box, ossia il nome

<body OnLoad="Javascript:document.frm_client.nome.focus();">
<div align="center">

Quando viene attivato l'evento OnSubmit chiamiamo la routine in Javascript che controllo se le text boxes che vogliamo noi sono state riempite o no.

<form ACTION="metti_aggiungi_cliente.asp" name="frm_cliente" method="post" OnSubmit="return submitIt(this)">
<table width="60%" border="0" cellpadding="6" cellspacing="0" bgcolor="darkorange">
<tr>
<th align=left><font color="white">Per favore entra i necessari dati:</font></th>
</tr>
<tr>
<td align=center>
<table width="100%" border="0" cellpadding="6" cellspacing="6" bgcolor="#ffcc99">
<tr>
<td align="right">Nome:</td>
<td><input type="text" name="nome" size=20></td>
</tr>
<tr>
<td align="right">Cognome:</td>
<td><input type="text" name="cognome" size=20></td>
</tr>
<tr> 
<td align="right">Your email:</td>
<td><INPUT TYPE="Text" name="email" size=40></td>
</tr>
</table>
</td>
</tr>
<tr> 
<td align="center"><INPUT TYPE="Submit" name="submit" value="Manda">
<input type="Reset" value="Cancella"></td>
</tr>
</table>
</form>
</div>
</body>
</html>

Ed ecco metti_aggiungi_cliente.asp che 

  1. raccoglie i dati 
  2. genera la password 
  3. inserisce i dati nel database
  4. manda un email al cliente

<%
Option Explicit
'------------------------------------------------------------------------
'Description : raccoglie i dati del cliente
'Comments : 
'Date Built : 7 Aprile 2001
'------------------------------------------------------------------------
Dim nome, cognome, email, password, data_ricevuto
Dim strConn, objConn, objRs, strsql
%>
<!--#include file="adovbs.inc"-->
<%
'costruisci password
password = genera_pwd()
'vendemmia la form
nome = Request.Form("nome")
cognome = Request.Form("cognome")
email = Request.Form("email")
data_ricevuto = Date()
'metti dentro al database
strConn = Application("dbconn")
strsql = "INSERT INTO tbl_login (nome, cognome, login1, password1, data_ricevuto, email)" 
strsql = strsql & " Values('" 
strsql = strsql & nome & "','"
strsql = strsql & cognome & "','"
strsql = strsql & nome & "','"
strsql = strsql & password & "',#"
strsql = strsql & data_ricevuto & "#,'"
strsql = strsql & email & "')"
%>

Non so se hai notato che ho dovuto cambiare il nome del login e password nella tbl_login. Li ho semplicemente cambiati con un 1. Il perché? Quando ho usato questa pagina mi ha data un errore nella query ma la sintassi era giusta. Cosi ho fatto un <% response.write strsql %> ho guardato alla query, l'ho inserita nel motore query di Access e mi ha funzionato alla perfezione. Deve avere a che fare con parole riservate. È sempre meglio usare notazioni giuste per le variabili. 

<%
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open strConn
Set objRs = objConn.Execute(strsql)
objConn.close
set objConn = Nothing
'molte grazie...
Response.write "<div align=center>"
Response.write "<br><br><br><br><br><br>"
Response.write "<font size=+1 color=midnightblue face=verdana>" 
Response.write "Il tuo nome è stato aggiunto al nostro database.<br>"
Response.write "La password ti arrivera' in un minuto... via email. <br>"
Response.write "Grazie per l'aiuto."
Response.write "</font></div>"
'e via la posta
call manda_posta(nome,password,email)
'pulisci e chiudi
objRs.close
Set objRs = Nothing
'--------------------------------------------------------------------
Function genera_pwd()
'---------------------------------------------------------------------
' Description : Generates a password
' Date Created : 11-04-2001
' Comment : 
'---------------------------------------------------------------------
Dim i, x
Dim chars(36)
Dim pwd(8)
x = 0 
'a-z
for i = 97 to 122
chars(x) = chr(i)
x = x + 1
next
'0-9
for i = 48 to 57
chars(x) = chr(i)
x = x + 1
next
password = "" 
For i = 1 to 8
Randomize
password = password & chars(Int(UBound(chars) - LBound(chars) + 1) * Rnd + LBound(chars))
next
genera_pwd = password
end Function
'------------------------------------------------------
Sub manda_posta(nome,password,email)
'-------------------------------------------------------
'Purpose: manda la email
'Date: 10 March 2001
'Commenti: 
'-------------------------------------------------------- 
Dim objMail, messaggio
messaggio = "Grazie per ......"
messaggio = messaggio & VBcrlf & "login = " & nome 
messaggio = messaggio & VBcrlf & "password = " & password
Set objMail = Server.CreateObject("CDONTS.NewMail")
objMail.From = "latuaemail"
objMail.To = email
objMail.Subject = "Grazie per..."
objMail.Body = messaggio
objMail.importance = 0
objMail.Send
Set objMail = Nothing
end sub
%>

L'unica cosa da fare qui è costruire le pagine che permettono ai tuoi utenti di mantenere i loro dati.
Di sicuro questo ormai lo puoi fare anche da solo. In pratica è quasi uguale alle news. L'unica cosa è che devi organizzare le query con
(where id = id) così che ogni cliente ha accesso alla sua area soltanto. Forse è sempre meglio se passi questo valore nell'oggetto
Request.QueryString da una pagina all'altra.

Ti consigliamo anche