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

    Form per inviare il proprio indirizzo eMail ad una casella di posta elettronica

    Ciao a tutti, ho un form "iscriviti alla newsletter" che dovrebbe inviare ad una casella di posta elettronica l'indirizzo eMail che il visitatore ha scritto. L'eMail mi arriva ma non viene riportato l'indirizzo eMail scritto dal visitatore.

    Questo è il codice inserito nel sito:

    codice:
    </div>						<div class="col-md-3">
    							<div class="newsletter">
    								<h4>Newsletter</h4>
    								<p>Iscriviti alla nostra di newsletter per essere informato sulle nuove promozioni:</p>
    			
    								<div class="alert alert-success hidden" id="newsletterSuccess">
    									<strong>Fatto!</strong> Sei stato inserito.
    								</div>
    			
    								<div class="alert alert-danger hidden" id="newsletterError"></div>
    			
    								<form id="newsletterForm" action="php/newsletter-subscribe.php" method="POST">
    									<div class="input-group">
    										<input class="form-control" placeholder="Indirizzo eMail" name="email" id="email" type="text">
    										<span class="input-group-btn">
    											<button class="btn btn-default" type="submit">Vai</button>
    										</span>
    									</div>
    								</form>
    							</div>
    						</div>


    E questo invece è il codice del file PHP (newsletter-subscribe.php) collegato al modulo:


    Codice PHP:
    <?phpsession_cache_limiter('nocache');header('Expires: ' gmdate('r'0));
    header('Content-type: application/json');
    // Enter your email address below.$to = 'info@ecosito.eu';
    $subject 'Newsletter Subscribe';
    if(
    $to) {    $email $_POST['email'];
        
    $fields = array(        => array(            'text' => 'Email address',            'val' => $_POST['email']        )    );
        
    $message "";
        foreach(
    $fields as $field) {        $message .= $field['text'].": " htmlspecialchars($field['val'], ENT_QUOTES) . "<br>\n";    }
        
    $headers '';    $headers .= 'From: ' $name ' <' $email '>' "\r\n";    $headers .= "Reply-To: " .  $email "\r\n";    $headers .= "MIME-Version: 1.0\r\n";    $headers .= "Content-Type: text/html; charset=UTF-8\r\n";
        if (
    mail($to$subject$message$headers)){        $arrResult = array ('response'=>'success');    } else{        $arrResult = array ('response'=>'error');    }
        echo 
    json_encode($arrResult);
    } else {
        
    $arrResult = array ('response'=>'error');    echo json_encode($arrResult);
    }
    ?>

    Mi sapete aiutare che non ne vengo fuori? Grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, io proverei ad aggiungere l'attributo value all'input text email intanto.
    Hai provato ad eliminare htmlspecialchars() ?
    Il codice lo potresti un po' migliorare così
    Codice PHP:
    <?phpsession_cache_limiter('nocache');header('Expires: ' gmdate('r'0));header('Content-type: application/json');// Enter your email address below.$to = 'info@ecosito.eu';
    $subject 'Newsletter Subscribe';$arrResult = array ('response'=>'error');if($to) {    $email $_POST['email'];
        
    $fields = array(          => array('text' => 'Email address''val' => $email  )    );
        
    $message "";    foreach($fields as $field) {        $message .= $field['text'].": " $field['val'] . "<br>\n";    }
        
    $headers '';    $headers .= 'From: ' $name ' <' $email '>' "\r\n";    $headers .= "Reply-To: " .  $email "\r\n";    $headers .= "MIME-Version: 1.0\r\n";    $headers .= "Content-Type: text/html; charset=UTF-8\r\n";
        if (
    mail($to$subject$message$headers)){        $arrResult = array ('response'=>'success');    }    }echo json_encode($arrResult);?>
    Se metti un var_dump($_POST); che dati passano da questa??

  3. #3
    Quote Originariamente inviata da m4rko80 Visualizza il messaggio
    Ciao, io proverei ad aggiungere l'attributo value all'input text email intanto.
    Hai provato ad eliminare htmlspecialchars() ?
    Il codice lo potresti un po' migliorare così
    Codice PHP:
    <?phpsession_cache_limiter('nocache');header('Expires: ' gmdate('r'0));header('Content-type: application/json');// Enter your email address below.$to = 'info@ecosito.eu';
    $subject 'Newsletter Subscribe';$arrResult = array ('response'=>'error');if($to) {    $email $_POST['email'];
        
    $fields = array(          => array('text' => 'Email address''val' => $email  )    );
        
    $message "";    foreach($fields as $field) {        $message .= $field['text'].": " $field['val'] . "<br>\n";    }
        
    $headers '';    $headers .= 'From: ' $name ' <' $email '>' "\r\n";    $headers .= "Reply-To: " .  $email "\r\n";    $headers .= "MIME-Version: 1.0\r\n";    $headers .= "Content-Type: text/html; charset=UTF-8\r\n";
        if (
    mail($to$subject$message$headers)){        $arrResult = array ('response'=>'success');    }    }echo json_encode($arrResult);?>
    Se metti un var_dump($_POST); che dati passano da questa??
    In questo modo non arriva proprio nulla e non appare più la scritta "Fatto! Ti sei inserito"

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    La domanda era cosa stampa a video il var_dump. Poi dovresti formattare il codice.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  5. #5
    Quote Originariamente inviata da badaze Visualizza il messaggio
    La domanda era cosa stampa a video il var_dump. Poi dovresti formattare il codice.
    Purtroppo non me ne intendo, ho appena iniziato a smanettare l'html

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.