- Home
- Categorie
- Coding e Sistemistica
- Help Center: consigli per il tuo progetto
- Come si crea il modulo contatti nel sito?
-
Grazie scwd, aveva ragione la mia amica a consigliarmi di postare qui.
Siete gentilissimi.
-
Scusa scwd, non funziona così com'è, forse sbaglio qualcosa
-
Allora dimmi passo dopo passo quello che fai, chiaramente dò per scontato che lo script di mattleyy funzioni scherzo ^^
-
Grazie per la pazienza scwd, allora ho inserito il div sulla pagina html
poi ho fatto un file nuovo .php e dentro gli ho inserito le stringhe che mi ha dato mattleyy.
Ti faccio vedere le stringhe modificate, così capisci se ho sbagliato qualcosa<?php
$receiverMail = "[email protected]";
$nome = trim(strip_tags(stripslashes($_POST['nick'])));
$mail = trim(strip_tags(stripslashes($_POST['mail'])));
$subject = trim(strip_tags($_POST['oggetto']));
$msg = trim(strip_tags($_POST['messaggio']));//$ip = getenv("REMOTE_ADDR");
$msgformat = "Nome: $nome\n";
$msgformat.= "Email: $mail\n\n";
$msgformat.= "Messaggio:\n\t$msg";// VALIDATION
if(empty($nome) || empty($mail) || empty($subject) || empty($msg))
{
header("Refresh: 2; URL=.misteri-patricia-cornwell .com");
echo "<h3>Il modulo di richiesta non e' stato inoltratto</h3><p>Perfavore riempi tutti i campi obbligatori</p>";
echo "<p>Verrete reindirizzati alla pagina di compilazione campi entro 5 secondi</p>";
}
elseif(!ereg("^[_a-z0-9-]+(.[_a-z0-9-]+)@[a-z0-9-]+(.[a-z0-9-]+)(.[a-z]{2,3})$", $mail))
{
header("Refresh: 2; URL=.misteri-patricia-cornwell .com");
echo "<h3>Il modulo di richiesta non e' stato inoltratto</h3><p>L'indirizzo mail e' invalido</p>";
echo "<p>Verrete reindirizzati alla pagina di compilazione campi entro 5 secondi</p>";
}
else
{
mail($receiverMail, $subject, $msgformat, "From: $nome <$email>");
header("Refresh: 2; URL=.misteri-patricia-cornwell .com");
echo "<h3>Il modulo di richiesta e' stato inoltratto!</h3><p>Verrete ricontattati il prima possibile.</p>";</body>
</html>
-
Guarda il codice così sembra esatto, però hai chiuso il php?
Cioè il codice php va iniziato <?PHP e finito ?> e siccome nel codice non lo vedo scritto forse non cel'hai messo, ma ti dovrebbe dare errore... dimmi un pò..^^
-
Ma devo proprio scrivere <?php e finito>?
-
Eheh non proprio allora piccolo accenno: in html quando scrivi una pagina il primo e l'ultimo tag saranno <HTML> e </HTML>. In php è obbligatorio
[php]
<?PHP
//funzioni ecc ecc
?>
[/php]
Ora ti riposto il codice con il tag finale e riprovalo
[php]
<html>
<body>
<?php
$receiverMail = "[email protected]";
$nome = trim(strip_tags(stripslashes($_POST['nick'])));
$mail = trim(strip_tags(stripslashes($_POST['mail'])));
$subject = trim(strip_tags($_POST['oggetto']));
$msg = trim(strip_tags($_POST['messaggio']));
//$ip = getenv("REMOTE_ADDR");
$msgformat = "Nome: $nome\n";
$msgformat.= "Email: $mail\n\n";
$msgformat.= "Messaggio:\n\t$msg";
// VALIDATION
if(empty($nome) || empty($mail) || empty($subject) || empty($msg))
{
header("Refresh: 2; URL=.misteri-patricia-cornwell .com");
echo "<h3>Il modulo di richiesta non e' stato inoltratto</h3><p>Perfavore riempi tutti i campi obbligatori</p>";
echo "<p>Verrete reindirizzati alla pagina di compilazione campi entro 5 secondi</p>";
}
elseif(!ereg("^[_a-z0-9-]+(.[_a-z0-9-]+)@[a-z0-9-]+(.[a-z0-9-]+)(.[a-z]{2,3})$", $mail))
{
header("Refresh: 2; URL=.misteri-patricia-cornwell .com");
echo "<h3>Il modulo di richiesta non e' stato inoltratto</h3><p>L'indirizzo mail e' invalido</p>";
echo "<p>Verrete reindirizzati alla pagina di compilazione campi entro 5 secondi</p>";
}
else
{
mail($receiverMail, $subject, $msgformat, "From: $nome <$email>");
header("Refresh: 2; URL=.misteri-patricia-cornwell .com");
echo "<h3>Il modulo di richiesta e' stato inoltratto!</h3><p>Verrete ricontattati il prima possibile.</p>";
?>
</body>
</html>
[/php]
Fammi sapere ^^ e provvederemo
-
Ho fatto copia/incolla del codice tuo, ma quando provo a lanciare un'email mi esce questo errore:
Parse error: parse error in d:\hosting\misteri-patricia-cornwell.com\wwwroot\mail.php on line 41
Poi ho rifatto il modulo da sola, perchè facendo copia/incolla di quello di mattleyy, usciva spostato sulla destra.
Grazie mille per il tempo che ti sto rubando.
-
shjana copiami tutta la pagina compresi i tag html di mail.php perchè l'errore è nella linea 41, ma del codice che ti ho ripostato sono 33 linee non ti preoccupare è un forum apposta
-
Fermi tutti
ehehe l'ho rivisto e provato
ora funziona e te lo ri-ri-riposto ora dovrebbe andarti bene mancava una parentesi anche al ciclo else finale copia questo:
[PHP]
<html>
<body>
<?php
$receiverMail = "[email protected]";
$nome = trim(strip_tags(stripslashes($_POST['nick'])));
$mail = trim(strip_tags(stripslashes($_POST['mail'])));
$subject = trim(strip_tags($_POST['oggetto']));
$msg = trim(strip_tags($_POST['messaggio']));
//$ip = getenv("REMOTE_ADDR");
$msgformat = "Nome: $nome\n";
$msgformat.= "Email: $mail\n\n";
$msgformat.= "Messaggio:\n\t$msg";
// VALIDATION
if(empty($nome) || empty($mail) || empty($subject) || empty($msg))
{
header("Refresh: 2; URL=.misteri-patricia-cornwell .com");
echo "<h3>Il modulo di richiesta non e' stato inoltratto</h3><p>Perfavore riempi tutti i campi obbligatori</p>";
echo "<p>Verrete reindirizzati alla pagina di compilazione campi entro 5 secondi</p>";
}
elseif(!ereg("^[_a-z0-9-]+(.[_a-z0-9-]+)@[a-z0-9-]+(.[a-z0-9-]+)(.[a-z]{2,3})$", $mail))
{
header("Refresh: 2; URL=.misteri-patricia-cornwell .com");
echo "<h3>Il modulo di richiesta non e' stato inoltratto</h3><p>L'indirizzo mail e' invalido</p>";
echo "<p>Verrete reindirizzati alla pagina di compilazione campi entro 5 secondi</p>";
}
else
{
mail($receiverMail, $subject, $msgformat, "From: $nome <$email>");
header("Refresh: 2; URL=.misteri-patricia-cornwell .com");
echo "<h3>Il modulo di richiesta e' stato inoltratto!</h3><p>Verrete ricontattati il prima possibile.</p>";
}
?>
</body>
</html>
[/PHP]
ora deve andare e se non va cambiamo
-
Non ti avevo copiato tutta la pagina, scusa.
Adesso te la ridò tutta, comunque l'errore esce sempre.<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http_//www-w3-org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Documento senza titolo</title>
</head>
<body>
<html>
<body>
<?php
$receiverMail = "[email protected]";
$nome = trim(strip_tags(stripslashes($_POST['nick'])));
$mail = trim(strip_tags(stripslashes($_POST['mail'])));
$subject = trim(strip_tags($_POST['oggetto']));
$msg = trim(strip_tags($_POST['messaggio']));
//$ip = getenv("REMOTE_ADDR");
$msgformat = "Nome: $nome\n";
$msgformat.= "Email: $mail\n\n";
$msgformat.= "Messaggio:\n\t$msg";
// VALIDATION
if(empty($nome) || empty($mail) || empty($subject) || empty($msg))
{
header("Refresh: 2; URL=.www_misteri-patricia-cornwell .com");
echo "<h3>Il modulo di richiesta non e' stato inoltratto</h3><p>Perfavore riempi tutti i campi obbligatori</p>";
echo "<p>Verrete reindirizzati alla pagina di compilazione campi entro 5 secondi</p>";
}
elseif(!ereg("^[_a-z0-9-]+(.[_a-z0-9-]+)@[a-z0-9-]+(.[a-z0-9-]+)(.[a-z]{2,3})$", $mail))
{
header("Refresh: 2; URL=.www_misteri-patricia-cornwell .com");
echo "<h3>Il modulo di richiesta non e' stato inoltratto</h3><p>L'indirizzo mail e' invalido</p>";
echo "<p>Verrete reindirizzati alla pagina di compilazione campi entro 5 secondi</p>";
}
else
{
mail($receiverMail, $subject, $msgformat, "From: $nome <$email>");
header("Refresh: 2; URL=.www_misteri-patricia-cornwell .com");
echo "<h3>Il modulo di richiesta e' stato inoltratto!</h3><p>Verrete ricontattati il prima possibile.</p>";
?>
</body>
</html>
-
shjana sostituisci il codice vecchio con quello che ti ho ripostato manca la fine del ciclo while proprio nel finire del codice io l'ho provato (inserendo direttamente i valori per fare prima :D) e funziona l'e-mail mi è arrivata e tutto Facci sapere se a te va
-
L'ho fatto ma non funziona, può essere un problema del server?
-
allora sono andato sul tuo sito e nella pagina Contatti.html te hai cambiato i nomi dei campi modulo:
[HTML]
<form name="form1" method="post" action="mail2.php">
<p align="center">Nominativo:
<input type="text" name="textfield">
</p>
<p align="center">
E-mail: <input type="text" name="textfield"> </p> <p align="center">
Oggetto:
<input type="text" name="textfield">
</p>
<p align="center">Messaggio:
<textarea name="textarea"></textarea>
</p>
<p align="center">
<input type="submit" name="Submit" value="Invia">
<input name="Reset" type="reset" id="Reset" value="Ripristina">
</p>
</form>
[/HTML]
Al posto di quel form metti questo che è uguale e cambiano i nomi:
[HTML]
<form name="form1" method="post" action="mail2.php">
<p align="center">Nominativo:
<input type="text" name="nick">
</p>
<p align="center">
E-mail: <input type="text" name="mail"> </p> <p align="center">
Oggetto:
<input type="text" name="oggetto">
</p>
<p align="center">Messaggio:
<textarea name="messaggio"></textarea>
</p>
<p align="center">
<input type="submit" name="Submit" value="Invia">
<input name="Reset" type="reset" id="Reset" value="Ripristina">
</p>
</form>
[/HTML]
Però non sono sicuro che risolvi...comunque sistemalo e poi al massimo facciamo una prova veloce se è il tuo server che rompe ma non penso
-
Fatto, ma l'errore me lo da lo stesso. Non è che magari usano l'asp?
Comunque questo è l'errore, sempre sul file .phpParse error: parse error in d:\hosting\misteri-patricia-cornwell.com\wwwroot\mail2.php on line 40
-
Ma la linea 40 non è l'else?
strana sta cosa, comunque non demoralizziamoci proviamo il funzionamento del tuo server crea una pagina chiamata prova.php e mettici dentro questo codice:
[php]
<?PHP
$nome="scwd";
$oggetto="prova";
$mess="bla bla bla";
$mail_tua="[email protected]";
$corpo="Da $nome:
$mess.";
$header = "From: Dal tuo sito\n";
if( @mail($mail,$oggetto,$corpo,$header))
{echo "e-mail inviata con successo.";}
else
{echo "Errore! E-mail non inviata!}
?>
[/php]
Provala così com'è e vedi se ti invia un'e-mail...Apri direttamente la pagina tuosito.it/prova.php e dovrebbe inviartela...però a me funziona l'altro script...mah...
-
Niente da fare, ormai sono demoralizzata.
Probabilmente non sono capace di fare un modulo, sigh sigh
-
Il modulo che ti ho postato è perfettamente funzionante..
L unica cosa che dovevi sostituire è l indirizzo e-mail..
Poi dove c è la voce:
header("Refresh: 2; URL=.www_misteri-patricia-cornwell .com");
dove tu hai inserito www_miste........
Li va inserito l indirizzo dove hai la sezione contatti, in modo che quando l e-mail viene spedita, vengano rindirizzati nella stessa sezioni per dar modo di riscrivere una mail, se voluto ovviamente..
Ma l indirizzo l ho devi scrivere completo di http.....
Che sistema del menga questo forum, che non si possono scrivere gli indirizzi..Dai che è una cazzata, ci sono riuscito io che l ho creato sotto un tutorial...figurati se l avessi avuto pronto...
Poi, te lo ritrovavi su un lato perche devi posizionarlo dove vuoi tu, cambiando le cordinate nella stringa, ossia quei numeri 430px 360px, giocati e vedi come posizionarlo..
<div id="mail" style="position:absolute; left:430px; top:360px; margin: 0px; padding: 0px;">
<form name="form" action="mail.php" method="post">
<table width="450">facci sapere...
-
Mattley ha ragione, poi comunque il problema è nel file .php anche se hai rifatto il modulo non fa niente i nomi delle variabili ora come ti ho detto io prima sono giusti quindi ricopiaci l'intero contenuto attuale di mail.php e vediamo di nuovo
-
Il fatto è che ho paura che il problema stia nel mio server
Abbiamo riprovato tante di quelle volte con scwd, ma esce il messaggio di errore sul file .php