• User Attivo

    Eccomi allora guarda l'ho rivisto completamente per te 😉
    [php]
    <?PHP
    //scwd^^
    //La funzione creacodice genera una stringa random di un numero di caratteri pari a
    //$n_caratteri che si trovano nell'array $caratteri (lettere alfabeto e numeri)
    $caratteri=array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','x','y','z','0','1','2','3','4','5','6','7','8','9');
    $codice="";
    $n_caratteri=5; //Numero di caratteri da generare
    for($i=0; $i<$n_caratteri; $i++)
    {
    $x=rand(0,35);
    $codice=$codice.$caratteri[$x];
    }
    if($ctrl==1)
    {
    $verifica_mail = ereg("^[^@ ]+@[^@ ]+.[^@ .]+$", $mail);
    $x=strcmp($codice_creato,$cod);
    //Controllo campi inseriti
    if(($nome=="")||($mail=="")||($richiesta=="")||(!$verifica_mail)||($x!=0)||($citta==""))
    {
    echo "<font face="verdana" size="2">
    Attenzione - si sono riscontrati i seguenti errori:<br>
    ";
    if($nome=="")
    {echo "<li>Nome non inserito;";}
    if($mail=="")
    {echo "<li>E-mail non inserita;";}
    if($richiesta=="")
    {echo "<li>Testo non inserito;";}
    if(!$verifica_mail)
    {echo "<li>E-mail non valida;";}
    if($citta=="")
    {echo "<li>Città non inserita;";}
    if($x!=0)
    {echo "<li>Codice di conferma inserito non valido;";}
    echo "<br><a href="contattaci.php">Torna indietro</a> e re-inserisci i valori nei campi.<br></font>";
    }
    else
    {
    $oggetto="Richiesta dal tuo sito"; //Oggetto del messaggio
    $mail=" "; //e-mail destinatario
    $header = "From: Dal tuo sito\n";
    $header .= "X-Mailer: Il nostro Php\n";
    // costruiamo le intestazioni specifiche per il formato HTML
    $header .= "MIME-Version: 1.0\n";
    $header .= "Content-Type: text/html; charset="iso-8859-1"\n";
    $header .= "Content-Transfer-Encoding: 7bit\n\n";
    $corpo="<br>
    Nome: $nome;<br>
    Citta: $citta;<br>
    e-mail: $mail;<br>
    Codice casa: $cod_casa;<br>
    IP: $REMOTE_ADDR;<br>
    Testo del messaggio:<br>
    $richiesta<br>
    <br>
    _______________________________________________<br>
    SCWD";
    if( @mail($mail,$oggetto,$corpo,$header))
    {echo "<br><br><font face=verdana size=3 color=blue><b><center>Bene $nome e-mail inviata con successo.</center></b><br></font>";}
    else
    {echo "<br><br><font face=verdana size=3 color=red><b><center>Errore! E-mail non inviata!</center></b><br></font>";}
    }
    }
    else
    {
    echo "
    <form name="contattaci" action="contattaci.php?ctrl=1&codice_creato=$codice" method="post">
    <table align="center">
    <tr>
    <td>
    *Nome
    </td>
    <td>
    <input type="text" size="30" name="nome">
    </td>
    </tr>

    <tr>
    <td>
    *Città
    </td>
    <td>
    <input type="text" size="30" name="citta">
    </td>
    </tr>

    <tr>
    <td>
    *e-mail
    </td>
    <td>
    <input type="text" size="50" name="mail">
    </td>
    </tr>

    <tr>
    <td>
    *Codice casa
    </td>
    <td>
    <select name="cod_casa" style="width: 150px">
    <option selected="selected">$cc</option>
    <option>01</option>
    <option>02</option>
    <option>03</option>
    <option>04</option>
    <option>05</option>
    <option>06</option>
    <option>07</option>
    <option>08</option>
    <option>09</option>
    </select>
    </td>
    </tr>

    <tr>
    <td>
    *Richiesta
    </td>
    <td>
    <textarea name="richiesta" rows="5" style="width: 400px" cols="100"></textarea>
    </td>
    </tr>

    <tr>
    <td>
    *Codice di verifica:<br><b>$codice</b>
    </td>
    <td>
    <input type="text" size="20" name="cod">
    </td>
    </tr>

    <tr>
    <td colspan="2">
    <input type="submit" value="Invia" name="submit">
    </td>
    </tr>
    </table>
    </form>";
    }
    ?>
    [/php]
    Allora ti spiego:
    [php]
    ...
    else
    {
    echo "
    <form name="contattaci" action="contattaci.php?ctrl=1&codice_creato=$codice" method="post">
    <table align="center">
    ...
    [/php]
    Allora dove vedi action ci metti il nome della tua pagina dei contatti, se hai già una pagina integra tutto lo script nella tua pagina e al posto del vecchio form ci metti questo (poi ti aggiusti te la parte grafica a tuo piacimento).
    Poi:
    [php]
    $mail=" "; //e-mail destinatario
    [/php]
    Qui ci metti l'e-mail a cui devono arrivare quindi la tua 😄
    Infine ti spiego cosa ho fatto col select del codice casa:
    Praticamente ho creato i select con 9 codici (puoi mettercene quanti ne vuoi basta aggiungerli) nel primo però se vedi c'è scritto:
    [html]
    <option selected="selected">$cc</option>
    [/html]
    Indica che è selezionato già di suo $cc. Se $cc è nullo non compare niente e quindi chi usa il form seleziona il codice, altrimenti già ha selezionato il codice (e lo può sempre cambiare). L'unica cosa è che per ogni casa che hai per esempio con codice 03 dovrai fare il link non a contatti.php ma bensì a contatti.php?cc=03 in modo che $cc=03 e quindi il primo select risulterà quello 😄
    Spero di essere stato abbastanza chiaro per qualsiasi cosa chiedi pure 😄
    P.S. l'ho provato e funziona eheh


  • User

    ho inserito il tuo script. Mi piace molto ma ho un problema.

    Nella mail che mi giunge non compare l'indirizzo del destinatario ma questa dicitura:

    [email protected] , [email protected] , [email protected]


  • User Attivo

    Mmmmm penso che sia il nome del server che invia l'e-mail...provo a vedere se riesco a non farlo apparire 😄 Ti dico appena trovo la risposta eheh


  • User Attivo

    [php]
    $header = "From: Dal tuo sito\n";
    [/php]
    Guarda ho capito il perchè, dopo sito inserisci o
    [html]
    http://www.tuosito.xxx
    [/html]
    oppure
    [html]
    <tuamail>
    [/html]
    Perchè lui non trovando l'e-mail che invia gli mette di suo quella del server 😄 ho provato ed io ho risolto 😄
    Quindi:
    [php]
    $header = "From: Dal tuo sitohttp://xxx.xxxxxx.xxx\n";
    [/php]


  • User

    non ho risolto. Ho provato sia inserendo l'url del mio che la mia mail ma mi giunge il mio indirizzo mail in questo modo:

    Dal tuo sito [email protected]
    Proprio ora mi sono giunte delle mail (da utenti che hanno utilizzato il tuo form) a cui non posso rispondere perchè non compare la loro mail.

    ti posto il codice utilizzato:

    <?PHP
    //scwd^^
    //La funzione creacodice genera una stringa random di un numero di caratteri pari a
    //$n_caratteri che si trovano nell'array $caratteri (lettere alfabeto e numeri)
    $caratteri=array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','x','y','z','0','1','2','3','4','5','6','7','8','9');
    $codice="";
    $n_caratteri=4; //Numero di caratteri da generare
    for($i=0; $i<$n_caratteri; $i++)
    {
    $x=rand(0,35);
    $codice=$codice.$caratteri[$x];
    }
    if($ctrl==1)
    {
    $verifica_mail = ereg("^[^@ ]+@[^@ ]+.[^@ .]+$", $mail);
    $x=strcmp($codice_creato,$cod);
    //Controllo campi inseriti
    if(($nome=="")||($mail=="")||($richiesta=="")||(!$verifica_mail)||($x!=0)||($citta==""))
    {
    echo "<font face="verdana" size="2">
    Attenzione - si sono riscontrati i seguenti errori:<br>
    ";
    if($nome=="")
    {echo "<li>Nome non inserito;";}
    if($mail=="")
    {echo "<li>E-mail non inserita;";}
    if($richiesta=="")
    {echo "<li>Testo non inserito;";}
    if(!$verifica_mail)
    {echo "<li>E-mail non valida;";}
    if($citta=="")
    {echo "<li>Città non inserita;";}
    if($x!=0)
    {echo "<li>Codice di conferma inserito non valido;";}
    echo "<br><a href="info_xxxxx.php">Torna indietro</a> e re-inserisci i valori nei campi.<br></font>";
    }
    else
    {
    $oggetto="Richiesta dal tuo sito"; //Oggetto del messaggio
    $mail="[email protected]"; //e-mail destinatario
    $header = "From: Dal tuo sito[email protected]\n";
    $header .= "X-Mailer: Il nostro Php\n";
    // costruiamo le intestazioni specifiche per il formato HTML
    $header .= "MIME-Version: 1.0\n";
    $header .= "Content-Type: text/html; charset="iso-8859-1"\n";
    $header .= "Content-Transfer-Encoding: 7bit\n\n";
    $corpo="<br>
    Nome: $nome;<br>
    Citta: $citta;<br>
    e-mail: $mail;<br>
    Codice casa: $cod_casa;<br>
    IP: $REMOTE_ADDR;<br>
    Testo del messaggio:<br>
    $richiesta<br>
    <br>
    _______________________________________________<br>
    SCWD";
    if( @mail($mail,$oggetto,$corpo,$header))
    {echo "<br><br><font face=verdana size=3 color=blue><b><center>$nome e-mail inviata con successo.</center></b><br></font>";}
    else
    {echo "<br><br><font face=verdana size=3 color=red><b><center>Errore! E-mail non inviata!</center></b><br></font>";}
    }
    }
    else
    {
    echo "
    <form name="info_xxxxx" action="info_xxxxxx.php?ctrl=1&codice_creato=$codice" method="post">
    <table align="center">
    <tr>
    <td>
    *Nome
    </td>
    <td>
    <input type="text" size="30" name="nome">
    </td>
    </tr>

    <tr>
    <td>
    *Città
    </td>
    <td>
    <input type="text" size="30" name="citta">
    </td>
    </tr>

    <tr>
    <td>
    *e-mail
    </td>
    <td>
    <input type="text" size="50" name="mail">
    </td>
    </tr>

    <tr>
    <td>
    *Codice casa
    </td>
    <td>
    <select name="cod_casa" style="width: 150px">
    <option selected="selected">$cc</option>
    <option>01</option>
    <option>02</option>
    <option>03</option>
    <option>04</option>
    <option>05</option>
    <option>06</option>
    <option>07</option>
    <option>08</option>
    <option>09</option>
    </select>
    </td>
    </tr>

    <tr>
    <td>
    *Richiesta
    </td>
    <td>
    <textarea name="richiesta" rows="5" style="width: 400px" cols="100"></textarea>
    </td>
    </tr>

    <tr>
    <td>
    *Codice di verifica:<br><b>$codice</b>
    </td>
    <td>
    <input type="text" size="20" name="cod">
    </td>
    </tr>

    <tr>
    <td colspan="2">
    <input type="submit" value="Invia" name="submit">
    </td>
    </tr>
    </table>
    </form>";
    }
    ?>

    Approfitto per chiederti se è possibile evidenziare il codice di validazione per renderlo più visibile anche per all'utente più distratto.

    Di nuovo saluti


  • User Attivo

    Ok allora proviamone un'altra io quando ho messo l'intera url del mio sito ha funzionato quindi prova così:
    [PHP]
    $header = "From: Dal tuo sitohttp://www.xxxxx.xxx\n";
    [/PHP]
    Fammi sapere 😄
    Dai che ci riusciamo 😉
    P.S. cosa volevi fare col DB o coi file?


  • User

    ho copiato ed inserito esattamente il codice così come l'hai riportato nel post (ovviamente inserendo il mio url) e se provo ad inviare una mail mi esce questa scritta:

    Errore! E-mail non inviata!


  • User Attivo

    [php]
    <?PHP
    //scwd^^
    //La funzione creacodice genera una stringa random di un numero di caratteri pari a
    //$n_caratteri che si trovano nell'array $caratteri (lettere alfabeto e numeri)
    $caratteri=array('a','b','c','d','e','f','g','h',' i','j','k','l','m','n','o','p','q','r','s','t','u' ,'v','x','y','z','0','1','2','3','4','5','6','7',' 8','9');
    $codice="";
    $n_caratteri=4; //Numero di caratteri da generare
    for($i=0; $i<$n_caratteri; $i++)
    {
    $x=rand(0,35);
    $codice=$codice.$caratteri[$x];
    }
    if($ctrl==1)
    {
    $verifica_mail = ereg("^[^@ ]+@[^@ ]+.[^@ .]+$", $mail);
    $x=strcmp($codice_creato,$cod);
    //Controllo campi inseriti
    if(($nome=="")||($mail=="")||($richiesta=="")||(!$ verifica_mail)||($x!=0)||($citta==""))
    {
    echo "<font face="verdana" size="2">
    Attenzione - si sono riscontrati i seguenti errori:<br>
    ";
    if($nome=="")
    {echo "<li>Nome non inserito;";}
    if($mail=="")
    {echo "<li>E-mail non inserita;";}
    if($richiesta=="")
    {echo "<li>Testo non inserito;";}
    if(!$verifica_mail)
    {echo "<li>E-mail non valida;";}
    if($citta=="")
    {echo "<li>Città non inserita;";}
    if($x!=0)
    {echo "<li>Codice di conferma inserito non valido;";}
    echo "<br><a href="info_xxxxx.php">Torna indietro</a> e re-inserisci i valori nei campi.<br></font>";
    }
    else
    {
    $oggetto="Richiesta dal tuo sito"; //Oggetto del messaggio
    $mail="[email protected]"; //e-mail destinatario
    $header = "From: Dal tuo sitohttp://www.xxxxxx.xxx\n";
    $header .= "X-Mailer: Il nostro Php\n";
    // costruiamo le intestazioni specifiche per il formato HTML
    $header .= "MIME-Version: 1.0\n";
    $header .= "Content-Type: text/html; charset="iso-8859-1"\n";
    $header .= "Content-Transfer-Encoding: 7bit\n\n";
    $corpo="<br>
    Nome: $nome;<br>
    Citta: $citta;<br>
    e-mail: $mail;<br>
    Codice casa: $cod_casa;<br>
    IP: $REMOTE_ADDR;<br>
    Testo del messaggio:<br>
    $richiesta<br>
    <br>
    _______________________________________________<br >
    SCWD";
    if( @mail($mail,$oggetto,$corpo,$header))
    {echo "<br><br><font face=verdana size=3 color=blue><b><center>$nome e-mail inviata con successo.</center></b><br></font>";}
    else
    {echo "<br><br><font face=verdana size=3 color=red><b><center>Errore! E-mail non inviata!</center></b><br></font>";}
    }
    }
    else
    {
    echo "
    <form name="info_xxxxx" action="info_xxxxxx.php?ctrl=1&codice_creato=$cod ice" method="post">
    <table align="center">
    <tr>
    <td>
    *Nome
    </td>
    <td>
    <input type="text" size="30" name="nome">
    </td>
    </tr>

    <tr>
    <td>
    *Città
    </td>
    <td>
    <input type="text" size="30" name="citta">
    </td>
    </tr>

    <tr>
    <td>
    *e-mail
    </td>
    <td>
    <input type="text" size="50" name="mail">
    </td>
    </tr>

    <tr>
    <td>
    *Codice casa
    </td>
    <td>
    <select name="cod_casa" style="width: 150px">
    <option selected="selected">$cc</option>
    <option>01</option>
    <option>02</option>
    <option>03</option>
    <option>04</option>
    <option>05</option>
    <option>06</option>
    <option>07</option>
    <option>08</option>
    <option>09</option>
    </select>
    </td>
    </tr>

    <tr>
    <td>
    *Richiesta
    </td>
    <td>
    <textarea name="richiesta" rows="5" style="width: 400px" cols="100"></textarea>
    </td>
    </tr>

    <tr>
    <td>
    *Codice di verifica:<br><b>$codice</b>
    </td>
    <td>
    <input type="text" size="20" name="cod">
    </td>
    </tr>

    <tr>
    <td colspan="2">
    <input type="submit" value="Invia" name="submit">
    </td>
    </tr>
    </table>
    </form>";
    }
    ?>
    [/php]
    Provato così?


  • User

    adesso non pare proprio la pagina. Mi compare la scritta errore line 112 ....


  • User Attivo

    Guarda l'ho ri-ri-rivisto 😄 a me ora funziona così:
    [PHP]
    <?PHP
    //scwd^^
    //La funzione creacodice genera una stringa random di un numero di caratteri pari a
    //$n_caratteri che si trovano nell'array $caratteri (lettere alfabeto e numeri)
    $caratteri=array('a','b','c','d','e','f','g','h',' i','j','k','l','m','n','o','p','q','r','s','t','u' ,'v','x','y','z','0','1','2','3','4','5','6','7',' 8','9');
    $codice="";
    $n_caratteri=4; //Numero di caratteri da generare
    for($i=0; $i<$n_caratteri; $i++)
    {
    $x=rand(0,35);
    $codice=$codice.$caratteri[$x];
    }
    if($ctrl==1)
    {
    $verifica_mail = ereg("^[^@ ]+@[^@ ]+.[^@ .]+$", $mail);
    $x=strcmp($codice_creato,$cod_immesso);
    //Controllo campi inseriti
    if(($nome=="")||($mail=="")||($richiesta=="")||(!$verifica_mail)||($x!=0)||($citta==""))
    {
    echo "<font face="verdana" size="2">
    Attenzione - si sono riscontrati i seguenti errori:<br>
    ";
    if($nome=="")
    {echo "<li>Nome non inserito;";}
    if($mail=="")
    {echo "<li>E-mail non inserita;";}
    if($richiesta=="")
    {echo "<li>Testo non inserito;";}
    if(!$verifica_mail)
    {echo "<li>E-mail non valida;";}
    if($citta=="")
    {echo "<li>Città non inserita;";}
    if($x!=0)
    {echo "<li>Codice di conferma inserito non valido;";}
    echo "<br><a href="info_xxxxx.php">Torna indietro</a> e re-inserisci i valori nei campi.<br></font>";
    }
    else
    {
    $oggetto="Richiesta dal tuo sito"; //Oggetto del messaggio
    $mail="[email protected]"; //e-mail destinatario
    $header = "From: Dal tuo sitohttp://www.xxxxxx.xxx\n";
    $header .= "X-Mailer: Il nostro Php\n";
    // costruiamo le intestazioni specifiche per il formato HTML
    $header .= "MIME-Version: 1.0\n";
    $header .= "Content-Type: text/html; charset="iso-8859-1"\n";
    $header .= "Content-Transfer-Encoding: 7bit\n\n";
    $corpo="<br>
    Nome: $nome;<br>
    Citta: $citta;<br>
    e-mail: $mail;<br>
    Codice casa: $cod_casa;<br>
    IP: $REMOTE_ADDR;<br>
    Testo del messaggio:<br>
    $richiesta<br>
    <br>
    _______________________________________________<br >
    SCWD";
    if( @mail($mail,$oggetto,$corpo,$header))
    {echo "<br><br><font face=verdana size=3 color=blue><b><center>$nome e-mail inviata con successo.</center></b><br></font>";}
    else
    {echo "<br><br><font face=verdana size=3 color=red><b><center>Errore! E-mail non inviata!</center></b><br></font>";}
    }
    }
    else
    {
    echo "
    <form name="info_xxxxx" action="xxxx.php?ctrl=1&codice_creato=$codice" method="post">
    <table align="center">
    <tr>
    <td>
    *Nome
    </td>
    <td>
    <input type="text" size="30" name="nome">
    </td>
    </tr>
    <tr>
    <td>
    *Città
    </td>
    <td>
    <input type="text" size="30" name="citta">
    </td>
    </tr>
    <tr>
    <td>
    *e-mail
    </td>
    <td>
    <input type="text" size="50" name="mail">
    </td>
    </tr>
    <tr>
    <td>
    *Codice casa
    </td>
    <td>
    <select name="cod_casa" style="width: 150px">
    <option selected="selected">$cc</option>
    <option>01</option>
    <option>02</option>
    <option>03</option>
    <option>04</option>
    <option>05</option>
    <option>06</option>
    <option>07</option>
    <option>08</option>
    <option>09</option>
    </select>
    </td>
    </tr>
    <tr>
    <td>
    *Richiesta
    </td>
    <td>
    <textarea name="richiesta" rows="5" style="width: 400px" cols="100"></textarea>
    </td>
    </tr>
    <tr>
    <td>
    *Codice di verifica:<br><b>$codice</b>
    </td>
    <td>
    <input type="text" size="20" name="cod_immesso">
    </td>
    </tr>
    <tr>
    <td colspan="2">
    <input type="submit" value="Invia" name="submit">
    </td>
    </tr>
    </table>
    </form>";
    }
    ?>
    [/PHP]
    Attento a quello che modifichi 😉


  • User

    scwd mi dispiace continuare a scocciarti ma il problema non è risolto.

    Reimpio i campi, invio la mail ma anzichè ricevere nella mia casella di posta la mail del mittente mi giunge questo testo :

    Dal tuo sito <ttp:// w*. [email protected]>

    Può essere che il problema derivi proprio da aruba?


  • User Attivo

    Questo lo manda perchè è il server a mandare la mail...però io con aruba non avevo questi problemi...riprova a reinserire l'e-mail anzichè il sito...mah 😄


  • User

    nulla di nuovo, inserendo la mail al posto dell'url mi giunge nell'indirizzo del mittente il mio indirizzo.


  • User Attivo

    Qualcun'altro ha una soluzione?


  • Consiglio Direttivo

    @salinger said:

    nulla di nuovo, inserendo la mail al posto dell'url mi giunge nell'indirizzo del mittente il mio indirizzo.
    Ciao salinger
    spero di non aver fatto confusione nel comprendere il problema 😉

    mi pare di capire che dal form l'utente ti manda una mail al tuo indirizzo e dovrebbe arrivarti:
    Mittente: mail dell'utente
    Destinatario: la tua mail

    Recuperati i dati dovrai assegnare la variabile che memorizza la mail dell'utente nell'header FROM
    [php]$header = "From: ".$mail_utente."\n";[/php]

    Se ho capito bene il problema dovrebbe essere questo.....se ho capito male....pardon 😄

    :ciauz:


  • User Attivo

    Si è così Samyron 😄 ma il problema è che a lui come mittente gli continua ad arrivare quel benedetto server di aruba 😛


  • Consiglio Direttivo

    ciao scwd
    finchè l'header rimane in questo modo
    [php]$header = "From: Dal tuo sitohttp://www.xxxxxx.xxx\n";[/php]
    gli arriverà perforza il server aruba 😄

    dovrà modificarlo in tal modo
    [php]$oggetto="Richiesta dal tuo sito"; //Oggetto del messaggio
    $mail="[email protected]"; //e-mail destinatario
    $header = "From: ".$mail."\n"; // da e-mail utente[/php]

    vediamo se così funge 😉


  • User Attivo

    Samyron lo so purtroppo eheh 😄 No ti spiego, praticamente se vedi un pò più su ho detto di mettere l'e-mail nel From ma purtroppo continua ad avere problemi, mentre a me non mi da problemi ne se inserisco l'e-mail ne se inserisco l'indirizzo del mio sito, però aruba da problemi, quindi l'unica è riprovare come dici tu di nuovo con l'e-mail e speriamo bene 😄


  • Consiglio Direttivo

    Allora mi era sfuggito quel passo, chiedo venia 😉

    Vediamo un po', non si sa mai 😉


  • User Attivo

    ehehe speriamo bene 😄