Avatar billede frosty-dk Nybegynder
07. april 2007 - 12:58 Der er 7 kommentarer og
1 løsning

kontak form

Hej eksperter,

Jeg har fundet denne guide til et mail formular script og her er scriptet:

"Mailer.php"
<?php
if(isset($_POST['submit'])) {

$to = "support@d-signs.dk";
$subject = "contact";
$name_field = $_POST['name'];
$email_field = $_POST['email'];
$message = $_POST['message'];

$body = "From: $name_field\n E-Mail: $email_field\n Message:\n $message";

echo "Data has been submitted to $to!";
mail($to, $subject, $body);

} else {

echo "blarg!";

}
?>


"kontakt.htm"
<form method="POST" action="mailer.php">
  <p>Navn:<input type="text" name="name" size="19"><br>
  <br>
  E-mail:<input type="text" name="email" size="19"><br>
  <br>
  Kommentar:<br><textarea rows="9" name="message" cols="30"></textarea>
  <br>
  <input type="submit" value="send" name="submit"></p>




Formularen virker fint og gør præcis som den skal, men vil meget gerne have en validering ind så den siger man skal udfylde felterne får den sender så jeg ikke modtager tomme mails, og så de to echo's der er vil jeg gerne have som link til seperate sider.

Hvordan ordner jeg de to problemer?
er meget grøn i php så vil i ikke også gerne placere det i scriptet hvis i ved det?
Avatar billede editone Nybegynder
07. april 2007 - 13:07 #1
Du kan lave valideringen på 2 måder..
Enten Server Site med php eller Client Site med Javascript.
Dette er serversite hvilke ikke betyder noget hvis du ikke har rigtig mange besøgende
"Mailer.php"
<?php
if(isset($_POST['submit']) && $_post['name'] != " " && $_post[email] != " " && $_post['message'] != " ") {

$to = "support@d-signs.dk";
$subject = "contact";
$name_field = $_POST['name'];
$email_field = $_POST['email'];
$message = $_POST['message'];

$body = "From: $name_field\n E-Mail: $email_field\n Message:\n $message";

echo "Data has been submitted to $to!";
mail($to, $subject, $body);

} else {

$errmessage = "Et eller flere felter er ikke udfyldt.";

}
?>
"kontakt.php"
<form method="POST" action="mailer.php">
  <p>Navn:<input type="text" name="name" size="19"><br>
  <br>
  E-mail:<input type="text" name="email" size="19"><br>
  <br>
  Kommentar:<br><textarea rows="9" name="message" cols="30"></textarea>
  <br>
  <input type="submit" value="send" name="submit"></p>
</form>
<?php if($errmessage != " ") { echo "<p>$errmessage</p>"; } ?>
Avatar billede editone Nybegynder
07. april 2007 - 13:08 #2
Du skal nok lige ændre den sidste linje til:
<?php if($errmessage != " ") {
echo "<p>";
echo $errmessage;
echo "</p>"; } ?>
Avatar billede frosty-dk Nybegynder
07. april 2007 - 14:02 #3
har gjort følgende:

"mailer.php"
<?php
if(isset($_POST['submit']) && $_post['name'] != " " && $_post[email] != " " && $_post['message'] != " ") {

$to = "support@d-signs.dk";
$subject = "contact";
$name_field = $_POST['name'];
$email_field = $_POST['email'];
$message = $_POST['message'];

$body = "From: $name_field\n E-Mail: $email_field\n Message:\n $message";

echo "Data has been submitted to $to!";
mail($to, $subject, $body);

} else {

$errmessage = "Et eller flere felter er ikke udfyldt.";

}
?>

"kontakt.php"
<form method="POST" action="mailer.php">
  <p>Navn:<input type="text" name="name" size="19"><br>
  <br>
  E-mail:<input type="text" name="email" size="19"><br>
  <br>
  Kommentar:<br><textarea rows="9" name="message" cols="30"></textarea>
  <br>
  <input type="submit" value="send" name="submit"></p>
</form>
<?php if($errmessage != " ") {
echo "<p>";
echo $errmessage;
echo "</p>"; } ?>

men den virker ikke den siger bare "data has been submitted to support@d-signs.dk" selvom der ikke står noget
Avatar billede editone Nybegynder
07. april 2007 - 14:19 #4
if(isset($_POST['submit']) && !$_post['name'] && !$_post[email] && !$_post['message']) {

prøv denne
Avatar billede frosty-dk Nybegynder
07. april 2007 - 14:37 #5
virker stadig ikke den ignorere valideringen og skriver at det er sendt og modtager en tom mail
Avatar billede editone Nybegynder
07. april 2007 - 14:49 #6
prøv at ændre det så de hedder $_POST[name] $_POST[email] $_POST[message]
Avatar billede frosty-dk Nybegynder
07. april 2007 - 15:02 #7
det gør så den overhoved ikke virker, sikker på det er der man skal ændre:

"mailer.php"
<?php
if(isset($_POST['submit'])) {

$to = "support@d-signs.dk";
$subject = "contact";
$name_field = $_POST['name'];
$email_field = $_POST['email'];
$message = $_POST['message'];

$body = "From: $name_field\n E-Mail: $email_field\n Message:\n $message";

echo "Data has been submitted to $to!";
mail($to, $subject, $body);

} else {

echo "blarg!";

}
?>

"kontakt.htm"
<form method="POST" action="mailer.php">
  <p>Navn:<input type="text" name="name" size="19"><br>
  <br>
  E-mail:<input type="text" name="email" size="19"><br>
  <br>
  Kommentar:<br><textarea rows="9" name="message" cols="30"></textarea>
  <br>
  <input type="submit" value="send" name="submit"></p>

</form>


virker som den skal vil bare have en validering på enten emailen eller alle 3 felter
Avatar billede frosty-dk Nybegynder
07. april 2007 - 15:44 #8
har fundet ud af det via en anden tråd
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester