Response write pagina dinamica

Arcangelo79

Nuovo Utente
25 Feb 2012
6
0
0
Buon Giorno a tutti! Mi rivolgo a voi per un urgentissimo bisogno di aiuto! Allora.... la situazione è la seguente:
Sto sviluppando la Tesi di Laurea. Purtroppo sono davanti ad un grosso ostacolo. La mia tesi consiste nella progettazione e realizzazione di un Social Network. Allora, ho sviluppato una pagina default.asp (già preimpostata come struttura e con campi vuoti) che è la pagina madre di ogni utente. Quando un utente si iscrive al SN la pagina default.asp viene riempita con tutti i suoi parametri inseriti in fase di registrazione ed in più viene inserita anche la foto personale che l'utente ha uploadato. Fin quì nessun problema! Adesso però sto sviluppando il motore di ricerca interno per trovare gli utenti. La keyword su cui si basa il motore di ricerca è il "Nome reale" (sapete come funziona su un S.N.: io cerco il nome anche per sentito dire di una persona e fra i risultati vedo quello che mi interessa, magari riconoscendolo nella foto personale). Una volta che il motore di ricerca mi illustra gli utenti iscritti al SN... e quì arriva la mia domanda:
Essendo il tutto dinamico, come faccio a linkare alla pagina personale dell'utente che mi appare al risultato del motore di ricerca? (visto che la pagina utentepippo.asp non esiste)
Response.Write("......")?
Vi prego aiutatemi!
Grazie anticipatamente! Arcangelo

P.S.: La situazione codice è la seguente:
- DB Access "USERS";
- Tabella "userlist"
- Campi:
username (primary_key)
password
keywords (sta per Nome Reale)
cognome
email
citta
nazione
datanascita
sesso

codice della pagina "risultati.asp"

<%@ LANGUAGE = JScript %>
<%
var testo = String(Request.Form("keywords"));
if (testo=="" || testo=="undefined") Response.Redirect("default.asp");
var keywords = testo.split(" ");
var stringaDiConnessione = "driver={Microsoft Access Driver (*.mdb)};dbq=";
stringaDiConnessione += Server.MapPath("/mdb-database/users.mdb");
var conn = new ActiveXObject("ADODB.Connection");
conn.Open(stringaDiConnessione);
var sql = "SELECT * FROM userlist WHERE";
for (i=0;i<keywords.length;i++) {
if (i>0) sql += " AND";
sql += " keywords LIKE '%" + keywords + "%'";
}
var ris = conn.Execute(sql);
if (ris.EOF) Response.Write("<b>NESSUN UTENTE TROVATO</b>");
else while (!ris.EOF) {
Response.Write ("<a href=""); ---------------- l'INCRIMINATO!
Response.Write(ris("keywords"));
Response.Write(" ");
Response.Write(ris("cognome"));
Response.Write ("</a>");
ris.MoveNext();
}
conn.Close();
%>
 

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
Ciao,

modifico il precedente messaggio.

<%@ LANGUAGE = JScript %>
<%
var testo = String(Request.Form("keywords"));
if (testo=="" || testo=="undefined") Response.Redirect("default.asp");
var keywords = testo.split(" ");
var stringaDiConnessione = "driver={Microsoft Access Driver (*.mdb)};dbq=";
stringaDiConnessione += Server.MapPath("users.mdb");
var conn = new ActiveXObject("ADODB.Connection");
conn.Open(stringaDiConnessione);
var sql = "SELECT * FROM userlist WHERE";
for (i=0;i<keywords.length;i++) {
if (i>0) sql += " AND";
sql += " keywords LIKE '%" + keywords + "%'";
}
var ris = conn.Execute(sql);
if (ris.EOF) Response.Write("<b>NESSUN UTENTE TROVATO</b>");
else while (!ris.EOF) {
Response.Write('<a href="');
Response.Write(ris("keywords")); //mostra il Nome Reale
Response.Write(".asp"); // estenzione .asp
Response.Write('">'); //chiusura link in href
Response.Write(ris("cognome")); //mostra il Cognome
Response.Write("</a>"); // chiusura tag
Response.Write(" "); // opzionale, usi l'operatore LIKE nella sql quindi basta una cola lettere che mostra tutti i link che hanno quella lettera nel Nome Reale se hai 100 nomi che utilizzano la stessa lettera mette uno spazio fra un link e l'altro.
ris.MoveNext();
}
conn.Close();
%>


Adesso se hai un'utente che si chiama Mario Rossi vedrai:

<a href="Mario Rossi.asp">Rossi</a>

Vale.
 
Ultima modifica:

Arcangelo79

Nuovo Utente
25 Feb 2012
6
0
0
Ciao,

modifico il precedente messaggio.



Adesso se hai un'utente che si chiama Mario Rossi vedrai:

<a href="Mario Rossi.asp">Rossi</a>

Vale.

Ciao Vale2, intanto un MEGA GRAZIE per avermi risposto.
Allora, ho provato la tua porzione di codice.
Non fa una piega... però la pagina mariorossi.asp naturalmente non esiste, perchè non ho fatto in modo che avvenga questo. (cioè la creazione di una pagina utentepippo.asp) quindi il link non funziona. Di conseguenza, o faccio in modo che per ogni utente si crei la pagina utentepippo.asp, oppure dobbiamo trovare quel maledetto Response.Write....
 
Ultima modifica:

Arcangelo79

Nuovo Utente
25 Feb 2012
6
0
0
Ma c'è nessuno???... possibile che nessun'altro a parte Vale2 abbia qualche proposta da farmi?!?
 

Arcangelo79

Nuovo Utente
25 Feb 2012
6
0
0
ma c'è qualche ESPERTO che può darmi una mano? oppure vi sono solo smanettoni che copiano ed incollano script già pronti?
 

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
ma c'è qualche ESPERTO che può darmi una mano? oppure vi sono solo smanettoni che copiano ed incollano script già pronti?

Ciao,

è un forum pubblico e gratuito, dove per risolvere i nostri problemi ci affidiamo all'aiuto di altre persone, che utilizzano parte del loro tempo libero per risolverti un problema. Nessuno è obbligato a rispondere, e se ti rivolgi in questo modo, le possibilità di risposta diminuiscono.


A te serve una pagina secondaria alla quale puoi dare un nome qualsiasi che contiene già la connessione al db e la creazione dei recordset, dopo devi passare l'ID (chiave primaria, nel tuo script si chiama username) l'incandola alla nuova pagina, da li recuperi tutti i dati che interessano.

Pagina risultati.asp

Codice:
<%@ LANGUAGE = JScript %>
<%
var testo = String(Request.Form("keywords"));
if (testo=="" || testo=="undefined") Response.Redirect("default.asp");
var keywords = testo.split(" ");
var stringaDiConnessione = "driver={Microsoft Access Driver (*.mdb)};dbq=";
stringaDiConnessione += Server.MapPath("/mdb-database/users.mdb");
var conn = new ActiveXObject("ADODB.Connection");
conn.Open(stringaDiConnessione);
var sql = "SELECT * FROM userlist WHERE";
for (i=0;i<keywords.length;i++) {
if (i>0) sql += " AND";
sql += " keywords LIKE '%" + keywords[i] + "%'";
}
var ris = conn.Execute(sql);
if (ris.EOF) Response.Write("<b>NESSUN UTENTE TROVATO</b>");
else while (!ris.EOF) {
Response.Write('<a href="nuova_pagina.asp?username=');
Response.Write(ris("username"));
Response.Write('">');
Response.Write(ris("cognome"));
Response.Write("</a>");
Response.Write(" ");
ris.MoveNext();
}
conn.Close();
%>

Qui avrai tutti i record trovati in base alla ricerca lincati:

<a href="nuova_pagina.asp?username=1">PIPPO</a>


Pagina nuova_pagina.asp:

Codice:
<%@ LANGUAGE = JScript %>
<%

var username = parseInt(Request.QueryString("username"));
var Cn = new ActiveXObject("ADODB.Connection");
var Sc = "driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("/mdb-database/users.mdb");
Cn.Open(Sc);
var Sql = "SELECT * FROM userlist where username = " + username + ""
var ris = new ActiveXObject("ADODB.Recordset");
ris.Open(Sql,Cn,1);

%>
<html>
 <head>
  <title>PROVA</title>
  <style type="text/css">
   td, div { font-size: 12px; font-family: Verdana; }
   a { color: #FFFFFF; text-decoration: None; }
   a:hover { color: #FFFFFF; text-decoration: None; }
   a.x { color: #3366CC; text-decoration: None; }
   a:hover.x { color: #FF0000; text-decoration: Underline; }
  </style>
 </head>
<body text="#192939">
<% while (!ris.EOF) {%>
<table align="center" width="700" cellpadding="1" cellspacing="0" style="border: Solid 1px #192939;">
 <tr bgcolor="#192939">
    <td width="250" style="color: #FFFFFF;"> <b>Nome <%=ris("keywords")%> - Cognome <%=ris("cognome")%></b></td>
   <td width="250" align="right">
    <font face="Verdana" style="color: #FFFFFF;font-size:12px;"><b>Email</b></font> <a href="mailto:<%=ris("email")%>">[ email ]</a>
    <b>Citta <%=ris("citta")%></b></td>
 </tr>
 <tr>
   <td colspan="2">
         <b>Nazione <%=ris("nazione")%></b><br><br>
      <b>Data Nascita <%=ris("datanascita")%></b></td>
 </tr>
</table>
<%
ris.MoveNext();
}
%>
</body>
</html>
<%Cn.Close()%>

Devi solo impaginarla secondo le tue esigenze.

Ogni link proveniente dalla pagina risultati.asp ti mostra i dati del DB relativi a quello specifico ID (username)


Vale.
 

Arcangelo79

Nuovo Utente
25 Feb 2012
6
0
0
Ciao,

è un forum pubblico e gratuito, dove per risolvere i nostri problemi ci affidiamo all'aiuto di altre persone, che utilizzano parte del loro tempo libero per risolverti un problema. Nessuno è obbligato a rispondere, e se ti rivolgi in questo modo, le possibilità di risposta diminuiscono.

Vale2 sei stato davvero gentilissimo!
Sei davvero una bravissima persona! ...
Per quanto riguarda la mia affermazione...
beh! quando ti vedi 95 visite al tuo post e nessuno a parte te che si degna di proporre anche una cavolata copiata ed incollata lì, ti girano le scatole...
E soprattutto ho spiegato che la mia era un'urgenza e che questa che sto facendo è la mia "tesi di laurea", ed a nessuno glien'è fregato na' beata ......., a parte te!
Domani mattina proverò il tuo codice!
Ti farò sapere!
Grazie ancora!
...E' per le persone come te che ci si scrive sui forum! ... ce ne fossero di più!!!...
 

Arcangelo79

Nuovo Utente
25 Feb 2012
6
0
0
Ciao,

Pagina nuova_pagina.asp:

Codice:
<%@ LANGUAGE = JScript %>
<%

var username = parseInt(Request.QueryString("username"));
var Cn = new ActiveXObject("ADODB.Connection");
var Sc = "driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("/mdb-database/users.mdb");
Cn.Open(Sc);
var Sql = "SELECT * FROM userlist where username = " + username + ""
var ris = new ActiveXObject("ADODB.Recordset");
ris.Open(Sql,Cn,1);

%>
<html>
 <head>
  <title>PROVA</title>
  <style type="text/css">
   td, div { font-size: 12px; font-family: Verdana; }
   a { color: #FFFFFF; text-decoration: None; }
   a:hover { color: #FFFFFF; text-decoration: None; }
   a.x { color: #3366CC; text-decoration: None; }
   a:hover.x { color: #FF0000; text-decoration: Underline; }
  </style>
 </head>
<body text="#192939">
<% while (!ris.EOF) {%>
<table align="center" width="700" cellpadding="1" cellspacing="0" style="border: Solid 1px #192939;">
 <tr bgcolor="#192939">
    <td width="250" style="color: #FFFFFF;"> <b>Nome <%=ris("keywords")%> - Cognome <%=ris("cognome")%></b></td>
   <td width="250" align="right">
    <font face="Verdana" style="color: #FFFFFF;font-size:12px;"><b>Email</b></font> <a href="mailto:<%=ris("email")%>">[ email ]</a>
    <b>Citta <%=ris("citta")%></b></td>
 </tr>
 <tr>
   <td colspan="2">
         <b>Nazione <%=ris("nazione")%></b><br><br>
      <b>Data Nascita <%=ris("datanascita")%></b></td>
 </tr>
</table>
<%
ris.MoveNext();
}
%>
</body>
</html>
<%Cn.Close()%>

Devi solo impaginarla secondo le tue esigenze.

Ogni link proveniente dalla pagina risultati.asp ti mostra i dati del DB relativi a quello specifico ID (username)


Vale.

Ciao Vale2... allora... ho provato il tuo codice ed è perfetto, ma mi porta un errore:

Intanto se guardo la barra degli indirizzi appare:

http://www.nomesito.com/nuova_pagina.asp?username=quellochevolevo

e fin quì è perfetto.
Il problema è nel riempimento della pagina.
Mi appare:

Microsoft OLE DB Provider for ODBC Drivers error '80040e21'
ODBC driver does not support the requested properties.
/nuova_pagina.asp, line 9

che corrisponderebbe alla riga del tuo codice:
ris.Open(Sql,Cn,1);

non riesco ad andare avanti!
 

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
Ciao Vale2... allora... ho provato il tuo codice ed è perfetto, ma mi porta un errore:

Intanto se guardo la barra degli indirizzi appare:

http://www.nomesito.com/nuova_pagina.asp?username=quellochevolevo

e fin quì è perfetto.
Il problema è nel riempimento della pagina.
Mi appare:

Microsoft OLE DB Provider for ODBC Drivers error '80040e21'
ODBC driver does not support the requested properties.
/nuova_pagina.asp, line 9

che corrisponderebbe alla riga del tuo codice:
ris.Open(Sql,Cn,1);

non riesco ad andare avanti!

Ciao,

il campo username è di tipo Contatore - Dimendione campo = Intero lungo - Numero valori = incremento e Indicizzato = Sì (Duplicati non ammessi)?

quel campo deve restituirti un numero non quellochevolevo


nuova_pagina.asp?username=1

No

nuova_pagina.asp?username=quellochevolevo

l'errore ris.Open(Sql,Cn,1); è dovuto al fatto che non può esequire la query perchè cerca un valore numerico 1 2 3 4 ecc... non un testo,

var username = parseInt(Request.QueryString("username"));

parseInt() dichiara che il valore richiesto deve essere un numero, così si lavora con i campi di tipo Contatore ed è la prassi corretta.

Campo Username
prima riga valore 1
seconda riga valore 2
terza riga valore 3

Ogni volta che aggiungi dati il campo aumenta di 1 (solitamente questo campo viene identificato e chiamato ID , ma non è obbligatorio, puoi chiamarlo come vuoi ma deve essere un Numero.

<a href="nuova_pagina.asp?username=1">PIPPO</a>

dove 1 fa riferimento al primo campo della tabella del DB, PIPPO è il Cognome

Vale.
 
Discussioni simili
Autore Titolo Forum Risposte Data
J Response write di una query Classic ASP 1
cosov Inserire INCLUDE in RESPONSE.WRITE Classic ASP 1
K Gestire response con servlet remota Sviluppo app per Android 1
T response.redirect ASP.NET 1
S Creare Sistema di API Request e Response libero e protetto PHP 7
M ASP.NET Response.Redirect che si apre in una nuova finestra ASP.NET 1
M Qual'è la differenza tra Server.Transfer e Response.Redirect? ASP.NET 1
N response buffer Classic ASP 3
grottafelix Response Buffer Limit Exceeded Classic ASP 13
D response.redirect Classic ASP 2
R inviare un parametro con response.redirect Classic ASP 5
S Response.Redirect e Response.End in PHP!!!! PHP 3
L ios socket read/write tcp Sviluppo app per iOS 0
S [CERCO] Collaboratori per sito pay to write Offerte e Richieste di Lavoro e/o Collaborazione 1
Shyson getElementById o document.write? Javascript 3
espertoseo Paid to Write: arriva la proposta di Esperto SEO Guadagnare col Sito 0
G "Offerta natalizia per il paid to write" Presenta il tuo Sito 0
J Paid to Write Guadagnare col Sito 0
G SocialPost.info Nuovo sito Paid to Write Guadagnare col Sito 1
N semplice document.write() Javascript 1
G Posizione per una write Javascript 0
F Cookie e document.write Javascript 15
coteaz problema con write e writelen FACILE Javascript 2
V Paid to Write che paga per forza Guadagnare col Sito 3
L Write in un determinato punto da un link senza refresh Javascript 0
M write in tag Javascript 0
G Pagina html in stringa PHP 2
L Creare ancore interne alla pagina PHP 1
F Aiuto! cambio immagine di sfondo al cambio pagina HTML e CSS 2
Shyson Regex che trova la parola nella pagina jQuery 6
L Eliminazione di una pagina dalla gallery SEO e Posizionamento 0
D Apre il lightbox fuori pagina Javascript 0
K posizionare variabile da pagina html all'iframe. Javascript 1
R jquery che cambia css di un elemento non mi funziona sulla pagina caricata da ajax Ajax 5
U Link a pagina ed esecuzione file PHP 0
S Passare query o utm alla pagina successiva Domini 1
D [Cerco] Pagina Facebook settore calcio Annunci servizi di Social Media Marketing 0
napuleone div centrato alla pagina posto sopra ai contenuti HTML e CSS 1
G Eliminare l'effetto refresh di una pagina internet PHP 8
L Bing prima pagina prima riga; Google mi ignora SEO e Posizionamento 0
P Pagina modifica record che non funziona PHP 0
T Conferma reload pagina Javascript 4
A Submit senza ricaricare la pagina Ajax 2
L Problemi form Pagina php HTML e CSS 3
L php mysql cerca e visualizza pagina PHP 0
S Variabile in post su altra pagina PHP 2
D Visualizzazione pagina basata sul valore di un campo del database PHP 2
D Pagina non trovata Wordpress WordPress 7
E Pagina Cloudflare e captcha Domini 1
W Anomalia Pagina Facebook Social Media Marketing 9

Discussioni simili