Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Script PHP Invio Mail

  1. #1

    Script PHP Invio Mail

    Salve a tutti!

    Ho un piccolo problema: mi sono da poco pubblicato un sito web personale sviluppato in php (andstyle.altervista.org) nel quale è presente anche una pagina "contacts.php" nella quale è presente un form per appunto farmi contattare dagli utenti; qui di seguito il codice del form:


    <form id="form1" name="form1" method="post" action="andstylemail_2.php">
    <table width="400" border="0" align="center" cellpadding="2" cellspacing="2">
    <tr>
    <td width="90" height="20"><font color="#333333">Nome</font></td>
    <td><label>
    <input name="nome" type="text" id="nome" />
    </label></td>
    </tr>
    <tr>
    <td width="90" height="20"><font color="#333333">Cognome</font></td>
    <td><label>
    <input type="text" name="cognome" id="cognome" />
    </label></td>
    </tr>
    <tr>
    <td width="90" height="20"><font color="#333333">Città</font></td>
    <td><select name="citta" id="citta" style="width:155px;">
    <option value="" selected="selected">Scegli la tua provincia</option>
    <option value="Agrigento" >Agrigento</option>
    <option value="Alessandria" >Alessandria</option>
    <option value="Ancona" >Ancona</option>
    <option value="Aosta" >Aosta</option>
    <option value="Arezzo" >Arezzo</option>
    <option value="Ascoli Piceno" >Ascoli Piceno</option>
    <option value="Asti" >Asti</option>
    <option value="Avellino" >Avellino</option>
    <option value="Bari" >Bari</option>
    <option value="Belluni" >Belluno</option>
    <option value="Benevento" >Benevento</option>
    <option value="Bergamo" >Bergamo</option>
    <option value="Biella" >Biella</option>
    <option value="Bologna" >Bologna</option>
    <option value="Bolzano" >Bolzano</option>
    <option value="Brescia" >Brescia</option>
    <option value="Brindisi" >Brindisi</option>
    <option value="Cagliari" >Cagliari</option>
    <option value="Caltanissetta" >Caltanissetta</option>
    <option value="Campobasso" >Campobasso</option>
    <option value="Caserta" >Caserta</option>
    <option value="Catania" >Catania</option>
    <option value="Catanzaro" >Catanzaro</option>
    <option value="Chieti" >Chieti</option>
    <option value="Como" >Como</option>
    <option value="Cosenza" >Cosenza</option>
    <option value="Cremona" >Cremona</option>
    <option value="Crotone" >Crotone</option>
    <option value="Cuneo" >Cuneo</option>
    <option value="Enna" >Enna</option>
    <option value="Ferrara" >Ferrara</option>
    <option value="Firenze" >Firenze</option>
    <option value="Foggia" >Foggia</option>
    <option value="Forlì Cesena" >Forlì Cesena</option>
    <option value="Frosinone" >Frosinone</option>
    <option value="Genova" >Genova</option>
    <option value="Gorizia" >Gorizia</option>
    <option value="Grosseto" >Grosseto</option>
    <option value="Imperia" >Imperia</option>
    <option value="Isernia" >Isernia</option>
    <option value="L'Aquila" >L'Aquila</option>
    <option value="La Spezia" >La Spezia</option>
    <option value="Latina" >Latina</option>
    <option value="Lecce" >Lecce</option>
    <option value="Lecco" >Lecco</option>
    <option value="Livorno" >Livorno</option>
    <option value="Lodi" >Lodi</option>
    <option value="Lucca" >Lucca</option>
    <option value="Macerata" >Macerata</option>
    <option value="Mantova" >Mantova</option>
    <option value="Massa Carrara" >Massa Carrara</option>
    <option value="Matera" >Matera</option>
    <option value="Messina" >Messina</option>
    <option value="Milano" >Milano</option>
    <option value="Modena" >Modena</option>
    <option value="Napoli" >Napoli</option>
    <option value="Novara" >Novara</option>
    <option value="Nuoro" >Nuoro</option>
    <option value="Oristano" >Oristano</option>
    <option value="Padova" >Padova</option>
    <option value="Palermo" >Palermo</option>
    <option value="Parma" >Parma</option>
    <option value="Pavia" >Pavia</option>
    <option value="Perugia" >Perugia</option>
    <option value="Pesaro e Urbino" >Pesaro e Urbino</option>
    <option value="Pescara" >Pescara</option>
    <option value="Piacenza" >Piacenza</option>
    <option value="Pisa" >Pisa</option>
    <option value="Pistoia" >Pistoia</option>
    <option value="Pordenone" >Pordenone</option>
    <option value="Potenza" >Potenza</option>
    <option value="Prato" >Prato</option>
    <option value="Ragusa" >Ragusa</option>
    <option value="Ravenna" >Ravenna</option>
    <option value="Reggio Calabria" >Reggio Calabria</option>
    <option value="Reggio Emilia" >Reggio Emilia</option>
    <option value="Rieti" >Rieti</option>
    <option value="Rimini" >Rimini</option>
    <option value="Roma" >Roma</option>
    <option value="Rovigo" >Rovigo</option>
    <option value="Salerno" >Salerno</option>
    <option value="Sassari" >Sassari</option>
    <option value="Savona" >Savona</option>
    <option value="Siena" >Siena</option>
    <option value="Siracusa">Siracusa</option>
    <option value="Sondrio" >Sondrio</option>
    <option value="Taranto" >Taranto</option>
    <option value="Teramo" >Teramo</option>
    <option value="Terni" >Terni</option>
    <option value="Torino" >Torino</option>
    <option value="Trapani" >Trapani</option>
    <option value="Trento" >Trento</option>
    <option value="Treviso" >Treviso</option>
    <option value="Trieste" >Trieste</option>
    <option value="Udine" >Udine</option>
    <option value="Varese" >Varese</option>
    <option value="Venezia" >Venezia</option>
    <option value="Verbania" >Verbania</option>
    <option value="Vercelli" >Vercelli</option>
    <option value="Verona" >Verona</option>
    <option value="Vibo Valentia" >Vibo Valentia</option>
    <option value="Vicenza" >Vicenza</option>
    <option value="Viterbo" >Viterbo</option>
    </select></td>
    </tr>
    <tr>
    <td width="90" height="20"><font color="#333333">E-mail</font></td>
    <td><label>
    <input type="text" name="email" id="email" />
    </label></td>
    </tr>
    <tr>
    <td width="90" valign="top"><font color="#333333">Richiesta</font></td>
    <td height="100" valign="top"><label>
    <textarea name="richiesta" cols="45" rows="5" id="richiesta"></textarea>
    </label></td>
    </tr>
    </table><table width="100" border="0" align="center" cellpadding="2" cellspacing="2">
    <tr>
    <td><label>
    <input type="submit" name="invia" id="invia" value="Invia" />
    </label></td>
    <td><label>
    <input type="reset" name="reset" id="reset" value="Reset" />
    </label></td>
    </tr>
    </table>
    </form>



    Come potete ben vedere dal codice, alla pressione del tasto "invia" si viene indirizzati su un'ulteriore pagina chiamata "andstylemail_2.php" che ho inserito come azione del form della pagina "contacts.php"; qui di seguito posto il codice della pagina "andstylemail_2.php":


    <?


    // Inserisci il tuo indirizzo Email
    $adminaddress = "and83@tiscali.it";

    // Inserisci l'indirizzo del tuo sito
    $siteaddress ="http://andstyle.altervista.org";

    // Inserisci il nome della tua compagnia o del tuo sito
    $sitename = "anstyle.altervista.org";

    // Prendo la data e l'ora dal tuo server
    $date = date("d/m/Y H:i:s");

    // Prendo l'indizizzo IP
    if ($REMOTE_ADDR == "") $ip = "no ip";
    else $ip = getHostByAddr($REMOTE_ADDR);

    // Prendo le variabili dal form
    // e le invio formattate all'indirizzo specificato
    IF ($action != "post")
    {
    mail("$adminaddress","Messaggio da andstyle.altervista.org",
    "Messaggio ricevuto dal sito andstyle.altervista.org

    Nome: $nome
    Cognome: $cognome
    Città: $citta
    E-mail: $email
    Richiesta: $richiesta
    ------------------------------
    Informazioni Utente :
    Utente: $HTTP_USER_AGENT
    Hostname: $ip
    IP address: $REMOTE_ADDR
    Data/ora: $date","FROM: $adminaddress");


    // Prendo l'Email dell'utente e mando una risposta automatica al suo indirizzo
    mail("$email","Grazie per aver visitato $sitename","Il suo messaggio è stato ricevuto, appena possibile le sarà inviata una risposta","da: $adminaddress");


    // Confirmation is sent back to the Flash form that the process is complete
    $sendresult = "Ben Fatto!";
    $send_answer = "risposta=";
    $send_answer .= rawurlencode($sendresult);

    // echo "$send_answer";

    }

    ?>



    Ho salvato le pagine e le ho pubblicate sul mio sito (v. indirizzo web ad inizio pagina); come mai quando provo a mandarmi una comunicazione direttamente dal form del mio sito web, nella mail conseguente che mi arriva all'indirizzo di posta "and83@tiscali.it" non risulta nulla nei campi "Nome, Cognome, Città, E-mail e Richiesta", precedentemente compilati nella pagina contatti?
    C'è forse qualcosa di sbagliato nel codice del file "andstylemail_2.php"?
    Nei siti web realizzati in flash, il processo funzionava...

    Vi ringrazio già anticipatamente per l'aiuto..
    Andrew

  2. #2
    Lo script presuppone che l'opzione di PHP register_globals sia ON, cosa che non credo accada visto che è assolutamente sconsigliato utilizzarla. Per riferirti alle varie variabili invece di Nome: $nome, $cognome, etc... devi usare $_POST['nome'], $_POST['cognome'] e tutto dovrebbe funzionare.
    Visita il mio blog e canale YouTube dedicati a programmazione web e sicurezza informatica.

  3. #3
    Grazie mille per l'aiuto! Una cosa mi sfugge: cosa intendi quando dici "Lo script presuppone che l'opzione di PHP register_globals sia ON, cosa che non credo accada visto che è assolutamente sconsigliato utilizzarla"? Che cosa devo cambiare nello script? Per le variabili invece tutto ok! Grazie mille ancora!
    Andrew

  4. #4
    Ho risolto! Ho inserito le stringhe che mi hai postato, però così com'erano non funzionavano, ho dovuto togliere le virgolette dal nome della variabile, quindi anziché così:


    Nome: $_POST['nome']
    Cognome: $_POST['cognome']
    Città: $_POST['citta']


    le ho scritte così:


    Nome: $_POST[nome]
    Cognome: $_POST[cognome]
    Città: $_POST[citta]



    .. Poi per il discorso "PHP register_globals", mi sono informato in vari forum ed alla fine ho inserito le seguenti stringhe all'interno dello script:




    /**
    * @version $Id: globals.php-off 47 2005-09-15 02:55:27Z rhuk $
    * @package Joomla
    * @copyright Copyright (C) 2005 Open Source Matters. All rights reserved.
    * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
    * Joomla! is free software and parts of it may contain or be derived from the
    * GNU General Public License or other free or open source software licenses.
    * See COPYRIGHT.php for copyright notices and details.
    */

    /**
    * Emulates register globals = off
    */
    function unregister_globals () {
    $REQUEST = $_REQUEST;
    $GET = $_GET;
    $POST = $_POST;
    $COOKIE = $_COOKIE;
    if (isset ( $_SESSION )) {
    $SESSION = $_SESSION;
    }
    $FILES = $_FILES;
    $ENV = $_ENV;
    $SERVER = $_SERVER;
    foreach ($GLOBALS as $key => $value) {
    if ( $key != 'GLOBALS' ) {
    unset ( $GLOBALS [ $key ] );
    }
    }
    $_REQUEST = $REQUEST;
    $_GET = $GET;
    $_POST = $POST;
    $_COOKIE = $COOKIE;
    if (isset ( $SESSION )) {
    $_SESSION = $SESSION;
    }
    $_FILES = $FILES;
    $_ENV = $ENV;
    $_SERVER = $SERVER;
    }
    unregister_globals();


    Mi sembra che funzioni tutto. Se hai altre indicazioni dimmi pure!
    Grazie mille!
    Andrew

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.