Newsgroup: it.comp.www.asp
Titolo: Segnala ad un amico....

Ciao a tutti, è la prima volta che posto qui.
Purtroppo non ho conoscenza di ASP, quindi mi sono dovuto arrangiare
come potevo.
Avrei lintenzione di aggiungere alle pagine di un sito, la classica
dicitura, segnala questa pagina ad un amico.
Ho trovato questo script in rete:
pagina che vuoi inviare:
<table align="center" border="1">
  <form name="modulo" action="segnala.asp" method="post">
  <tr>
     <td>Il tuo nome</td>
     <td><input type="text" name="tuoNome"></td>
   </tr>
   <tr>
     <td>Il nome del tuo amico</td>
     <td><input type="text" name="nomeAmico"></td>
   </tr>
   <tr>
     <td>La tua email</td>
     <td><input type="text" name="tuaEmail"></td>
   </tr>
   <tr>
     <td>L'email del tuo amico</td>
     <td><input type="text" name="emailAmico"></td>
   </tr>
   <tr>
     <td colspan="2" align="center"><input type="submit" value="Invia la
segnalazione"></td>
   </tr>
  </form>
 </table>
e una pagina in ASP, segnala.asp:
<%@Language = JScript%>
 <%
    var aa = new String(Request.Form("tuoNome"));
    var bb = new String(Request.Form("nomeAmico"));
    var cc = new String(Request.Form("tuaEmail"));
    var dd = new String(Request.Form("emailAmico"));
   var segnala = new ActiveXObject("CDONTS.NewMail");
        segnala.From = cc;
        segnala.To = dd;
        segnala.Subject = "Segnalazione sito";
        segnala.Body = "Ciao " + bb + ", il tuo amico " + aa + " ti
segnala un sito: http://..";
        segnala.Send();
 %>
 <html>
  <head>
   <title>Conferma invio</title>
  </head>
 <body>
<div align="center">Segnalazione inviala, grazie del supporto!</div>
Bene, tuttu funziona, però ho un problemino.
Nella parte della pagina in ASP ..."ti segnala un sito: http://.."
andrebbe modificato a mano per ogni pagina, c'è un sistema per
aggiungerle una variabile che poi non è altro che l'indirizzo stesso??
grazie e ciao

Per ricreare l'url:
===============
"http://" + request.servervariables("SERVER_NAME") +
request.servervariables("SCRIPT_NAME") + "?" +
request.servervariables("QUERY_STRING")
===============
(questo lo puoi mettere nella form nella pagina da inviare
*oppure*
===============
Request.ServerVariables("HTTP_REFERER")
===============
(questo invece lo puoi mettere nella pagina "segnala.asp")
NOTE:
- il codice è un po' troppo semplice, con un paio di "if" lo rendi più
ordinato (il primo, per esempio, ti metterà sempre un "?" alla fine
dell'url, anche in assenza di dati di get
- ti suggerirei di rendere lo script da te proposto un attimino più sicuro
poiché chiunque potrebbe mettersi a inviare e-mail indesiderate (anche se
il "body" lo decidi comunque tu). Per esempio potresti fare un confronto
tra quello che ti arriva tramite la form e quello che leggi tramite
"referrer". Meglio ancora se il referrer coincide con il server del sito...
Per chiarimenti, rispondi a questo post :-)
Alex.
-- 
___________________________________________________________
a p bertolini
(
www.webwarrior.org
)

         segnala.Body = "Ciao " + bb + ", il tuo amico " + aa + " ti
con segnala.Body = "Ciao " + bb + ", il tuo amico " + aa + " ti segnala un
sito: 
http://www.tuosito.it
" + ee;
La variabile request.serverVariables("url") contine tutto l'indirizzo (query
string comprese) della pagina corrente dall' esensione del dominio in poi,
quindi inviandolo alla pagina asp tramite un campo nascosto e aggiungendoci
prima la stringa 
http://www.tuosito.it
 ottieni l'indirizzo completo della
pagina, e va bene per ogni pagina.
Spero di essere stato chiaro e utile.
Ciao

 Alex.
L'ho provato, va benissimo, ho aggiunto semplicemente
Request.ServerVariables("HTTP_REFERER") nella pagina .asp.
Quindi, riassumento il tutto funziona cosě:
prova.html compila il form --> segnala.asp.
Per evitare che il form dei dati, compaia in ogni pagina, posso creare
semplicemente un link?
esempio:
paginadasegnalare.html---->prova.html compila il form--->segnala.asp
E' possibile una cosa del genere?? Cosě sarebbe meglio perchč renderebbe
la pagina piů snella.
Ciao grazie mille dell'aiuto che mi stai dando, una volta finito ti farň
vedere il sito con le modifiche.
Attendo con ansia tue notizie, ciao!!