Form di contatto e relativo file in php. Qualcuno mi salvi.

Dragonfly

Nuovo Utente
2 Nov 2012
6
0
0
Buonasera a tutti, spero che questo forum sia la mia ancora di salvezza...
Devo creare un form di contatto che si invia ad un indirizzo email. Sono due settimane che ci sbatto la testa ma non riesco a risolvere il problema, insomma, ho provato a pubblicare la pagina, a inviare il form, ma non mi arriva nessuna mail. Vi posto i due script:

x il form:

HTML:
<table width="718" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td bgcolor="#FFFFFF"><form action="process.php" method="post" name="form1" id="form1" onsubmit="MM_validateForm('Nome','','R','Cognome','','R','Telefono','','RisNum','Mail','','RisEmail','Richiesta','','R');return document.MM_returnValue">
      <p class="testo">
        <label for="nome"></label>
        *Nome
        <br />
        <input name="nome" type="text" id="nome" />
        <br />
        *Cognome <br />
        <label for="cognome"></label>
        <input type="text" name="cognome" id="cognome" />
        <br />
        *Telefono<br />
        <label for="telefono"></label>
        <input type="text" name="telefono" id="telefono" />
        <br />
        *E-mail<br />
        <label for="email"></label>
        <input type="text" name="email" id="email" />
        <br />
        Data evento<br />
        <label for="data"></label>
        <input type="text" name="data" id="data" />
        <br />
        *Richiesta<br />
        <label for="richiesta"></label>
        <textarea name="richiesta" id="richiesta" cols="45" rows="5"></textarea>
        <br />
        <label for="button"></label>
        <input type="submit" name="button" id="button" value="Invia" />
        <br />
      </p>
</form></td>
  </tr>
</table>

x il php:

PHP:
<?

$destinatario = "la mia e mail";

$oggetto = "richiesta";

$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$telefono = $_POST['telefono'];
$data = $_POST['data'];
$richiesta = $_POST['richiesta'];

$intestazioni = "From: ".$email;

mail($destinatario, $oggetto, $nome, $cognome, $telefono, $data, $testo, $intestazioni);
echo "<p>Messaggio inviato</p>";

?>

Grazie per il supporto!
 
Ultima modifica di un moderatore:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
stai facendo casino con la funzione mail(), las funzione mai accetta solo 5 opzioni (da manuale php)
bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )
http://it2.php.net/manual/en/function.mail.php

modifica lo script in questo modo
PHP:
<?php
$destinatario = "la mia e mail";//qui immagino che tu non abbio voluto scrivere il tuo indirizzo
$oggetto = "richiesta";
$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$telefono = $_POST['telefono'];
$data = $_POST['data'];
$richiesta = $_POST['richiesta'];
$messaggio="$nome \n $cognome \n $telefono \n $richiesta \n";
$intestazioni = "From: ".$email;
mail($destinatario, $oggetto, $messaggio, $intestazioni);
echo "<p>Messaggio inviato</p>";
?>

poi non usare gli shorttag <? (deprecati) ma il tag <?php
inoltre mancano tutti i controlli dei post (mi sembra che tu usi js, ma js è facilmente bypassabile), è necessario fare i controlli lato server per non avere brutte sorprese
 

Dragonfly

Nuovo Utente
2 Nov 2012
6
0
0
Grazie grazie grazie e mille volte grazie!

Solo una curiosità giusto per confermarti la mia ignoranza in materia.
Come mai il mittente della mail che mi arriva non è l'indirizzo che metto nella casella email ma questa "Apache <[email protected]"???

Antonella.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
così a naso perchè (da quello che vedo)
PHP:
$intestazioni = "From: ".$email;
la variabile $email non è inizializzata
 

Dragonfly

Nuovo Utente
2 Nov 2012
6
0
0
Grazie per la risposta, ma visto che non mi smentisco mai non ho ben capito... Forse dipende dal sito altervista? Dovrei forse provarlo su un altro sito? Non ne esco più. Grazie per la pazienza.

Antonella.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
aggiungi il $_POST
PHP:
 <?php
$destinatario = "la mia e mail";//qui immagino che tu non abbio voluto scrivere il tuo indirizzo
$oggetto = "richiesta";
$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$telefono = $_POST['telefono'];
$data = $_POST['data'];
$richiesta = $_POST['richiesta'];
$email = $_POST['email'];// questo
$messaggio="$nome \n $cognome \n $telefono \n $richiesta \n";
$intestazioni = "From: ".$email;
mail($destinatario, $oggetto, $messaggio, $intestazioni);
echo "<p>Messaggio inviato</p>";
?>
 

Dragonfly

Nuovo Utente
2 Nov 2012
6
0
0
Nulla da fare. Su altervista il mittente è quella email strana che ti dicevo. Su aruba invece la mail arriva senza mittente... -.-

Antonella.
 

Dragonfly

Nuovo Utente
2 Nov 2012
6
0
0
Sono proprio una rinco........ cronica! Il campo era mail e non email... avoglia a provare e a riprovare... ho le dita consumate mannaggia a me.

Sei ufficialmente il mio salvatore.

Grazie mille di nuovo.

Antonella.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
ti do un piccolo consiglio:
quando c'è qualcosa che non va (il debug spesso è più difficile che scrivere lo script) usa la funzione var_dump()
es. nel tuo caso
PHP:
 <?php
$destinatario = "la mia e mail";//qui immagino che tu non abbio voluto scrivere il tuo indirizzo
$oggetto = "richiesta";
$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$telefono = $_POST['telefono'];
$data = $_POST['data'];
$richiesta = $_POST['richiesta'];
$email = $_POST['email'];// questo
var_dump($_POST['email']);//una volta capito la togli o la commenti
$messaggio="$nome \n $cognome \n $telefono \n $richiesta \n";
$intestazioni = "From: ".$email;
mail($destinatario, $oggetto, $messaggio, $intestazioni);
echo "<p>Messaggio inviato</p>";
?>
avresti visto a monitor un bel NULL quindi vuol dire che il valore non viene trasmesso.
mettando il var_dump() alle varie variabili e funzioni si capisce, quasi sempre, dove è l'inghippo
 

Dragonfly

Nuovo Utente
2 Nov 2012
6
0
0
Ottimo consiglio, ti ringrazio. Visto che di guai ne combino tanti mi sarà sicuramente utile.

Grazie ancora di tutto, Antonella.
 
Discussioni simili
Autore Titolo Forum Risposte Data
S come aggiustare un form di contatto? HTML e CSS 3
ANDREA20 [PHP] [HTML] crea form di contatto PHP 4
M form contatto email HTML e CSS 0
M come creare un form di contatto. PHP 19
C errore form di contatto PHP 17
T Form di contatto PHP 3
S passare un valore da un form a un file .php con metodo post PHP 4
K Form che manda dati doppi PHP 1
K Problema form update PHP 2
Elisacau [Contact form 7] Inserire Numero auto incrementante WordPress 1
K form Inserimento record mysql PHP 2
I Form con selettore HTML e CSS 0
K [php]form invio dati PHP 0
G form invio multiplo con checkbox PHP 12
nivaria.achinet Intercettare form solo dopo invio Javascript 1
D Form contatti non funzionante HTML e CSS 0
A Stampare dati da form PHP 8
M Unire 2 funzioni per l'invio di un form e con l'apertura di un div Javascript 0
I Form HTML e CSS 17
otto9due $_FILE non passa i dati dal form PHP 1
M Form: come tornare ai campi già compilati dopo invio PHP 1
G Invio form con PHP PHP 3
felino Form action costum e parametri in queryString WordPress 1
M Come recuperare molteplici input form PHP 1
M Collegamento tra form html e script php PHP 4
L form immagini per il database PHP 0
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1
L inserimento form dati multipli ? PHP 0
L Problemi form Pagina php HTML e CSS 3
Cosina Creare bottone delete in form upload PHP 5
Cosina Creare bottone delete in form upload PHP 1
D Devo far funzionare un form di contatti PHP 4
B form gestione input PHP 2
V PHP form intersecate PHP 0
8 Javascript - PDF Form Javascript 0
J Form inserimento dati in database Ajax 1
E Gestione profilo utente tramite Form PHP 3
R [C#] Form principale si blocca mentre un altro Thread lavora .NET Framework 0
M Problema con controllo form in real time jQuery 6
D Form validazione Javascript 2
R form recovery pass PHP 0
V Symfony e i form PHP 3
M form con checkbox PHP 8
F query e form con select multipla PHP 17
MarcoGrazia Verifica di una stringa o di un nome proveniente da form Snippet PHP 0
A Inserimento dati nel database tramite form + altre operazioni PHP 18
websilvia Contact form using Bootstrap 3.3.4 PHP 8
Alex_70 Button non funziona nella form PHP 2
C Form email php su pagina index.html? PHP 21

Discussioni simili