Hejsa,
Jeg har forsøgt at læse mig til en løsning, men kunne kun finde årsagen. Jeg har et script på mit site til at validere og sende fra min contactform:
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
if (isset($_POST['submit'])) {
if($_SESSION['verify'] == strtoupper($_POST['auth'])) {
if (!empty($_POST['name']) && !empty($_POST['subject']) &&
!empty($_POST['email']) && !empty($_POST['message'])) {
$headers="From: ".$_POST['name']."<".$_POST['email'].">";
if (@$_POST['customer_copy']) {
$headers .= "\\r\\nBcc: ".$_POST['email'];
}
$body .= "Meddelelse den " . date("d/m y") . " kl. " . date("G:i") . " fra " . ($_SERVER['REMOTE_ADDR']) . "\\r\\n" . "Navn: " . $_POST['name'] . "\\r\\n" . "Mail: " . $_POST['email'] . "\\r\\n" . "Emne: " . $_POST['emne'] . "\\r\\n\\r\\n" . $_POST['message'];
if(@mail("mail@mail.com", strip_tags($_POST['subject']),
stripslashes(strip_tags($body)), $headers)) {
print "<p>E-mailen blev sendt. </p>";
}
else {
echo "<p>E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!</p>";
}
}
else {
echo "<p>Alle felter skal udfyldes!</p>";
}
}
else {
echo '<p>Desværre, verifikationskoden kunne ikke godkendes!</p>';
}
}
?>
</body>
</html>
Som I kan se i <body>, så echoer scriptet "E-mailen blev sendt.", hvis inputtet er valideret og ellers nogle andre echoes. Er det muligt enten at redirecte til en anden URL end sender.php eller outputte på selve formen, i stedet for at gå til sender.php ved submit? Jeg ved at header funktionen skal kaldes før andet output og derfor virker det ikke bare at skifte echoes ud med header(). Kan nogen hjælpe mig i den rigtige retning?
Mvh
Lars kragh
Indlæg senest redigeret d. 22.05.2008 23:03 af Bruger #13801