webForumDet fria alternativet

Formulär

PHPur PHP

2 svar · 294 visningar · startad av septor

Medlem sedan nov. 2003208 inlägg
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>
&Auml;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>
Medlem sedan juli 20023 617 inlägg
#2

Sätt formulärets action till den sida du inkluderar till.

Medlem sedan nov. 2003208 inlägg
#3

Såg precis att jag missade det! Tack!:)

La till detta i action:
index.php?page=support&action=send

Så nu funkar det perfekt!

136 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)