Sätt formulärets action till den sida du inkluderar till.
Frågan#1
Jag inkluderar scriptet på en av mina sidor kontakt index.php, men när jag trycker på skicka så fungerar det inte, jag kommer till en felsida.
Kör jag scriptet som det är bara så fungerar det felfritt!
Någon som vet vad problemet är?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Kontakt</title>
</head>
<body>
<h2>Kontakta oss </h2>
<form name="kontakt" method="post" action="kontakt.php">
<p>Namn:<br>
<input name="name" type="text" size="30">
<br>
Ämne:<br>
<input name="subject" type="text" size="30">
<br>
Email:<br>
<input name="email" type="text" size="30">
<br>
Meddelande:<br>
<textarea name="message" cols="30" rows="5"></textarea>
<br>
<input name="submit" type="submit"
value="Skicka meddelandet">
</p>
<?php
// anger en variabel som kan lagra de eventuella felaktigheterna
$errors = array();
// kontrollera om ett Namn angivits
if (!$_POST["name"])
$errors[] = "- ditt namn";
// kontrollera om ett Ämne angivits
if (!$_POST["subject"])
$errors[] = "- ärende i ämnesraden";
// kontrollera om en Epostadress angivits
$emailcheck = $_POST["email"];
if(!preg_match("/^[a-z0-9\å\ä\ö._-]+@[a-z0-9\å\ä\ö.-]+\.[a-z]{2,6}$/i", $emailcheck))
$errors[] = "- din epostadress saknas eller är felaktig";
// kontrollera om ett Meddelande angivits
if (!$_POST["message"])
$errors[] = "- inget meddelande har skrivits!";
// om felaktig information finns visas detta meddelande
if (count($errors)>0){
echo "<p><strong>Följande information måste anges innan du kan skicka formuläret:</strong><br />";
foreach($errors as $fel)
echo "$fel <br />";
echo "<br />Ange den information som saknas och skicka formuläret igen. Tack! <br />";
echo "<a href='javascript:history.go(-1)'>klicka här för att komma tillbaka till formuläret</a></p>";
}
else {
// formuläret är korrekt ifyllt och informationen bearbetas
$to = "min@mail.se";
$from = $_POST["email"];
$subject = $_POST["subject"];
$name = $_POST["name"];
$message = $_POST["message"];
if (mail($to, $subject, $message ,"From: $name <$from>"))
echo nl2br("<h2>Ditt meddelande har skickats!</h2>
<b>mottagare:</b> $to
<b>ämne:</b> $subject
<b>meddelande:</b>
$message
");
else
echo "Det gick inte att skicka ditt meddelande";
}
?>
</form>
</body>
</html>

