- Home
- Categorie
- Coding e Sistemistica
- Help Center: consigli per il tuo progetto
- Come si crea il modulo contatti nel sito?
-
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
-
Ma il file .php come l hai rinominato???
Il nome del file php dev essere uguale al codice html inserito nella pagina..
Mi spiego se nel codice html hai questa stringa:
<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">Anche il file php, dev essere nominato mail.php
comunque non incasinarti la vita, inserisci quello creato da me, se poi vuoi inserire altre voci facci sapere...
I nomi del file .php devono essere scritti tutti uguali senza minoscole o maiuscole Tipo tipo...
-
sì, ho cambiato da mail.php a mail2.php su quello non c'è problema
-
praticamente esce l'errore sull'ultima stringa di comandi
</html>, ma non capisco perchè, visto che chiudo in pratica.
Se ci fosse un'errore su qualche altra stringa capirei
-
anche una mia amica sta provando adesso, magari a lei funziona
-
Ma dove l ho stai inserendo il form??
Sono nella tua pagina contatti, ma non lo vedo...Scusa la domanda idiota, ma mi auguro che le prove le stai facendo inserendo i file tramite ftp nella root del sito...
non vorrei che le prove le stia facendo sul descktop:):)
-
Un altra cosa, il file php..
Come lo salvi??Apri un documento notepad, ci copi il codice che ti ho postato, lo salvi facendo attenzione a mettere nella finestra a tendina TUTTI I FILE e poi dai l estensione tipo mail.php se no diventerebbe mail.php.txt.........
-
sì, sto facendo le prove caricando i file nel root
non sia mai che faccio una toppata del genere...eheheh
Adesso ti spiego, siccome il modulo che mi hai mandato usciva sfalsato in confronto alla pagina, ho provato a fare un modulo con il mio programma DW, e gli ho associato il file php che mi hai dato tu, modificando le voci dell'email e l'indirizzo dell'URL. Non posso neanche dirti la pagina dove sto facendo le prove perchè il forum non me lo consente
-
adesso
-
adesso mi sono persa...io il file l'ho fatto con Dreamweaver.
Che abbia sbagliato?