e stamattina sì???
vedi che la notte porta consiglio?
e stamattina sì???
vedi che la notte porta consiglio?
Ciao Ragazzi,
scusate per il ritardo ma quest'oggi non ci sono stato.
Vi posto il codice anche di nomi.asp
<%
set con = server.createobject("ADODB.Connection")
con.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.mappath("db.mdb")
strsql = "select * from clienti order by nome"
set rs = con.execute(strsql)
%>
<form method="post" action="email.asp">
<%
while not rs.eof
id = rs("id")
nome = rs("nome")
email = rs("email")
%>
<input type="checkbox" name="record_<%=id%>" value="<%=id%>"> <%=nome%> <%=email%>
<%
rs.movenext
wend
%>
<input type="submit" value="Seleziona destinatari">
</form>
<%
rs.close
set rs = nothing
con.close
set con = nothing
%>
Nel frattempo provo a fare qualcosa con il ciclo for come hai detto tu referee84.
Grazie ad entrambi.
Ciao Ragazzi,
scusatemi ma non ci riesco proprio.
Datemi una mano vi prego.
Grazie.
che ne dici di pagina 1 o parte a...
e pagina 2 o parte bcodice:crei il form apri il recorset selezionando tutti gli utenti potenziali ricevitori di email... crei un "do while not recorset_esaurito" in valorizzi qualcosa di simile: input_to_be = input to be & rs(nome) & "<checkbox name='"&rs(id)&"' value='"&rs(email)&"'> " & vbCrLf ...e lo scrivi...
Scusa le varie imprecisioni... il sonno...codice:apri lo stesso recordset dei potenziali ricevitori di email crei un do while not recorset_esaurito in cui richiami i valori del form inviato ricavati = request.form(rs(id)) & separatore... a) poi dalla variabile ricavati ti crei un array e ne controlli i contenuti come vuoi... b) volendo puoi mettere un if mentre valorizzi "ricavati" che ti filtra gia i checkbox non flaggati che non ti invieranno come valore l'email ma qualcos'altro... basta anche un: if request.form(rs(id))=rs(email) then ricavati = ricavati & rs(email) end if![]()
Grazie sempre di tutto!!!
Alberto
Ciao ^ohiaia^,
non sono così esperto da riuscire a fare quello che tu mi proponi per cui ti chiederei una cortesia: se puoi modificarmi il codice delle due pagine (nomi.asp e email.asp) .........se non ti pretendo troppo.
Grazie dell'aiuto.
Credo ti stesse suggerendo la stessa cosa mia:
pagina1.asp:
pagina2.asp:codice:<% set con = server.createobject("ADODB.Connection") con.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.mappath("db.mdb") strsql = "select * from clienti order by nome" set rs = con.execute(strsql) Dim input_to_be %> <form name="invio" action="pagina2.asp" method=post> <% Do while not rs.eof input_to_be = input_to_be & rs("nome") & " <input type=checkbox name="&rs("id")&" value="&rs("email")&"> " rs.movenext Loop Response.Write (input_to_be) %> </form>
spero di non aver sbagliato nulla...codice:<% set con = server.createobject("ADODB.Connection") con.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.mappath("db.mdb") strsql = "select * from clienti order by nome" set rs = con.execute(strsql) Dim strOutlook 'grazie a questo ciclo riesci ad analizzare tutti i checkbox della pagina precedente Do while not rs.eof 'se sono spuntati, ad ogni giro aggiunge il destinatario dentro strOutlook perciò alla fine avrà una stringa con tanti destinatari divisi dal ; if not Request.Form("chk_"&rs("id")) = "" then strOutlook = strOutlook & Request.Form("chk_"&rs("id")) & ";" end if rs.movenext Loop %>
yes referee84 ...
2 cose da controllare...
pagina 1...
in effetti se la pagina è di accesso pubblicopenso sia meglio NON metterei le email dell'utente come value delle checkbox... magari meglio l'id nuovamente...
così sarebbero visibile semplicemente visualizzando il codice html... ...
pagina 2...
bisogna esser sicuri che il valore delle checkbox NON spunatate sia "" e non "false" o qualcos'altro...
e di conseguenza "coreggere" l'if...
per quello avevo pensato prima al "if request.form(..) = "quello a cui dovrebbe esser uguale"
lascia meno spazio ai "frantiendimenti"...
poi... PGP ieri notte ti ho scritto con un occhio chiuso ed uno mezzo chiuso... però per diventare "esperto" (io non mi reputo tale) le cose è sempre meglio impegnarsi e sbatterci la testa per imparare...
![]()
Grazie sempre di tutto!!!
Alberto
sono d'accordo, a mio avviso non c'è nemmeno bisogno del value, basta soltanto spuntarla e qui vengo al punto 2 da te sollevato:Originariamente inviato da ^ohiaia^
yes referee84 ...
2 cose da controllare...
pagina 1...
in effetti se la pagina è di accesso pubblicopenso sia meglio NON metterei le email dell'utente come value delle checkbox... magari meglio l'id nuovamente...
così sarebbero visibile semplicemente visualizzando il codice html... ...
basta cambiare la IF all'interno del Do/While facendo:pagina 2...
bisogna esser sicuri che il valore delle checkbox NON spunatate sia "" e non "false" o qualcos'altro...
e di conseguenza "coreggere" l'if...
per quello avevo pensato prima al "if request.form(..) = "quello a cui dovrebbe esser uguale"
lascia meno spazio ai "frantiendimenti"...
il controllo sul checkbox spuntato è ON se spuntato e suppongo OFF se non è spuntato, ma dato che a noi serve cercare quelli spuntati...codice:if Request.Form("chk_"&rs("id")) = "on" then strOutlook = strOutlook & rs("email") & ";" end if
![]()
...è che mi ricordavo di vari valori differenti "default" inviati a seconda del browser e del "motore"
Oltre questo credo che dare un "value" alle checkbox che sia "interno" al db sia un controllo un po' piu sicuro...
Io, per esempio, a riguardo son quasi paranoico e tendo a mettere controlli ovunque... tra sessioni e hidden...
![]()
Grazie sempre di tutto!!!
Alberto
per quanto riguarda i diversi browser non posso metterci la mano sul fuoco, ma per una cosa piuttosto complessa che serviva a me e che ho testato su IE, in cui se non vado errato in un form c'erano quasi 140 potenziali checkbox spuntabili, ho lavorato esattamente come ora abbiamo proposto al nostro amico e, non sapendo il valore che mi restituiva in caso di check/uncheck dopo qualche prova senza risultato mi so scocciato e mi so fatto fare il response.write del suo valore e, nel caso di checked restituiva "ON".