Hej
Jeg har snart spildt NOGLE timer på mail() funktionen på min lokale server. Ved ikke hvorfor det ikke virker. Denne fejl fremkommer når jeg prøver at afsende en mail:
"Warning: Cannot modify header information - headers already sent by (output started at /Users/gunnar/Sites/scripts/send_mailinglist.php:3) in /Users/gunnar/Sites/scripts/send_mailinglist.php on line 4"
Min "sendmail" kode ser således ud:
<?php
$message = $_REQUEST['name'];
$email = $_REQUEST['email'];
$subject = "Ja tak til mailinglisten!";
$to = "mailinglist@min_server.dk";
echo $message;
echo $email;
if (empty($email) || empty($message)) {
header( "Location: http://localhost/~gunnar/index.php?id=no_input" );
}
else {
mail($to, $subject, $message, "From: $email");
header( "Location: http://localhost/~gunnar/index.php?id=thanks" );
}
?>
Hvor ligger fejlen?
Mvh
Gunnar
Prøv at kør disse to på din server
Tror godt du kan se forskellen.
virker_ikke.php
<html>
<head>
<title>Dette virker ikke</title>
</head>
<body>
<?php
header("location: http://localhost/~gunnar/index.php?id=no_input");
exit;
?>
</body>
</html>
virker.php
<?php
header("location: http://localhost/~gunnar/index.php?id=no_input");
exit;
?>
<html>
<head>
<title>Virker</title>
</head>
<body>
Virker</body>
</body>
</html>
virker_ikke.php bliver udført EFTER der bliver sendt headers. altså før der bliver indlæst <html><head></head> osv. mens virker.php bliver sendt FØR <html><head></head> osv.
Generalt vil den komme med alle den fejl som du får hvis du først har lidt html også prøver at sende en header igen ved fx at omstille med en header.
MxS @
http://mxs.frac.dkSlamkodning for fred
[Redigeret d. 01/05-04 09:31:17 af Martin Slot]