controllo campo email e checkbox

coguaro

Utente Attivo
28 Mar 2004
32
0
0
39
www.coguaro.it
ho creato due form in questo sito appuntamenti e contatti e sono riuscito a fargli fare l'invio tramite link ( cosa che voleva la grafica ) ma non riesco a fare un paio di cose fargli digerire il codice del controllo del campo mail che col bottone funzionava senza problemi e fare in modo che i checkbox non sia attivabili entrambi e che se il checkbox "acconsento" non è attivo ( visto che di default deve essere attivo "non acconsento" ) non permetta l'invio qualcuno mi può aiutare????

ho fatto diverse prove visto che nessuna funzionava ho riportato il codice "allo stato originale" cioè come funzionerebbe col bottene con in più il submit vial link
:dipser::dipser::dipser::dipser::dipser::dipser::dipser::dipser::dipser::dipser:
 

max_400

Utente Attivo
23 Gen 2009
770
0
16
caltanissetta
max400.forumfree.it
Ciao Coguaro e benvenuto sul forum

guarda un po se ti va bene quest'esempio


Esempio
http://max400.netne.net/check-invio.html

Se si clicca sulla casella "Acconsento" è possibile inviare il messaggio
altrimenti ti visualizza un messaggio di errore.

la pagina che riceve è in php e l'invio delle variabili è tramite link.



Pagina che riceve
http://max400.netne.net/ricevi-da-form-checkbox.php

-----------
Per quanto riguarda il controllo effettivamente non và dalla funzione
e allora l'ho fatto direttamente nella casella.
Codice:
Acconsento: <input type="checkbox" id="acconsento" onclick="document.getElementById('nonacconsento').checked=false; 
document.getElementById('verifica').value='Acconsento'"><br>
ogni volta che clicchi su una casella essa disabilita l'altra e viceversa
Acconsento: <input type="checkbox" id="acconsento" onclick="document.getElementById('nonacconsento').checked=false;

è un sistema semplice, banale oserei dire, ma ti sbrighi prima...cioè
inserendo i comandi javascript direttamente dentro la casella di input
come un panino al prosciutto.

Infine ho creato una casella di verifica che ti conferma la scelta che hai fatto.

Il controllo se un checkbox è attivato c'è...
if(document.getElementById('nonacconsento').checked==true){
ti dà messaggio di errore
altrimenti
invia il messaggio

Ciao!
by Max_400
 
Ultima modifica:

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
Ciao,

ho visto il codice della pagina CONTATTI, è codice generato da un editor MM_ Macromedia Dreamweaver?

Meglio usare un codice più snello e affidabile. Max ti ha dato la soluzione per gestire i checkbox.

Hai campi misti alcuni richiedono lettere altri numeri e un indirizzo email, i dati vengono inviati alla pagina contatti.asp che invia i dati, non so su che server sei Win2000 o Win2003> se stai usando CDONTS o CDOSYS per l'invio della mail o PersistMail.

Consiglio controlli lato server per gestire i moduli e non affidarsi al solo javascript, o tutti e due controllo lato client con js, ASP (usi questo linguaggio) lato Server, e usare le espressioni regolari.

Vale.
 

coguaro

Utente Attivo
28 Mar 2004
32
0
0
39
www.coguaro.it
Ciao,

ho visto il codice della pagina CONTATTI, è codice generato da un editor MM_ Macromedia Dreamweaver?

Meglio usare un codice più snello e affidabile. Max ti ha dato la soluzione per gestire i checkbox.

Hai campi misti alcuni richiedono lettere altri numeri e un indirizzo email, i dati vengono inviati alla pagina contatti.asp che invia i dati, non so su che server sei Win2000 o Win2003> se stai usando CDONTS o CDOSYS per l'invio della mail o PersistMail.

Consiglio controlli lato server per gestire i moduli e non affidarsi al solo javascript, o tutti e due controllo lato client con js, ASP (usi questo linguaggio) lato Server, e usare le espressioni regolari.

Vale.
lo so che sarebbe meglio appoggiarsi ad un controllo lato server ( volevo anche integrare altri controlli) ma dato che purtoppo ho un pò di fretta mi servirebbe solo correggere il codice attuale per farlo funzionare ed essere regolari poi con calma lo sistemrò meglio anche perchè entro pochi mesi pensavo di passare su server linux e dunque cambiare linguaggio lato server :) :D XD

adesso si mi appoggio su un server windows con cdosys su aruba per l'invio

mi servirebbe solo correggere questi due problemi mi servirebbe solo per tamponare temporaneamente :) :D XD

il codice è stato preso dal precedente form dato che non mi serviva niente di particolare ( non so come era stato fatto)
 

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
lo so che sarebbe meglio appoggiarsi ad un controllo lato server ( volevo anche integrare altri controlli) ma dato che purtoppo ho un pò di fretta mi servirebbe solo correggere il codice attuale per farlo funzionare ed essere regolari poi con calma lo sistemrò meglio anche perchè entro pochi mesi pensavo di passare su server linux e dunque cambiare linguaggio lato server :) :D XD

adesso si mi appoggio su un server windows con cdosys su aruba per l'invio

mi servirebbe solo correggere questi due problemi mi servirebbe solo per tamponare temporaneamente :) :D XD

il codice è stato preso dal precedente form dato che non mi serviva niente di particolare ( non so come era stato fatto)

Ciao,

Aruba su Server Windows ha il supporto per PHP.

Il tuo codice inutilizzabile, faccio prima a scriverne uno ex novo che provare a sistemarlo.

Specifiche globali javascript per il controllo del tuo modulo:

1) Hai già testo inserito nel value dei campi, quindi oltre al controllo del campo vuoto, primo carattere inserito la barra spaziatrice, è un carattere anche quello, Ascii %20 , se uno preme invio senza entrare nel campo l'istruzione se non gestita è true (vera) e viene passata al controllo if successivo.

2) regexp per il controllo dei numeri per il Telefono e il Cellulare

3) regexp per la validazione dell'indirizzo email secondo le specifiche RFC822 http://www.ietf.org/rfc/rfc0822.txt

sono inseriti tutti i caratteri ammessi per un indirizzo email

4) Controllo sui checkbox se non è flaggato il solo checkbox Acconsento il modulo non verrà inviato

5) submit da link ipertestuale

mi metto a lavoro

Vale. :byebye:
 

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
Ciao,

il javascript:

Codice:
<script type="text/javascript">
function controlla(){
var f = document.form1;
if((f.Oggetto.value == "") || (f.Oggetto.value.charAt(0) == " ") || (f.Oggetto.value == "Oggetto")){
alert("Inserire l\'\Oggetto della Richiesta");
f.Oggetto.focus();
return false;
}
if((f.Nome.value == "") || (f.Nome.value.charAt(0) == " ") || (f.Nome.value == "Nome")){
alert("Inserire il Nome");
f.Nome.focus();
return false;
}
if((f.Cognome.value == "") || (f.Cognome.value.charAt(0) == " ") || (f.Cognome.value == "Cognome")){
alert("Inserire il Cognome");
f.Cognome.focus();
return false;
}
var re = new RegExp("^[0-9]+$","");
if (!f.Telefono.value.match(re)){ 
alert("Inserire solo Numeri 0-9 per il Telefono!")
f.Telefono.focus();
return false;
}
if (!f.Cellulare.value.match(re)){ 
alert("Inserire solo Numeri 0-9 per il Cellulare!")
f.Cellulare.focus();
return false;
}
var re_1 = new RegExp("^[!#$&'*+/-9=?A-Z^-~-]+(\\.[!#$&'*+/-9=?A-Z^-~-]+)*@[!#$&'*+/-9=?A-Z^-~-]+(\\.[!#$&'*+/-9=?A-Z^-~-]+)+$","");
if (!f.Email.value.match(re_1)){ 
alert("Inserire un Indirizzo di E-mail Valido!")
f.Email.focus();
f.Email.select();
return false;
}
if((f.Messaggio.value == "") || (f.Messaggio.value.charAt(0) == " ") || (f.Messaggio.value == "Messaggio")){
alert("Inserire il Messaggio");
f.Messaggio.focus();
return false;
}
if(f.Contact.value == "" || f.Contact.value.charAt(0) == " "){
alert("Inserire il Messaggio per essere Ricontattatato!");
f.Contact.focus();
return false;
}
if (f.privacyno.checked){
alert("Non Acconsentit? deseleziona non Acconsento\nAltrimenti il modulo non verr\à inviato!");
return false;
}
if (!f.privacysi.checked){
alert("Seleziona Acconsento: per continuare!");
return false;
}
document.form1.submit()
return true;
}
</script>
Il copia/incolla del tuo form (con alcune modifiche per il corretto funzionamento:

Codice:
<div style="width:500px;">
<form action="contatti.asp" method="post" name="form1">
<div>
<input type="text" name="Oggetto" size="20" value="Oggetto" onfocus="this.value=''"></div>
<p></p>
<div style="width:250px; float:left;">
<input type="text" name="Nome" size="20" value="Nome" onfocus="this.value=''"></div>
<p></p>
<div style="float:left; width:250px;">
<input type="text" name="Cognome" size="20" value="Cognome" onfocus="this.value=''"></div>
<p><br></p>
<div style="float:left; width:250px;">
<input type="text" name="Telefono" size="20" value="Telefono" onfocus="this.value=''"></div>

<p></p>
<div style="float:left; width:250px;">
<input type="text" name="Cellulare" size="20" value="Cellulare" onfocus="this.value=''"></div>
<p><br></p>
<div>
<input type="text" name="Email" size="20" value="Email" onfocus="this.value=''"></div>
<p></p>
<div>
<TEXTAREA name="Messaggio" rows="5" cols="33" onfocus="this.value=''">Messaggio</TEXTAREA></div>
<p></p>
<div>
Come preferisci essere ricontattato?<br>
<input type="text" name="Contact" size="50"></div>
<p></p>							
<div>Autorizzo al trattamento dei dati&nbsp;&nbsp;&nbsp;<a class="form-appuntamenti" href="" onclick="winOpen('privacy.htm', 'Privacy Dott. Stefano Ranno', '400', '500', '', '', true, false, false, true, true, false, false);return false;">informativa privacy</a><br>

Acconsento<input name="privacysi" type="checkbox" value="SI">&nbsp;&nbsp;&nbsp;Non Acconsento<input name="privacyno" type="checkbox" checked="checked" value="NO">
</div>
<p><br></p>
<p><br></p>
<a class="form-contatti" href="javascript:;" onclick="return controlla()">> CONFERMA E INVIA</a>
</form></div>
Vale. :byebye:
 

coguaro

Utente Attivo
28 Mar 2004
32
0
0
39
www.coguaro.it
grazie per il lavoro mi hai risolto una marea di problemi e aiutato a capire come poi dovrò fare le correzzioni per quella appuntamenti che ha anche "luogo di nascita" "data di nascita" e "codice fiscale" però non mi fa l'invio mi fa tutti i controlli ma non l'invio ho notato che tu dal link per l'invio mi hai tolto "submitform()" dal href che penso hai integrato il codice nel "controlla" ma non fa l'invio io ho tolto tutto il codice dell'invio dalla sezione script perchè l'ho visto nel tuo codice devo forse lasciare il codice nella sezione script ma non nel link??? perchè quello che hai messo tu nel "controlla" è il richiamo al mio codice dell'invio forse???

edit
risolto corretto :) :D XD
 
Ultima modifica:

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
grazie per il lavoro mi hai risolto una marea di problemi e aiutato a capire come poi dovrò fare le correzzioni per quella appuntamenti che ha anche "luogo di nascita" "data di nascita" e "codice fiscale" però non mi fa l'invio mi fa tutti i controlli ma non l'invio ho notato che tu dal link per l'invio mi hai tolto "submitform()" dal href che penso hai integrato il codice nel "controlla" ma non fa l'invio io ho tolto tutto il codice dell'invio dalla sezione script perchè l'ho visto nel tuo codice devo forse lasciare il codice nella sezione script ma non nel link??? perchè quello che hai messo tu nel "controlla" è il richiamo al mio codice dell'invio forse???

edit
risolto corretto :) :D XD
Ciao,

ho visto il sito, hai sistemato la pagina CONTATTI :fonzie:

e che stai lavorando alla pagina APPUNTAMENTI.

Questo è lo script per APPUNTAMENTI:

Codice:
<script type="text/javascript">
function controlla(){
var f = document.form1;
if((f.Oggetto.value == "") || (f.Oggetto.value.charAt(0) == " ") || (f.Oggetto.value == "Oggetto")){
alert("Inserire l\'\Oggetto della Richiesta");
f.Oggetto.focus();
return false;
}
if((f.Nome.value == "") || (f.Nome.value.charAt(0) == " ") || (f.Nome.value == "Nome")){
alert("Inserire il Nome");
f.Nome.focus();
return false;
}
if((f.Cognome.value == "") || (f.Cognome.value.charAt(0) == " ") || (f.Cognome.value == "Cognome")){
alert("Inserire il Cognome");
f.Cognome.focus();
return false;
}
var re_2 = new RegExp("^[0-9]{2}[/][0-9]{2}[/][0-9]{4}$",""); 
if (!f.Data.value.match(re_2)){ 
alert("Inserire la Data di nascita nel formato gg/mm/yyyy");
f.Data.focus();
return false;
}
if((f.Luogo.value == "") || (f.Luogo.value.charAt(0) == " ") || (f.Luogo.value == "Luogo di nascita")){
alert("Inserire il Luogo di nascita");
f.Luogo.focus();
return false;
}
var re_3 = new RegExp("^[A-Z]{6}[0-9]{2}[A-Z][0-9]{2}[A-Z][0-9]{3}[A-Z]$",""); 
if (!f.Cf.value.match(re_3)){
alert("Inserire il Codice Fiscale Lettere Maiuscole");
f.Cf.focus();
return false;
}
var re = new RegExp("^[0-9]+$","");
if (!f.Telefono.value.match(re)){ 
alert("Inserire solo Numeri 0-9 per il Telefono!")
f.Telefono.focus();
return false;
}
if (!f.Cellulare.value.match(re)){ 
alert("Inserire solo Numeri 0-9 per il Cellulare!")
f.Cellulare.focus();
return false;
}
var re_1 = new RegExp("^[!#$&'*+/-9=?A-Z^-~-]+(\\.[!#$&'*+/-9=?A-Z^-~-]+)*@[!#$&'*+/-9=?A-Z^-~-]+(\\.[!#$&'*+/-9=?A-Z^-~-]+)+$","");
if (!f.Email.value.match(re_1)){ 
alert("Inserire un Indirizzo di E-mail Valido!")
f.Email.focus();
f.Email.select();
return false;
}
if((f.Messaggio.value == "") || (f.Messaggio.value.charAt(0) == " ") || (f.Messaggio.value == "Messaggio")){
alert("Inserire il Messaggio");
f.Messaggio.focus();
return false;
}
if (f.privacyno.checked){
alert("Non Acconsentit? deseleziona non Acconsento\nAltrimenti il modulo non verr\à inviato!");
return false;
}
if (!f.privacysi.checked){
alert("Seleziona Acconsento: per continuare!");
return false;
}
return true;
}
</script>
<script type="text/javascript"> 
function submitform(){
document.form1.submit();
}
</script>
Controllo inserimento data nel formato gg/mm/yyyy

Controllo del Codice Fiscale (la sequenza dei dati inseriti nella forma 6 lettere 2 numeri 1 lettera 2 numeri 1 lettera 3 numeri 1 lettera)

Inserito i controlli mancanti.

Il submit per l'invio ho usato il metodo che volevi (una funzione a parte, consiglio onde evitare di ricevere due email di togliere o commentare // anche nell'altro script il riferimento al submit del form document.form1.submit(); ) la sintassi corretta e di mettere il submit nello script, e l'href serve solo per abilitarlo come link io ti ho messo un link nullo inserendo javascript:; che non è digerito da tutti i browser anche con lo stesso OS, meglio se mettevo un # comunque funziona in tutti e due i modi, a tua scelta, come hai scritto sopra hai tolto il submitform, e solo il nome dato a una funzione, puoi chiamarla come vuoi, pippo pluto paperino, di fatto all'interno contiene
il richiamo document.form1.submit()

Codice:
<form action="appuntamenti.asp" method="post" name="form1">
<div>
<b>Oggetto</b><div style="float:right"><input type="text" name="Oggetto" size="20" value="Oggetto" onfocus="this.value=''"></div></div>
<p><b>Dati Paziente</b></p>
<div>
Nome<div style="float:right"><input type="text" name="Nome" size="20" value="Nome" onfocus="this.value=''"></div></div>
<p></p>
<div>
Cognome<div style="float:right"><input type="text" name="Cognome" size="20" value="Cognome" onfocus="this.value=''"></div></div>
<p></p>
<div>
Data di nascita<div style="float:right"><input type="text" name="Data" size="20" value="Data di nascita" onfocus="this.value=''"></div></div>
<p></p>
<div>
Luogo di nascita<div style="float:right"><input type="text" name="Luogo" size="20" value="Luogo di nascita" onfocus="this.value=''"></div></div>
<p></p>
<div>
Codice Fiscale<div style="float:right"><input type="text" name="Cf" size="20" value="Codice Fiscale" onfocus="this.value=''"></div></div>
<p><b>Informazioni di contatto</b></p>
<div>
Telefono<div style="float:right"><input type="text" name="Telefono" size="20" value="Telefono" onfocus="this.value=''"></div></div>
<p></p>
<div>
Cellulare<div style="float:right"><input type="text" name="Cellulare" size="20" value="Cellulare" onfocus="this.value=''"></div></div>
<p></p>
<div>
Email<div style="float:right"><input type="text" name="Email" size="20" value="Email" onfocus="this.value=''"></div></div>
<p></p>
<div>
Messaggio<div style="float:right"><TEXTAREA name="Messaggio" rows="5" cols="20" onfocus="this.value=''">Messaggio</TEXTAREA></div></div>
<p></p>
<div style="width:650px;"><br>
<p><br></p>
<p><br></p>
<p>Ai sensi e per gli effetti degli articoli 7, 13 e 23 del D.Lgs. n. 196/2003, dichiaro di aver preso conoscenza dell’<a class="form-appuntamenti" href="" onclick="winOpen('privacya.htm', 'Privacy Dott. Stefano Ranno', '400', '500', '', '', true, false, false, true, true, false, false);return false;">informativa</a> del <b>Dott. Stefano Ranno</b> per il trattamento dei miei dati personali, di essere esaurientemente informato in merito ai miei diritti e di conoscere come e dove esercitare gli stessi, acconsento al trattamento delle informazioni rilasciate per le finalità indicate nella predetta informativa.<br></p>
Acconsento: <input type="checkbox" id="privacisy" onclick="document.getElementById('privacyno').checked=false; 
document.getElementById('verifica').value='Acconsento'">&nbsp;&nbsp;&nbsp;
Non acconsento: <input type="checkbox" id="privacyno"  checked="checked" onclick="document.getElementById('privacisy').checked=false;
document.getElementById('verifica').value='Non Acconsento'"><br>
</div>
<p><br></p>
<p><br></p>
<a class="form-appuntamenti" href="javascript:submitform()" onclick="return controlla()">> CONFERMA E INVIA</a>
</form>
ho lasciato l'esempio di Max come hai nell'altro form per evitare la flaggatura di tutti e due i checkbox.

Buon lavoro, Vale. :byebye:
 

coguaro

Utente Attivo
28 Mar 2004
32
0
0
39
www.coguaro.it
Il submit per l'invio ho usato il metodo che volevi (una funzione a parte, consiglio onde evitare di ricevere due email di togliere o commentare // anche nell'altro script il riferimento al submit del form document.form1.submit(); ) la sintassi corretta e di mettere il submit nello script, e l'href serve solo per abilitarlo come link io ti ho messo un link nullo inserendo javascript:; che non è digerito da tutti i browser anche con lo stesso OS, meglio se mettevo un # comunque funziona in tutti e due i modi, a tua scelta, come hai scritto sopra hai tolto il submitform, e solo il nome dato a una funzione, puoi chiamarla come vuoi, pippo pluto paperino, di fatto all'interno contiene
il richiamo document.form1.submit()

questa non l'ho capita?????

non è che io volevo una funzione a parte ma nei test che ho fatto con il codice che mi avevi dato per la contatti cioè lasciare nel href solo javascript:; non funzionava se non lasciavo il submitform() e il relativo script nella pagina non vedevo la pagina di conferma di invio (non ho però notato se le mail venivano inviate o meno)???? o ho sbagliato io a fare qualcosa???
 

coguaro

Utente Attivo
28 Mar 2004
32
0
0
39
www.coguaro.it
ho notato adesso che quando i bot fanno lo scan delle pagine mi arrivano mail di conferma vuote ma non riesco a capire il perchè???????
 

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
ho notato adesso che quando i bot fanno lo scan delle pagine mi arrivano mail di conferma vuote ma non riesco a capire il perchè???????
Ciao, gli spyware dei motori di ricerca non inviano email, ti ho sconsigliato l'utilizzo di javascript per il tuo scopo. Se ci rifletti un attimo ti accorgi come senza controlli lato server sia possibile inviarti una mail.

Bye, Vale
 

coguaro

Utente Attivo
28 Mar 2004
32
0
0
39
www.coguaro.it
Ciao, gli spyware dei motori di ricerca non inviano email, ti ho sconsigliato l'utilizzo di javascript per il tuo scopo. Se ci rifletti un attimo ti accorgi come senza controlli lato server sia possibile inviarti una mail.

Bye, Vale
quello l'ho capito ma prima col vecchio sito nonostante le scansione dei bot non mi arrivavano le mail???? e c'erano anche molti meno controlli ( anche se solo in javascript ) non vorrei aver sbagliato qualcosa magari nella gestione dei bot o altro???????
 

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
quello l'ho capito ma prima col vecchio sito nonostante le scansione dei bot non mi arrivavano le mail???? e c'erano anche molti meno controlli ( anche se solo in javascript ) non vorrei aver sbagliato qualcosa magari nella gestione dei bot o altro???????
Ciao,

Non sono gli spyware o spybot dei motori di ricerca ad inviarti le mail vuote ES:

None =
Cognome =
etc..etc..

Ma gli utenti che leggono il thread, qui e sui motori di ricerca, (molti cercano la gestione dei checkbox e per questo vedono questo thread),

il tuo WebSite è visibile sui vari motori di ricerca.

Ma il fatto di non avere controlli lato Server, basta sostituire appuntamenti.asp o contatti.asp con la URL http://www.tuo_sito.it/contatti.asp semplicemente scrivendola nella barra degli indirizzi.

Altro metodo fare un copia/incolla del tuo <form inserirlo in una pagina html, disabilitare javascript e mettere un <input type submit>, al posto del submit ipertestuale (che è gestito da javascript), ti inviano email in locale dal loro PC.

Oltre al tuo sito ad essere indicizzato dai vari motori, anche questa pagina lo è, e contiene le informazioni necessarie per fare queste operazioni.

Nella pagina contatti.asp hai questo:

<meta name="robots" content="noindex">

<script>
document.location.replace('gcontatti.htm');
</script>

altro javascript per reindirizzare l'utente che ti ha inviato la mail a gcontatti.htm , se javascript è disabilitato in gcontatti.htm non ci arrivi mai,

usa un <%response.redirect("gcontatti.htm")%> , (ache se come è impostato adesso non serve a niente, bne in js che in asp il redirect viene fatto solo dopo aver inviato la mail)

<meta name="robots" content="noindex"> NO <meta name="robots" content="index, nofollow">

L'unico modo per risolvere in modo veloce è:

la pagina che contiene il form deve avere estenzione .asp mettere in un campo nascosto <input type="hidden"> un name qualsiasi e un campo value un codice asp <% controllami_questo %> dopo nella pagina che invia la mail inserire un'altro codice che controlla la pagina che contiene il form.

Se non passi per la pagina che contiene il form l'utente lo rimandi alla pagina di compilazione dati:

ES: pagina contenente il form pippo.asp pagina che invia la mail pluto.asp.

Se non passi per pippo.asp non è possibile inviare la mail in nessun modo, link diretto o form inviato in locale da casa.

Questo metodo per controllare la pagina di provenienza è una collection della garbage request.servervariables "HTTP_REFERER" la quale controlla la pagina di provenienza, basta una if di poche righe.

Codice:
<input type="hidden" name="conferma" value="<%= referer %>">
Da mettere sotto il <form> nella pagina che invia la mail (dove controlli che i dati provengano dalla pagina del <form>)

Nella pagina che invia la mail metti:

Codice:
<%
conferma=request.form("conferma") ' riferimento al name del campo <hidden
conferma=request.servervariables("http_referer") ' richiamo della collection request.servervariables("")
if conferma = "" then ' se la risposta è vuota "" non proviene dalla pagina del form
response.redirect "reindirizza.asp" ' reindirizzi l'utente dove vuoi tu (alla pagina del form)
end if
%>
Come già detto tutte le pagine, quelle che contengono i form devono avere estenzione .ASP

Senza controlli lato server questo è l'unico modo.

PS: non seguiranno altri script preconfezionati, ma solo info e delucidazioni sulle funzioni in asp da usare.

Un forum è fatto per correggere eventuali errori su script già fatti.

Saluti, Vale.
 

coguaro

Utente Attivo
28 Mar 2004
32
0
0
39
www.coguaro.it
Ciao,

Non sono gli spyware o spybot dei motori di ricerca ad inviarti le mail vuote ES:

None =
Cognome =
etc..etc..

Ma gli utenti che leggono il thread, qui e sui motori di ricerca, (molti cercano la gestione dei checkbox e per questo vedono questo thread),
ma le mail che mi arrivano non sono con nome cognome ecc.. mi arrivano proprio senza niente è come se si apra direttamente la pagina asp del cdosys direttamente e ho parlato di bot perchè nella mail c'è il controllo per il browse e il sistema operativo e mi vengono segnati googlebot bing ecc... questo è il testo che mi arriva dalle scansioni dei bot l'unico testo nella mail è questo ( Questi i dati inseriti nel modulo presente alla pagina da Stefano Ranno con indirizzo IP 66.249.66.129 browser e sistema operativo Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) ) per quello ho pensato a problemi nella gestione dei bot o del file robots.txt che prima non c'era nenache. Il noindex per i bot nel tag delle asp l'ho messo adesso perchè pensavo poteva aiutare???? ho anche modificato il robots.txt per disabilitare la scansione di quei file pensavo che poteva aiutare anche quello in alternativa avevo pensato di inserire i file del cdosys in una sottocartella e disabilitare l'intera cartella????
 

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
ma le mail che mi arrivano non sono con nome cognome ecc.. mi arrivano proprio senza niente è come se si apra direttamente la pagina asp del cdosys direttamente e ho parlato di bot perchè nella mail c'è il controllo per il browse e il sistema operativo e mi vengono segnati googlebot bing ecc... questo è il testo che mi arriva dalle scansioni dei bot l'unico testo nella mail è questo ( Questi i dati inseriti nel modulo presente alla pagina da Stefano Ranno con indirizzo IP 66.249.66.129 browser e sistema operativo Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) ) per quello ho pensato a problemi nella gestione dei bot o del file robots.txt che prima non c'era nenache. Il noindex per i bot nel tag delle asp l'ho messo adesso perchè pensavo poteva aiutare???? ho anche modificato il robots.txt per disabilitare la scansione di quei file pensavo che poteva aiutare anche quello in alternativa avevo pensato di inserire i file del cdosys in una sottocartella e disabilitare l'intera cartella????

Ciao,

posta la configurazione di una pagina che invia l'email, e quella che ti è arrivata da 66.249.66.129 che fa riferimento a:

crawl-66-249-66-129.googlebot.com [66.249.66.129]

qualcosa non sta funzionando.

comunque sia adesso la pagina invio non è accessibile direttamente, neppure agli spyder, ma solo se si passa dalla pagina che contiene il form.

al file robots.txt puoi disabilitare la scansione dagli spyder che non interessano, ma il tuo sito non sarà più indicizzato e visibile dai motore che disabiliterai.

Come già detto consiglio controlli lato server.

Posta il codice che vediamo.

Vale.
 

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
Vedi l'allegato 1115

in allegato i due file asp di appuntamenti e contatti del cdosys che uso per l'invio ho messo anche il robots.txt così dovrebbe lasciar scansionare tutto il sito tranne i due file asp dei form o sbaglio???
Ciao,

i file zippati sono vecchiotti, sono script preconfezionati scaricabili da Aruba.

Comunque devi usare il captcha per evitare l'invio delle mail in automatico dagli spyder.

Un codice alfa/numerico inserito in una immagine, quel codice dovrà essere poi scritto in un campo di testo.

Gli spyder non sono in grado di leggere quei caratteri nelle immagini

Trovi esempi (andranno fatte modifiche) su Aruba.

Vale.
 

coguaro

Utente Attivo
28 Mar 2004
32
0
0
39
www.coguaro.it
Ciao,

i file zippati sono vecchiotti, sono script preconfezionati scaricabili da Aruba.

Comunque devi usare il captcha per evitare l'invio delle mail in automatico dagli spyder.

Un codice alfa/numerico inserito in una immagine, quel codice dovrà essere poi scritto in un campo di testo.

Gli spyder non sono in grado di leggere quei caratteri nelle immagini

Trovi esempi (andranno fatte modifiche) su Aruba.

Vale.
in che senso sono vecchiotti i file nello zip???

i file sono degli script di aruba presi dal loro vademecum perchè visto la semplicità del form mi bastava quello per il form

per il captcha preferivo non mettere cose del genere volevo lasciarlo il più usabile possibile

ma bloccando la scansione dei file .asp anche col robots.txt non mi dovrebbero più arrivare mail dagli spider o sbalgio???
 

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
Ciao,

gli script per le mail sono obsoleti, risalgono al 2005, io opterei per i capcha, almeno sei sicuro che è un'utente ad inviare la mail e non un sistema automatico.

Ripeto controlli lato Server (per sicurezza, anche contro gli spyder), almeno per una maggiore protezione.

Hai l'antivirus e Antispam per il controllo della mail inviate? da PC e dal tuo sito attivo su Aruba?

Vedi tu, qui andiamo all'infinito e non risolviamo il problema. Per il robot.txt è difficile sapere se risolverà completamente il problema.

Gli script in ASP che ho fatto girano da diversi anni e non hanno mai dato un problema.

Usi le estenzioni di Frontpage per il tuo sito?

Una soluzione definitiva e funzionale.


Vale.