Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Uso di mail() e dati del form che si perdono

    Salve a tutti,

    volendo inserire un form per i contatti nel sito (nome, cognome, email per un'iscrizione alla mailing list) ho creato la cosa in due semplici paginette:

    messaggio.php (con il form):
    codice:
    <html>
    <head>
    <title>Form x contatti</title>
    </head>
    
    <body>
    <form name="form1" method="post" action="messaggio2.php">
    	
    
    Destinatario </p>
    	
    
    Cognome 
    		<input name="cognome" type="text" id="$cognome">
    	</p>
    	
    
    Nome 
    		<input name="nome" type="text" id="nome">
    	</p>
    	
    
    Mia e-mail 
    		<input name="miamail" type="text" id="miamail">
    	</p>
    	
    
    
    		<input type="submit" name="Submit" value="Invia">
    	</p>
    </form>
    </body>
    </html>
    e messaggio2.php (che spedisce la mail):
    codice:
    <html>
    <head>
    <title>Documento senza titolo</title>
    </head>
    <body>
    <? 
    $emaildest = "webmaster@miodominio.it";
    
    $messaggio .="$nome $cognome ($miamail) si vuole iscrivere";
    $messaggio .= "\n";
    
    $subject = "Ordina online da $nome $cognome"; 
    
    $headers = "From:<$miamail>\n";
    $headers .= "Reply-To:<$miamail>\n";
    
    mail("$emaildest", $subject, $messaggio, $headers); 
    
    ?>
    </body>
    </html>
    La mail arriva ma i dati dentro non ci sono...
    Credo che il problema sia nel fato che i dati inseriti nel form devo in qualche modo "passarli" a php... ma come? Lo vorrei fare nel modo più semplice possibile per avere delle paginette da poter adattare e usare anche più avanti

  2. #2
    CORREZIONE!!! Ho trovato alcune stranezze!!!

    In realtà il metodo usato è corretto! Infatti ho provato le due paginette su di un altro server php e il tutto funziona!!!

    Che succede? Perché sul primo server (che è quello dove davvero risiede il sito che sto realizzando e che quindi dovrò usare) il form perde i dati da una pagina all'altra???? VVoVe: VVoVe: VVoVe:

    Help!!!!!

  3. #3
    Allora, il problema potrebbe essere dovuto all'impostazione
    register_globals
    di php.ini impostata su off nel server dove il codice non ti funziona.

    Questa direttiva se impostata su on consente di riferirsi in PHP alle variabili inviate da un form HTML con queste le sintassi
    $campo
    $_POST['campo']

    Se invece impostata su off (come lo è di default sulle nuove versioni di PHP) si possono usare le variabili post solo con la seconda sintassi.

    Se ci pensi ciò è più giusto perchè se hai uno script con molte variabili di cui una che hai chiamato pippo e un form che invia un post che si chiama pippo, tali variabili vanno in conflitto dato che ci si accede sempre con $pippo (tra l'altro non ricordo quale abbia precedenza :master: ).

    Spero di aver risolto il tuo problema
    Michele Castellucci
    Sviluppatore Web del Consorzio CottonBit
    Consorzio Cottonbit
    Risorse per la programmazione
    Dire Fare Programmare!

  4. #4
    Grazie, ho contattato i gestori del server ed era proprio così!

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.