Inserimento nel db sfalsato di riga

Francy87

Nuovo Utente
26 Mag 2012
11
0
0
Buona sera a tutti. Sono Francesco e vi seguo da quando ho iniziato a programmare. Grazie a voi ho trovato tante soluzioni ai miei problemi. Questa volta però, mi sono registrato perché girovagando sul forum non sono riuscito a trovare la soluzione. Sicuramente, se vi espongo il problema avrò molta più fortuna. Sto creando una sorta di richiesta di amicizia. Ho creato una pagina con un pulsante “Richiedi Amicizia”. Il codice del pulsante è questo
<td align="center"><a href="richiediamicizia.asp?username=<%=ris("Username")%>" target="_blank>Richiedi Amicizia</a></td>
Così facendo mi porto l’username della persona alla quale voglio chiedere l’amiciza nella pagina “richiediamicizia.asp”
Poi, la pagina “richiediamicizia.asp” e così (action e form nella stessa pagina)

<%
username=(Request.QueryString("Username"))
%>

<table cellpadding="0" cellspacing="0" align="center" border="0">
<tr>
<form method="POST" action="richiediamicizia.asp">
<td>Vuoi stringere amicizia con <%=username%></td>
<td>Inserisci il tuo username: <input type="text" name="nome" size="50">
<input type="submit" value="Invia" name="B1"></td>
</form>
</tr>
</table>

<%
dim a
a = request.form("nome")
set OBJdbConnection=Server.CreateObject("ADODB.Connection")
OBJdbConnection.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("mdb-database/utenti.mdb")
Set rs=server.CreateObject("ADODB.Recordset")
rs.Open "amicizia", OBJdbConnection,3,3
rs.AddNew
rs("username1") = username
rs("username2") = a
rs.update
rs.Close
set rs = Nothing
OBJdbConnection.Close
set OBJdbConnection = Nothing
%>

Quindi nella pagina “richiediamicizia.asp” ho la scritta: Vuoi stringere amicizia con <%=username%>
Inserisci il tuo nome: (campo form nel quale inserisco l’username) (bottone INVIA)
Mi connetto al DB e passo la variabile “username” che è il nome della persona alla quale sto chiedendo l’amicizia e la variabile “a” che è l’username prelevato dal campo input text.
Il problema è che l’inserimento nel db avviene su due record

“Riga1” “CampoUsername1” ci scrive l’ username della persona
“Riga2” “Campo username2” ci scrive l’username prelevato dal form

Grazie a tutti anticipatamente aspetto vostre risposte
 
Ciao,

il tuo database è composto da una tabella con tre campi (ID escluso)?

ID - username - username1 - username2

Questo valore, visto che è richiesto un recordset lo passi da un'altra pagina? è un'altra tabella o la stessa amicizia

<a href="richiediamicizia.asp?username=<%=ris("Username")%>" target="_blank">Richiedi Amicizia</a>

nel form devi passare anche il valore recuperato in querystring

Altre info, parametri insufficenti.

Valeria.
 
Ciao,

il tuo database è composto da una tabella con tre campi (ID escluso)?

ID - username - username1 - username2

Questo valore, visto che è richiesto un recordset lo passi da un'altra pagina? è un'altra tabella o la stessa amicizia

<a href="richiediamicizia.asp?username=<%=ris("Username")%>" target="_blank">Richiedi Amicizia</a>

nel form devi passare anche il valore recuperato in querystring

Altre info, parametri insufficenti.

Valeria.

Grazie Valeria per la tua risposta. Allora, la tabella "amicizia" del db è fatta da tre campi (id incluso)
ID Username1 Username2
id è contatore,
username1 ci va l'username che mi riporto in querystring nella pagina successiva,
username2 ci va l'username che l'utente inserirà nell' input text

Il tutto funziona perfettamente, cioè i 2 campi vengono riempiti nell'ordine richiesto, ma in 2 record diversi:
ID username1 username2
record N°1 tizio
record N°2 caio
 
Ciao,

tu passi un dato in querystring che è un campo di un db <%=ris("Username")%>

Codice:
<a href="richiediamicizia.asp?username=<%=ris("Username")%>" target="_blank">Richiedi Amicizia</a>

Se hai un campo username nel db che contiene il Nome Marco scorrendo tutti i record del campo username il link verrebbe scritto cosi:

<a href="richiediamicizia.asp?username=Marco" target="_blank">Richiedi Amicizia</a>

dove Marco viene preso dal campo chiamato username

non avendo quel campo il mome per richiedere amicizia devi scriverlo a mano nel link richiediamicizia.asp?username=Marco

Codice:
<a href="richiediamicizia.asp?username=Nome_Utente" target="_blank">Richiedi Amicizia</a>

Dove al posto di Nome_Utente devi inserire il Mome dell'utente con cui si deve fare amicizia, Marco, Franco, Pippo ecc...

La pagina richiediamicizia.asp sistemata:

Codice:
<%
username=Request.QueryString("username")
If username = "" then
Response.Write("username non valorizzato")
Response.End
End If
%>

<table cellpadding="0" cellspacing="0" align="center" border="0">
<tr>
<form method="POST" action="richiediamicizia.asp?username=<%=username%>">
<td>Vuoi stringere amicizia con <%=username%></td>
<td>Inserisci il tuo username: <input type="text" name="nome" size="50">
<input type="submit" value="Invia" name="B1"></td>
</form>
</tr>
</table>

<%
dim a
a = request.form("nome")
set OBJdbConnection=Server.CreateObject("ADODB.Connection")
OBJdbConnection.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("mdb-database/utenti.mdb")
Set rs=server.CreateObject("ADODB.Recordset")
rs.Open "amicizia", OBJdbConnection,3,3
rs.AddNew
rs("username1") = username
rs("username2") = a
rs.update

Response.write ""&username&"" &"  a stretto amicizia con" &" "&Request.form("nome")&""

rs.Close
set rs = Nothing
OBJdbConnection.Close
set OBJdbConnection = Nothing

%>

Nell'action del form devi far riscrivere il dato che è stato passato in querystring.

Nel campo Username1 ti scrive ilo mome di chi ha fatto la richiesta es: Marco

Nel campo Username2 il nome dal campo nome del name del form, la tua variabile a.

Response.write ""&username&"" &" a stretto amicizia con" &" "&Request.form("nome")&""

questo l'ho lasciato ti scrive il nome a chi è stata chiesta Amicizia e il nome di chi l'ha richiesta.

Valeria.
 

Discussioni simili