area riservata asp

aumas

Nuovo Utente
7 Nov 2008
11
0
0
Salve a tutti, sono nuovo del forum. Avrei una richiesta da fare:
-ho realizzato un sito con l'accesso con area riservata, vorrei però
che ogni utente iscritto nel database, entrasse in una pagina a lui dedicata!!Potete darmi una mano
Grazie a tutti!!!!
 

lukeonweb

Utente Attivo
5 Mar 2003
5.177
10
38
43
Napoli
www.lucaruggiero.it
Quando crei il login immagino tu attivi una sessione, ad esempio:

Session("username")

Usa questa sessione (o anche altre, ad esempio con l'ID) per fare delle query.

Se sei sulla pagina profilo.asp, ad esempio, scriverei una query del tipo:

Recordset.Open "SELECT * FROM utenti WHERE username = '" & Session("username") & "'", Connessione, 1, 1

Cosa deve fare esattamente questa pagina dedicata?
 

aumas

Nuovo Utente
7 Nov 2008
11
0
0
Ciao Luke, queste pagine dedicate ad ogni utente, devono contenere solo dei dati personali, ad esempio delle tabelle con comunicazioni personali ecc..
 

lukeonweb

Utente Attivo
5 Mar 2003
5.177
10
38
43
Napoli
www.lucaruggiero.it
Quel che sia.

Immagino che i dati dedicati agli utenti siano in una tabella e che ci sia, record per record, un riferimento all'utente a cui i dati sono dedicati: username o id.

Giusto?

Memorizzando in delle sessioni la username e/o l'id, usi la sessione come filtro di ricerca con una query tipo quella che ti ho mostrato nel precedente post.

Mi spiego?
 

aumas

Nuovo Utente
7 Nov 2008
11
0
0
Scusami, ma ti seguo poco, non sono molto pratico di linguaggio, ora ti posto il codice:
if (azione == "OK")
{
var username = new String(Request.Form("username"));
var password = new String(Request.Form("password"));
var username2 = username.replace(/'/g,"''");
var password2 = password.replace(/'/g,"''");
var Cn = new ActiveXObject("ADODB.Connection");
Cn.Open("driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("database.mdb"));
var Sql = "SELECT * FROM collemartino WHERE username = '" + username2 + "' AND password = '" + password2 + "'";
var EseguiLogin = Cn.Execute(Sql);
if (EseguiLogin.EOF)
{
Cn.Close();
Response.Write("ACCESSO NEGATO");
Response.End;
}
else
{
Cn.Close();
Session("username") = username;
with (Response)
{
Write("<p align='center'>");
Write("Benvenuto " + username + "!<br><br>");
Write("Clicca <a href='areaprivata.asp'>qui</a> per entrare!");
Write("</p>");

anche perchè ho un altro problema, se faccio puntare ad un altro database, cambiamo dunque il nome a Server.mapPath(...), tende sempre a farmi accedere con le password del database originale.
Non so se sono stato comprensibile
 

lukeonweb

Utente Attivo
5 Mar 2003
5.177
10
38
43
Napoli
www.lucaruggiero.it
Ok, crei la sessione "username":

else
{
Cn.Close();
Session("username") = username;
with (Response)
...
...
...

NON devi puntare a nessun altro database.

Fammi capire una cosa: la pagina "personalizzata" che vuoi mostrare agli utenti, quali dati contiene? QUelli della collemartino a cui ti interfacci per il login?

var Sql = "SELECT * FROM collemartino WHERE username = '" + username2 + "' AND password = '" + password2 + "'";

Fammi sapere.
 

aumas

Nuovo Utente
7 Nov 2008
11
0
0
No, i dati da visualizzare li devo ancora inserire, sulla collemartino sono presenti password e username.
Io pensavo che ai 40 utenti circa presenti nel database, una volta fatto il login, si aprisse la loro pagina che indica degli avvisi, appuntamenti ecc..!Infatti mi chiedevo:devo fare una pagina per ogni utente giusto?!?!?

La sessione che mi hai indicato già e presente o sbaglio???Oppure ne devo inserire un'altra su ogni pagina personale??

Scusami ma sono un pò in difficoltà....grazie:)
 

lukeonweb

Utente Attivo
5 Mar 2003
5.177
10
38
43
Napoli
www.lucaruggiero.it
Forse non mi spiego, o forse tu non riesci ad entrare in questa forma mentis e comprendere a pieno il problema e la struttura.

La sessione che ho indicato STA BENISSIMO dov'è, devi "solo" usarla per la query.

La tabella collemartino contine username e password, perfetto, facci il login e basta.

Adesso, vuoi creare degli annunci personalizzati utente per utente?

Ok; crea una tabella "annunci" con questi campi:

id (contatore)
username (testo)
titolo (testo)
annuncio (memo)

Inserendo l'annuncio, nel campo "username" andrai a scrivere l'username dell'utente che deve leggere l'annuncio, cosi, quando si logga, l'annuncio lo legge solo lui.

Nella pagina annunci.asp scriverai:

rs.Open "SELECT * FROM annunci WHERE username = '" & Session("username") & "'", cn, 1
If rs.EOF Then
Response.Write "Non ci sono annunci"
Else
While rs.EOF = False
Response.Write "<b>" & rs("titolo") & "</b><br>" & " & rs("") & "<br><br>"
rs.MoveNext
Wend
End If
rs.Close

Mi spiego adesso? :)
 

aumas

Nuovo Utente
7 Nov 2008
11
0
0
Scusa, con me ci vuole pazienza, sono un pò una capra
Credo di aver capito(almeno spero), ora ci provo.
Però così mi fa vedere i dati che inserisco nel database giusto??!!!
Se io invece volessi fargli aprire una pagina a parte che contenga(per ipotesi) delle immagini???
Grazie Luke:D
 

lukeonweb

Utente Attivo
5 Mar 2003
5.177
10
38
43
Napoli
www.lucaruggiero.it
Stessa cosa, l'importante è che nel database imposti nella tabella da cui vuoi prendere i dati un campo dedicato all'username dell'utente che deve poter visualizzare i dati stessi.

Che questi dati siamo immagini, testi, anguille alla marmellata, non importa.

Prova e fammi sapere ;)
 

aumas

Nuovo Utente
7 Nov 2008
11
0
0
Luke prima di continuare il discorso, vorrei chiederti un grande favore, puoi controllarmi il codice???Perchè mi funziona a volte si e altre no, non capisco perchè. Mi dà errore interno del server quando non funziona.
Grazie:dipser:
<%@LANGUAGE = JScript%>
<%
var azione = new String(Request.QueryString("azione"));
%>


<html>
<head>
<title>Index</title>
<style type="text/css">
<!--
#Layer1 {
position:absolute;
width:780px;
height:166px;
z-index:1;
left: 99px;
top: -6px;
}
#Layer2 {
position:absolute;
width:780px;
height:42px;
z-index:2;
left: 99px;
top: 160px;
}
#Layer3 {
position:absolute;
width:780px;
height:388px;
z-index:1;
left: 0px;
top: 42px;
}
#Layer4 {
position:absolute;
width:780px;
height:40px;
z-index:3;
left: 99px;
top: 590px;
}
#Layer5 {
position:absolute;
width:538px;
height:386px;
z-index:1;
left: 239px;
top: 1px;
}
#Layer6 {
position:absolute;
width:225px;
height:74px;
z-index:2;
left: 108px;
top: 230px;
}
.Stile1 {
font-family: "Bodoni MT";
font-weight: bold;
color: #FFFFFF;
}
#Layer7 {
position:absolute;
width:110px;
height:27px;
z-index:4;
left: 246px;
top: -66px;
}
#Layer8 {
position:absolute;
width:109px;
height:26px;
z-index:4;
left: 367px;
top: -65px;
}
#Layer9 {
position:absolute;
width:106px;
height:25px;
z-index:1;
left: 267px;
top: -37px;
}
#Layer10 {
position:absolute;
width:110px;
height:25px;
z-index:2;
left: 398px;
top: -37px;
}
.Stile3 {font-family: "Copperplate Gothic Bold"; color: #FFFFFF; }
#Layer11 {
position:absolute;
width:102px;
height:24px;
z-index:4;
left: 248px;
top: -64px;
}
#Layer12 {
position:absolute;
width:397px;
height:26px;
z-index:1;
left: 371px;
top: 6px;
}
.Stile5 {
font-family: "Arial Black";
color: #FFFFFF;
}
.Stile6 {
font-family: "Arial Black";
color: #FF6633;
}
-->
</style>
</head>
<body>
<%
if (azione == "OK")
{
var username = new String(Request.Form("username"));
var password = new String(Request.Form("password"));
var username2 = username.replace(/'/g,"''");
var password2 = password.replace(/'/g,"''");
var Cn = new ActiveXObject("ADODB.Connection");
Cn.Open("driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("database.mdb"));
var Sql = "SELECT * FROM utenti WHERE username = '" + username2 + "' AND password = '" + password2 + "'";
var EseguiLogin = Cn.Execute(Sql);
if (EseguiLogin.EOF)
{
Cn.Close();
Response.Write("ACCESSO NEGATO");
Response.End;
}
else
{
Cn.Close();
Session("username") = username;
with (Response)
{
Write("<p align='center'>");
Write("Benvenuto " + username + "!<br><br>");
Write("Clicca <a href='areaprivata.asp'>qui</a> per entrare!");
Write("</p>");
}

}
}
else
{
%>


<%
}
%>

<div id="Layer1">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="780" height="166">
<param name="movie" value="2308/2308/With_FL/Html/36.swf">
<param name="quality" value="high">
<embed src="2308/2308/With_FL/Html/36.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="780" height="166"></embed>
</object>
</div>
<div id="Layer2"><img src="2308/Barramenu.gif" width="780" height="42">
<div id="Layer3"><img src="2308/sfondosito.gif" width="780" height="388">
<div id="Layer5"><img src="2308/sfondotot.gif" width="538" height="386">
<div id="Layer10">
<div align="center" class="Stile3">Foto</div>
</div>
<div id="Layer9">
<div align="center" class="Stile3">Contatti</div>
</div>
</div>
</div>
</div>
<div id="Layer6">
<form method="post" action="login.asp?azione=OK">
<span class="Stile1">Username</span>
<input type="text" name="username" border="2" style="border-bottom-color:#000000">
<div class="Stile3" id="Layer11">
<div align="center">Home</div>
</div>
<div class="Stile3" id="Layer8">
<div align="center"></div>
</div>
<span class="Stile1">Password</span>
<input type="password" name="password" border="2" style="border-bottom-color:#000000">
<input name="submit" type="submit" style="background-color:#FAA500" value="Login" class="Stile1">
</form>
</div>


<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div id="Layer4"><img src="2308/barrabasso.gif" width="780" height="40">
<div id="Layer12"><span class="Stile5"></span><span class="Stile6"></span> <span class="Stile1">Via Don Minzoni - </span></div>
</div>
<p>&nbsp;</p>

</body>
</html>
 

aumas

Nuovo Utente
7 Nov 2008
11
0
0
Ciao Luke,
ho provato a fare i passaggi che mi avevi detto, inserendo il codice che mi hai scritto,
ma mi da errore sulla riga della query.
PS: pensavo di averlo scritto all'inizio,invece no, di ASP nn capisco molto, quindi mi trovo un pò incasinato:crying:
Ciao e grazie
 

aumas

Nuovo Utente
7 Nov 2008
11
0
0
La riga è questa:


Cn.Open("driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("database.mdb"));

PS:io la inserisco nel tag <body> <%..........&><7body>
 

aumas

Nuovo Utente
7 Nov 2008
11
0
0
Ecco l'errore:

HTTP 500.100 - Errore interno del server - errore ASP
Internet Information Services

--------------------------------------------------------------------------------

Informazioni tecniche (per il personale del supporto tecnico)

Tipo di errore:
Errore di compilazione di Microsoft VBScript (0x800A0401)
Prevista fine istruzione
/annunci.asp, line 12, column 89
Cn.Open("driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("database.mdb"));
 

aumas

Nuovo Utente
7 Nov 2008
11
0
0
Si, anche perchè altri codici in js scriptme li fa vedere. Ho riprovato e ho notato che ora mi scrive questo errore:

Informazioni tecniche (per il personale del supporto tecnico)

Tipo di errore:
Errore di run-time di Microsoft VBScript (0x800A01A8)
Necessario oggetto: ''
/annunci.asp, line 13
 
Discussioni simili
Autore Titolo Forum Risposte Data
W [ASP] Password Login per area riservata Classic ASP 13
gandalf1959 [PHP] Verifica password per accesso ad area riservata PHP 3
M [WordPress] [HTML] AREA RISERVATA CON PROFILAZIONE WordPress 2
F [PHP] Creare un'area web riservata PHP 13
W Area riservata sicura PHP MySQL PHP 12
I Area riservata in PHP PHP 2
I [PHP] CURL per accesso ad area riservata PHP 6
W. YouneS Area riservata con php e mysql PHP 0
Recover Area riservata con database PHP 11
gandalf1959 problema con header in area riservata PHP 4
A area riservata in php senza data base PHP 19
Recover db in sola lettura su area riservata WordPress 1
L Accesso area riservata tramite QR code WordPress 3
A accesso area riservata nn funziona più PHP 1
A Area riservata con login e mysql ma nn mi logga PHP 1
E consigli per piccola area riservata PHP 4
Elisacau Area riservata.. WordPress 2
I Area riservata con contenuto personalizzato per i registrati? CMS (Content Management System) 0
B Area Riservata/Download per Wordpress WordPress 3
M Problema con form per accesso area riservata ai soci PHP 2
A problema con area riservata PHP 6
N Primo accesso area riservata PHP 1
neo996sps PHP + MYSQL: Errore su accesso area riservata PHP 1
P Area riservata con frontpage PHP 10
S Area riservata PHP PHP 3
F Area Riservata PHP+MySql - Chi mi corregge il codice??? PHP 18
S area riservata con mysql PHP 29
S Area riservata con login e mysql PHP 20
J Creare file html da un form in area riservata PHP 9
G Problema area riservata con IE PHP 6
B Aumentare livello di sicurezza accesso client area riservata Classic ASP 5
M Come creare un area riservata PHP 4
N impedire accesso area riservata a utenti registrati Database 3
D Creare Area RiservaTA PHP 8
A Area Riservata Manager - HELP !! PHP 2
R HTTP_REFERER e area riservata.. PHP 1
R Problema con area riservata... PHP 4
X Area Riservata Mysql+php PHP 13
SolidSnake4 area riservata PHP 20
borgo italia Accesso area riservata PHP 6
B creare un'area riservata PHP 1
N Area riservata proprio sito PHP 18
S Area Riservata Classic ASP 6
W Help - area riservata Classic ASP 3
G area riservata con phpbb3 phpBB 1
I accesso area riservata multilivello PHP 1
W come si crea un area riservata HTML e CSS 5
D A ciascuno la prorioa area riservata PHP 0
K Area riservata - Limitazione tentativi inserimento PHP 0
K logout area riservata Classic ASP 1

Discussioni simili