Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    un form che vorrei modificare

    Carissimi utenti
    quando ho creato il mio sito ho creato due pagine per ricevere le email direttamente dal sito: Una in html e una in php.

    Alla pagina html ho aggiunto degli script per rendere obbligatori i vari campi.
    fino a qualche mese fa questo escamotage teneva lontani i rompiscatole.
    Ma come si sa i rompiscatole non conoscono ostacoli e tramita l'annullamento degli script mi mandano delle email anonime tramite il mio sito e mi arrivano le email senza nulla dentro.
    Non so chi mi ha scritto, non so chi sia e non sono protetto in alcun modo.

    adesso sono qui a chiedere assistenza...
    esiste un modo per inserire le righe

    $ip = gethostbyname($_SERVER['REMOTE_ADDR']);
    $host = gethostbyname($_SERVER['REMOTE_HOST']);
    $brow = gethostbyname($_SERVER['HTTP_USER_AGENT']);
    dentro alla pagina php e fare in modo che me le mandi insieme alle altre cose? in modo da tendere un trabocchetto al maleintenzionato che mi manda le mail anonime?

    oppure in alternativa posso fare un file unico in php che sia veramente valido e che non mi mandi nulla finchè non sono davvero compilati tutti i campi? e se pure mi danno dei dati falsi, posso inserire le righe di cui sopra per riceverle alla mia email?

    innanzitutto vi mando le mie due pagine originali come erano
    Importantissimo: il mio sito usa il php versione 4

    pagina html con form----------------------------------------srivimi.htm
    <hr size="3" width="100%" align="center" color="#ffffff">
    <div align="center"><h2>Mandami una email</h2></div>
    <script language="javascript">
    <!--
    function Modulo() {
    var nome = document.modulo.nome.value;
    var oggetto = document.modulo.oggetto.value;
    var email = document.modulo.email.value;
    var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
    if ((nome == "") || (nome == "undefined")) {
    alert("Il campo Nome è obbligatorio.");
    document.modulo.nome.focus();
    return false;
    }
    else if (!email_reg_exp.test(email) || (email == "") || (email == "undefined")) {
    alert("Inserire un indirizzo email corretto.");
    document.modulo.email.select();
    return false;
    }
    else if ((oggetto == "") || (oggetto == "undefined")) {
    alert("Il campo oggetto è obbligatorio.");
    document.modulo.oggetto.focus();
    return false;
    }
    else {
    document.modulo.action = scrivimi.php;
    document.modulo.submit();
    }
    }
    //-->
    </script>
    <form method="post" name="modulo" target="_self">
    <div align="center">
    <center>
    <table border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td><font face="Arial,Verdana">Nome: </font></td>
    <td colspan="3"><input type="text" name="nome" size="30" maxlength="50">
    </td>
    </tr>
    <tr>
    <td rowspan="2">
    <p align="center">[img]scrivimi.gif[/img]</td>
    <td colspan="3"><font face="Arial,Verdana">Email: </font></td>
    </tr>
    <tr>
    <td colspan="3"><input type="text" name="email" size="30" maxlength="50">
    </td>
    </tr>
    <tr>
    <td colspan="4"></td>
    </tr>
    <tr>
    <td colspan="4">
    <p align="center">
    <font face="Arial,Verdana">Oggetto: </font></p>
    </td>
    </tr>
    <tr>
    <td colspan="4"><textarea name="oggetto" cols="35" rows="10" maxlength="550"></textarea></td>
    </tr>
    <tr>
    <td colspan="4"></td>
    </tr>
    <tr>
    <td colspan="4">
    <p align="center">
    <font face="Arial,Verdana">ATTENZIONE!
    Tutti i campi sono obbligatori!
    </font></p>
    </td>
    </tr>
    <tr>
    <td colspan="4"></td>
    </tr>
    <tr>
    <td></td>
    <td colspan="3"><input type="button" value="Invia"name="Invia" onClick="Modulo()">
    <input type="reset" value="Cancella"></td>
    </tr>
    </table>
    </center>
    </div>
    </form>
    pagina php che manda l'email ------------------------------scrivimi.php
    <?php
    $Header = "Grazie per avermi mandato la Sua email!
    Sarà ricontattato nel più breve tempo possibile!
    ";
    $Footer = "Torni presto a visitare il sito!
    mio sito
    ";
    if (!is_array($HTTP_POST_VARS))
    return;
    reset($HTTP_POST_VARS);
    while(list($key, $val) = each($HTTP_POST_VARS)) {
    $GLOBALS[$key] = $val;
    $val=stripslashes($val);
    $testo .= "$key = $val\n";
    }
    $contenuto = "$Header
    $testo
    $Footer";
    $mail = "miamail, $HTTP_POST_VARS[email]";
    if(mail($mail,'Contatti',$contenuto))
    echo include("0002.htm");
    else echo include("0001.htm");
    ?>
    Ringrazio tutti per il supporto!
    Nulla è assolutamente impossibile,
    nulla è assolutamente possibile,
    Ma tutto è probabile

    http://www.dragossido.com

  2. #2
    nessun suggerimento?
    Nulla è assolutamente impossibile,
    nulla è assolutamente possibile,
    Ma tutto è probabile

    http://www.dragossido.com

  3. #3
    Utente di HTML.it L'avatar di echoweb
    Registrato dal
    Sep 2008
    Messaggi
    419
    Ciao,

    ti posto un esempio di come mandare una mail con il dato dell'IP di chi te la manda...

    Codice PHP:

    function accessi()
    {
        
    $ip=$_SERVER['REMOTE_ADDR'];
        
    $destinatario="posta@gmail.com";
        
    $intestazione="Mail da [url]sito[/url]";
        
    $oggetto="sito visitato da $ip";
        
    $messaggio="Sito visitato da: $ip";
        
        @
    mail($destinatario$oggetto$messaggio$intestazione);




    "Non soffocare la tua ispirazione e la tua immaginazione,
    non diventare lo schiavo del tuo modello"

    Vincent van Gogh

  4. #4
    Ti ringrazio infinitamente per la risposta immediata...
    Adesso come faccio a mettere il tutto nel mio php

    Codice PHP:
    <?php $Header "Grazie per avermi mandato la Sua email! Sarà ricontattato nel più breve tempo possibile! "$Footer "Torni presto a visitare il sito! mio sito "; if (!is_array($HTTP_POST_VARS)) return; reset($HTTP_POST_VARS); while(list($key$val) = each($HTTP_POST_VARS)) { $GLOBALS[$key] = $val$val=stripslashes($val); $testo .= "$key = $val\n"; } $contenuto "$Header $testo $Footer"$mail "miamail, $HTTP_POST_VARS[email]"; if(mail($mail,'Contatti',$contenuto)) echo include("0002.htm"); else echo include("0001.htm"); ?>
    e nel caso vorrei anche mettere la funzione per controllare per i campi siano stati tutti compilati
    dovrebbe essere la funzione empty e dovrebbe essere una cosa del genere...

    Codice PHP:
      if(empty($HTTP_POST_VARS['email']) or empty($HTTP_POST_VARS['nome']) or empty($HTTP_POST_VARS['oggetto'])){ echo header('location: paginachevuoi.estensione'); } else{ il tuo script... } 
    Solo che non so come poter fare tutto il php completo di tutte queste istruzioni... posso provare a scrivere e nel caso mi correggete?
    Nulla è assolutamente impossibile,
    nulla è assolutamente possibile,
    Ma tutto è probabile

    http://www.dragossido.com

  5. #5
    Utente di HTML.it L'avatar di echoweb
    Registrato dal
    Sep 2008
    Messaggi
    419
    Prova così:

    Codice PHP:
    if(  (empty($HTTP_POST_VARS['email'])) or (empty($HTTP_POST_VARS['nome'])) or (empty($HTTP_POST_VARS['oggetto'])) )
    {
        echo 
    header('location: paginachevuoi.estensione');
    }
    else
    {

    // recupero la variabile dell'IP
    $ip=$_SERVER['REMOTE_ADDR']; 

    $Header "Grazie per avermi mandato la Sua email! Sarà ricontattato nel più breve tempo possibile! "
    $Footer "Torni presto a visitare il sito! mio sito "
    if (!
    is_array($HTTP_POST_VARS)) return; 
    reset($HTTP_POST_VARS); 
    while(list(
    $key$val) = each($HTTP_POST_VARS)) 

        
    $GLOBALS[$key] = $val
        
    $val=stripslashes($val); 
        
    $testo .= "$key = $val\n"


    $contenuto "$Header $testo $ip $Footer ";  // inserisco la variabile IP
    $mail "miamail, $HTTP_POST_VARS[email]"
    if(
    mail($mail,'Contatti',$contenuto)) 
        echo include(
    "0002.htm"); 
    else 
        echo include(
    "0001.htm"); 




    "Non soffocare la tua ispirazione e la tua immaginazione,
    non diventare lo schiavo del tuo modello"

    Vincent van Gogh

  6. #6
    woooowwww!
    hai ragione....

    Dovrebbe funzionare! adesso provo subito!
    ti ringrazio!

    ps: vorrei solo aggiungere la riga per controllare se l'amail che mi mandano è giusta!
    Nulla è assolutamente impossibile,
    nulla è assolutamente possibile,
    Ma tutto è probabile

    http://www.dragossido.com

  7. #7
    Utente di HTML.it L'avatar di echoweb
    Registrato dal
    Sep 2008
    Messaggi
    419
    Se copi questo codice in una pagina .html, vedi subilto il suo effetto.
    L'utente inserisce la mail e se non è corretta, ti esce un alert e il focus rimane nel campo mail, costringendo l'utente a selezionarlo.

    Per quanto riguarda il fatto di sapere se la mail esiste, non se se in giro c'è uno script che lo fa...

    codice:
    <script>
    function controllomail(mail)
    {
    	var espressione = /^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$/;
    	if (!espressione.test(document.getElementById(mail).value))
    	{
    	    alert("La mail inserita non è valida!");
                document.getElementById(mail).value="";
    			document.getElementById(mail).focus();
    			
    	}
    }
    </script>
     
    <input type="text" id="mail" onblur=controllomail(this.id) />


    "Non soffocare la tua ispirazione e la tua immaginazione,
    non diventare lo schiavo del tuo modello"

    Vincent van Gogh

  8. #8
    si grazie, questo controllo ce l'ho nella pagina html la prima che manda tutto al file php...
    però se uno disattiva gli script mi manda lo stesso l'email! questo è il motivo per cui ho chiadto aiuto!
    mi servirebbe un secondo controllo nella pagina php!
    Nulla è assolutamente impossibile,
    nulla è assolutamente possibile,
    Ma tutto è probabile

    http://www.dragossido.com

  9. #9
    Utente di HTML.it L'avatar di echoweb
    Registrato dal
    Sep 2008
    Messaggi
    419
    Questa funzione è in PHP e basta che la usi prima d'inviare la mail...

    Codice PHP:
    function ControlloEmail($email){
        
    $result eregi("^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$",$email);
        if(
    $result == false){
            return 
    false;
        }else{
            return 
    true;
        }


    quindi ricapitolando...

    Codice PHP:
    function ControlloEmail($email){
        
    $result eregi("^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$",$email);
        if(
    $result == false){
            return 
    false;
        }else{
            return 
    true;
        }
    }

    // determino se la mail è conforme
    $test_mail=ControlloEmail($HTTP_POST_VARS['email']);

    if(  (empty(
    $HTTP_POST_VARS['email'])) or (empty($HTTP_POST_VARS['nome'])) or (empty($HTTP_POST_VARS['oggetto'])) or $test_mail==false )
    {
        echo 
    header('location: paginachevuoi.estensione');
    }
    else
    {

    // recupero la variabile dell'IP
    $ip=$_SERVER['REMOTE_ADDR'];

    $Header "Grazie per avermi mandato la Sua email! Sarà ricontattato nel più breve tempo possibile! ";
    $Footer "Torni presto a visitare il sito! mio sito ";
    if (!
    is_array($HTTP_POST_VARS)) return;
    reset($HTTP_POST_VARS);
    while(list(
    $key$val) = each($HTTP_POST_VARS))
    {
        
    $GLOBALS[$key] = $val;
        
    $val=stripslashes($val);
        
    $testo .= "$key = $val\n";
    }

    $contenuto "$Header $testo $ip $Footer ";  // inserisco la variabile IP
    $mail "miamail, $HTTP_POST_VARS[email]";
    if(
    mail($mail,'Contatti',$contenuto))
        echo include(
    "0002.htm");
    else
        echo include(
    "0001.htm");


    Ciao


    "Non soffocare la tua ispirazione e la tua immaginazione,
    non diventare lo schiavo del tuo modello"

    Vincent van Gogh

  10. #10
    bene io ho scritto così.....

    Codice PHP:
    <?php

    function ControlloEmail($email){
        
    $result eregi("^[_a-z0-9+-]+(.[_a-z0-9+-]+)*@[a-z0-9-]+(.[a-z0-9-]+)+$",$email);
        if(
    $result == false){
            return 
    false;
        }else{
            return 
    true;
        }
    }

    $test_mail=ControlloEmail($HTTP_POST_VARS['email']);

    if(  (empty(
    $HTTP_POST_VARS['email'])) or (empty($HTTP_POST_VARS['nome'])) or (empty($HTTP_POST_VARS['oggetto'])) )
    {
        echo 
    header('0001.htm');
    }
    else
    {

    $Header "Grazie per avermi mandato la Sua email!
    Sarà ricontattato nel più breve tempo possibile!
    "
    ;
    $ip=$_SERVER['REMOTE_ADDR'];
    $host=$_SERVER['REMOTE_HOST'];
    $brow=$_SERVER['HTTP_USER_AGENT'];

    $inip "il suo indirizzo ip";
    $prov "Il suo provvider è";
    $osbw "Sistema operativo e browsew $brow";

    $Footer "Torni presto a visitare il sito!
    [url]http://www.dragossido.com[/url] 
    "
    ;

        if (!
    is_array($HTTP_POST_VARS))
        return;
    reset($HTTP_POST_VARS);
        while(list(
    $key$val) = each($HTTP_POST_VARS)) {
        
    $GLOBALS[$key] = $val;
        
    $val=stripslashes($val);
        
    $testo .= "$key = $val\n";
        }

    $contenuto "$inip $ip
    $prov $host
    $osbw $brow

    $Header

    $testo

    $Footer";
    $mail "mia mail, $HTTP_POST_VARS[email]";
    if(
    mail($mail,'Contatti',$contenuto))
    echo include(
    "0002.htm");

    else echo include(
    "0001.htm");
    }
    ?>

    Ma non mi arriva l'ip ufffffffff!
    Nulla è assolutamente impossibile,
    nulla è assolutamente possibile,
    Ma tutto è probabile

    http://www.dragossido.com

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.