Problema invio dati form contatti

  • Creatore Discussione Creatore Discussione Arsabia
  • Data di inizio Data di inizio

Arsabia

Nuovo Utente
17 Mag 2014
22
0
0
Londra
Ciao a tutti...aiutooo!

Dunque, il mio problema è simile a quello di altri. Non riesco ad utilizzare il form che ho inserito nel mio sito.
Tutto bene in quanto a disposizione degli spazi di cui necessito, quindi Name, Surname, Email, Message e Submit, ma poi? Cosa devo fare perché funzioni? Ho letto una marea di forum relativi al form contatti, ma se non sei un super esperto, col cavolo che ne vieni fuori. Ora, ho capito che mi serve una pagina .php che deve essere messa nella stessa cartella della pagina html, ma come farle comunicare tra di loro?

Qui la pagina: www.sabrinapedrazzi.com/contacts.html

Grazie!:)
 
:crying:

Eccomi...spetta spetta...hai detto che la funzione mail di .php andrebbe bene (ho scaricato lo zip).
Ma adesso? Devo portare pari pari la pagina.php dove ho la pagina html?
Non credo, dal momento che gli elementi che mi servono sono sono diversi da quelli riportati nell'esempio.

Vorrei capire cosa devo scrivere nella pagina .php che corrisponda ai miei di elementi della pagina html (Name, Surname, Email, Message e Submit).
Non sono un'espertona del web. Sto cercando di capire le dinamiche ma sono ancora abbastanza lontana dalla soluzione.

Riesci a venirmi incontro?
Grazie
 
Il form deve avere come action la pagina php ()

Nella pagina php devi scrivere

PHP:
<?php
$messaggio="Name: $_POST[name], Surname: $_POST[surname], email: $_POST[email], message: $_POST[email]";
mail("mittente","form",$messaggio);
?>

Inviato con Tapatalk Free da Android
 
Ultima modifica di un moderatore:
Il form deve avere come action la pagina php ()

Nella pagina php devi scrivere

Codice:
<?php
$messaggio="Name: $_POST[name], Surname: $_POST[surname], email: $_POST[email], message: $_POST[email]";
mail("mittente","form",$messaggio);
?>

Inviato con Tapatalk Free da Android

OK, fatto...ho chiamato la pagina invia.php
Ora, una volta posizionata nella stessa cartella contenente la pagina html dei contatti
dove va messo il riferimento php? (se va messo)

Grazie
 
Scusa, mi sa che non sono stata chiara...volevo dire, ora cosa devo fare?
Naturalmente aggiunta la pagina php non succede nulla. Come collegarle?
Cosa devo aggiungere alla mia pagina html perché funzioni? :)
 
credo di aver fatto un pasticcio di codici...mi diresti quale sarebbe il codice per il form? ne ho uno che credo non corrisponda
alla pagina php :confused:
 
NOTA BENE, PRIMA DI MODIFICARE I TUOI FILES; FANNE COPIA !

dal tuo sito ho copiato il codice html della pagina dei contatti, ho creato un file che contiene queste righe
e tutte quelle che seguono ma che non riporto
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Contacts</title>

ho modificato la form inserendo il metodo POST,
HTML:
<form name=sa_htmlform style="margin:0px" method="post" onsubmit="return sa_contactform()">
ho assegnato il nome al bottone di invio per poterlo riconoscere
HTML:
<tr><td><input type="submit" name="Submitted" value="Send Message" style=""></td></tr>
nel file che avevo creato, ho ANTEPOSTO al tuo codice html il seguente codice,
PHP:
<?php
if (isset($_POST['Submitted'])){

  // parametri del servizio mail utilizzato
  $eM_Host     = "smtp.example.com";	// SMTP servizio mail
  $eM_Port     = 25;
  $eM_username = "[email protected]";	// utente conosciuto dal servizio mail usato
  $eM_password = "password";		// password dell'utente

  // info dal form da inviare
  $eM_TO1     = "[email protected]";	// destinatario del messaggio
  $eM_subject = $_POST['subject'];
  $eM_body    = date('d-m-Y H:i:s') . "<br /><br />";
  $eM_body   .= "message from : " . $_POST['name'] . " " . $_POST['surname'] . "<br />";
  $eM_body   .= "e-mail : " . $_POST['email'] . "<br /><br />";
  $eM_body   .= "subject : " . $_POST['subject'] . "<br /><br />";
  $eM_body   .= $_POST['message'];

  // altri indirizzi che possono essere utili
  $eM_CC1     = "";	// destinatario della copia conoscenza
  $eM_BCC1    = "";	// destinatario nascosto della copia conoscenza
  $eM_ReplyTo = $_POST['email'];	// rispondere a ...



  // imposta i parametri del servizio mail utilizzato (eventualmente commentare)
  ini_set("SMTP"     ,$eM_Host);
  ini_set("smtp_port",$eM_Port);
  ini_set("username" ,$eM_username);
  ini_set("password" ,$eM_password);

  // prepara e invia messaggio
  $eM_header = "MIME-Version: 1.0\r\n";
  $eM_header.= "Content-type: text/html; charset=utf-8\r\n";
  $eM_header.= "From: <".$eM_username.">\r\n";

  if(!empty($eM_CC1))  $eM_header.= "cc: " .$eM_CC1 ."\r\n";	// copia conoscenza
  if(!empty($eM_BCC1)) $eM_header.= "Bcc: ".$eM_BCC1."\r\n";	// copia conoscenza nascosta

  if(!empty($eM_ReplyTo)) $eM_header.= "Reply-To: ".$eM_ReplyTo."\r\n";	// rispondere a ...

  if (mail($eM_TO1, $eM_subject, $eM_body, $eM_header))
    error_log("<b>MESSAGGIO INVIATO</b> mittente : ".$_POST['email'], 0);
  else                                                  
    error_log("<b>ERRORE : MESSAGGIO NON INVIATO</b> mittente : ".$_POST['email'], 0);
}
?>

assemblato il codice come detto sopra,
1) dovresti inserire i parametri corretti del servizio mail che utilizzi per l'invio

2) nella variabile "$eM_TO1" inserisci l'indirizzo a cui vuoi siano destinati i messaggi di chi ti contatta

3) prendi nota che nella riga
PHP:
$eM_header.= "From: <".$eM_username.">\r\n";
ho messo volutamente lo user del servizio di posta, lascialo e solo dopo aver visto le mail arrivare
puoi provare a cambiarlo

4) prendi nota che nella variabile "$eM_ReplyTo" ho messo l'indirizzo del contatto,
perché rispondendo al messaggio ricevuto, troverai l'indirizzo del contatto come destinatario

5) prendi nota che l'esito dell'invio è scritto nel log di php

RINVIA le modifiche, salvo quelle suggerite, a dopo aver visto le mail arrivare .....
ciao
Marino

ps importante, a me funziona ...
 
Cattura.PNG
ho cercato di copiare gli script js per vederne il contenuto,
ma anche richiamando il sito ottengo il messaggio di errore dell'immagine
ciao
Marino
 
NOTA BENE, PRIMA DI MODIFICARE I TUOI FILES; FANNE COPIA !

dal tuo sito ho copiato il codice html della pagina dei contatti, ho creato un file che contiene queste righe
e tutte quelle che seguono ma che non riporto
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Contacts</title>

ho modificato la form inserendo il metodo POST,
HTML:
<form name=sa_htmlform style="margin:0px" method="post" onsubmit="return sa_contactform()">
ho assegnato il nome al bottone di invio per poterlo riconoscere
HTML:
<tr><td><input type="submit" name="Submitted" value="Send Message" style=""></td></tr>
nel file che avevo creato, ho ANTEPOSTO al tuo codice html il seguente codice,
PHP:
<?php
if (isset($_POST['Submitted'])){

  // parametri del servizio mail utilizzato
  $eM_Host     = "smtp.example.com";	// SMTP servizio mail
  $eM_Port     = 25;
  $eM_username = "[email protected]";	// utente conosciuto dal servizio mail usato
  $eM_password = "password";		// password dell'utente

  // info dal form da inviare
  $eM_TO1     = "[email protected]";	// destinatario del messaggio
  $eM_subject = $_POST['subject'];
  $eM_body    = date('d-m-Y H:i:s') . "<br /><br />";
  $eM_body   .= "message from : " . $_POST['name'] . " " . $_POST['surname'] . "<br />";
  $eM_body   .= "e-mail : " . $_POST['email'] . "<br /><br />";
  $eM_body   .= "subject : " . $_POST['subject'] . "<br /><br />";
  $eM_body   .= $_POST['message'];

  // altri indirizzi che possono essere utili
  $eM_CC1     = "";	// destinatario della copia conoscenza
  $eM_BCC1    = "";	// destinatario nascosto della copia conoscenza
  $eM_ReplyTo = $_POST['email'];	// rispondere a ...



  // imposta i parametri del servizio mail utilizzato (eventualmente commentare)
  ini_set("SMTP"     ,$eM_Host);
  ini_set("smtp_port",$eM_Port);
  ini_set("username" ,$eM_username);
  ini_set("password" ,$eM_password);

  // prepara e invia messaggio
  $eM_header = "MIME-Version: 1.0\r\n";
  $eM_header.= "Content-type: text/html; charset=utf-8\r\n";
  $eM_header.= "From: <".$eM_username.">\r\n";

  if(!empty($eM_CC1))  $eM_header.= "cc: " .$eM_CC1 ."\r\n";	// copia conoscenza
  if(!empty($eM_BCC1)) $eM_header.= "Bcc: ".$eM_BCC1."\r\n";	// copia conoscenza nascosta

  if(!empty($eM_ReplyTo)) $eM_header.= "Reply-To: ".$eM_ReplyTo."\r\n";	// rispondere a ...

  if (mail($eM_TO1, $eM_subject, $eM_body, $eM_header))
    error_log("<b>MESSAGGIO INVIATO</b> mittente : ".$_POST['email'], 0);
  else                                                  
    error_log("<b>ERRORE : MESSAGGIO NON INVIATO</b> mittente : ".$_POST['email'], 0);
}
?>

assemblato il codice come detto sopra,
1) dovresti inserire i parametri corretti del servizio mail che utilizzi per l'invio

2) nella variabile "$eM_TO1" inserisci l'indirizzo a cui vuoi siano destinati i messaggi di chi ti contatta

3) prendi nota che nella riga
PHP:
$eM_header.= "From: <".$eM_username.">\r\n";
ho messo volutamente lo user del servizio di posta, lascialo e solo dopo aver visto le mail arrivare
puoi provare a cambiarlo

4) prendi nota che nella variabile "$eM_ReplyTo" ho messo l'indirizzo del contatto,
perché rispondendo al messaggio ricevuto, troverai l'indirizzo del contatto come destinatario

5) prendi nota che l'esito dell'invio è scritto nel log di php

RINVIA le modifiche, salvo quelle suggerite, a dopo aver visto le mail arrivare .....
ciao
Marino

ps importante, a me funziona ...

Se ti dico che mi sento profondamente demoralizzata...ti dice niente? :(
Ho un dubbio. Anzi, più di uno. Ma il codice da anteporre a quello che hai scritto tu,
va inserito nella pagina php a partire dalla prima riga?
Non so cosa dire...mi sento ebete in questi momenti...
 
Aspetta, il funzionamento del form, fatte le modifiche, lo vedo quando pubblico la pagina contatti o posso già vederlo nell'anteprima di Dreamweaver?
 

Discussioni simili