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!!!!
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.
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
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 + "'";
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??
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
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
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.
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"));
%>
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
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"));