Area privata e accesso

  • Autore discussione Autore discussione Heles
  • Data d'inizio Data d'inizio
Pubblicità
Usare un Db per archiviare gli account direi che è un passo obbligatorio e in se non è na robba complicata anzi... ma bisogna avere un minimo background di programmazione e db... partire da zero è un po arduo ci sono molti argomenti ecco i passi:

ipotizziamo l'uso di access come db, ecco un esempio (molto semplificato)

- creazione del db MioDb
- creazione della tabella Utenti
- creazione dei campi della tabella:
IdUtenti contatore
Uname alfanumerico 50 caratteri
Pwd alfanumerico 50 caratteri

Il db deve risiedere in una cartella del server IIS con accesso in lettura/scrittura

ora serve il codice ASP per connettersi al Dd, ti suggerisco di fare un file asp da includere in tutte le pagine dove hai necessità di connetterti al db questo ti semplificherà la manutenzione del sw in futuro:

chiamiamo questa pagina DataSource.asp

<%

''''apertura connessione db
if session("DataConn")="" then attacca_db
If Not IsObject(Session("Database_Connection")) Then
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open Session("DataConn")
Session("Database_Connection") = conn
Else
Conn = Session("Database_Connection")
End If
'''fine apertura
sub attacca_db()
mio_percorso=Server.MapPath("/cartella del server/MioDb.mdb")
Set conn = Server.CreateObject("ADODB.Connection")
Session("DataConn") = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& mio_percorso
end sub
%>


ora la pagina di accesso:

nome accedi.asp

<!-- #include file="./datasource.asp" -->
<%

Set rs = Server.CreateObject("ADODB.Recordset")
userid=replace(Request.Form("Uname"),"'","''")
userpw=replace(Request.Form("Pwd"),"'","''")
sqlcomm="select * from utenti where Uname='"&userid & "' AND Pwd='" & userpw & "'"
rs.Open sqlcomm,Conn , 1, 3
if not rs.eof then
' utente validato
rs.Close
Response.Redirect "Pagina_seguente.asp"
else
' utente non validato ripeti la richiesta di log
rs.Close
Response.Redirect "PaginaDiLogin.asp"
end if
set rs=nothing
%>

di + nin sò ;)
 
ah, ok ti ringrazio!!
potresti gentilmente dirmi qualcosa di più sull'oggetto ADODB? in cosa consiste? e come lo uso?

grazie ancora!!!

Heles

:)
 
L'oggetto ADODB è l'oggetto Microsoft per la gestione dei database.

Lo si usa tramite Record Set (se cerchi nel codice enonva l'ha chiamato rs, esempio: rs query, conn [dove query è la query che vuoi effettuare sul database], ricorda di non usarlo per le proiezioni!), oppure puoi usare direttamente conn (questo invece SOLO per le proiezioni).
;)
 
mh.... però non ho le basi sufficienti per poter seguire le istruzioni che mi dai Alastor; :doh:
è possibile trarre maggiori informazioni da qualche fonte?

grazie

Heles

:)
 
ok!!
adesso non mi resta che studiare le fonti linkate..... speriamo in bene!! :rolleyes:

posso ricontattarvi nel caso?

grazie a tutti!!

Heles

:)
 
Login

ciao a tutti...

ho realizzato un sito in html, al cui interno desideravo creare un'area riservata. Però non riesco a creare il file che autorizza il login e che controlla i dati nel database. Come programma uso adobe dreamweaver. Qualcuno può aiutarmi????:help:

Grazie:)
 
Col solo html non puoi interrogare il database ti serve php od asp. Se vuoi restare in ambito "solo html" dovresti creare l'area riservata dal lato server (il pannello di controllo del sito) solo se tale opzione è disponibile (sarebbe una voce tipo "directory protette").
 
Graie per la risposta....

Se qualcuno sa per caso spiegarmi come fare posso anche scrivere in php o asp. Ci ho provato già provato ma non sono riuscito a concludere molto. Se riuscite a farmi vedere un esempio posso provare a replicarlo.

Grazie:)
 
io per creare pagine di login uso altervista e help + php ... non uso il database integrato in altervista perchè non lo so usare :LOL: io faccio così:

pagina di login

Codice:
<td align="center" valign="middle"><form action="controllo.php" method="post"> 
      <table width="280" border="0" cellpadding="0" cellspacing="0"> 
         <tr align="left" valign="middle"> 
          <td width="140" height="30" align="left"><div align="center"><strong>User : </strong></div></td> 
          <td width="149" height="30"><input name="user" type="text" id="user" size="15"></td> 
        </tr> 
        <tr align="left" valign="middle"> 
          <td height="30"><div align="center"><strong>Password : </strong></div></td> 
          <td height="30"><input name="password" type="password" id="password" size="15"></td> 
        </tr> 
        <tr align="right" valign="middle"> 
          <td height="30"><input type="submit" name="Submit" value="Login"></td> 
          <td height="30" align="left"><input type="reset" name="Submit" value="Resetta"></td> 
        </tr>

visto che il database non lo so usare, uso un database basato su file ... se creo il file con estensione *.txt o altro sarebbe buono ma non sicuro, perchè basta digitare nel browser l'url del file e si può vedere il tutto ... usiamo estensione php e codice php! :lol:

file database.php

PHP:
//inserisci tra le parentesi i nomi utenti separati da virgola
$datauser = array(prova, ciao, cellulare);
//inserisci la password per ogni utente
$datapassword = array(abc, def, ghi);

poi crea il file controllo.php

PHP:
$data=date("m.d.y, H:i:s"); 
include('database.php');
if(in_array($_POST['user'],$datauser)){
$valuser= 1;
$chiaveuser = array_search($_POST['user'], $datauser);
}
if(in_array($_POST['password'],$datapassword)){
$valpassword= 1;
$chiavepassword = array_search($_POST['password'], $datapassword);
}
$valsomm= $valuser+$valpassword;
if(($valsomm==2)&&($chiavepassword==$chiaveuser)){
//bisogna creare un file per ogni utente registrato ... il nome del file deve //essere uguale al nome dell'utente che deve accedere alla pagina propria.
//ES. abc.php (per utente abc)
//ES. def.php (per utente def)
//e così via
header("Location: $user.php"); 
}else{
//invece qui ci devi mettere la pagina a che da errore nell inserimento del login
include('errore.htm');
}
?>

poi crei il file errore.htm

Codice:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<title>Login | errore </title> 
 
<style type="text/css"> 
<!--
.Stile1 {font-family: Georgia, "Times New Roman", Times, serif;
	font-style: italic;
}
-->
</style> 
</head> 
 
<body> 
<table width="100%"  border="0" cellspacing="0" cellpadding="0"> 
  <tr> 
    <td align="center" valign="middle"> 
      <table width="280" border="0" cellpadding="0" cellspacing="0"> 
        <tr> 
          <td><img src="img/log.gif" width="280" height="46"></td> 
        </tr> 
        <tr align="right" valign="middle"> 
          <td height="30" align="center" valign="middle"><p><strong>Password o User errati!</strong></p> 
          <p><strong><a href="index.php">&lt;&lt; Indietro</a></strong></p></td> 
        </tr> 
        <tr> 
          <td>&nbsp;</td> 
        </tr> 
        <tr> 
          <td align="center" valign="middle"><h6>&nbsp;</h6></td> 
        </tr> 
      </table> 
        
    </td> 
  </tr> 
</table> 
</body> 
</html>

finito! c'è solo un problema, gli user e le pass le devi inserire tu manualmente nel db file
 
Grazie per l'aiuto...

L'unico problema e che devo gestire un numero abbastanza consistente di accessi e dati, quindi preferivo usare un db. Se poi non ho altra scelta sarò costretto ad usare il file di database in php. Ripeto che non sono un utente esperto (programmo solo da febbraio:cav:).... quindi se mi potreste spiegare i passaggi senza lasciare nulla sottointeso vi sarei molto grato:).

Grazie in anticipo per le risposte...
 
Pubblicità
Pubblicità
Indietro
Top