cannot modify header ... header already sent
Moritz Rogalli
- php
Hallo!
ich habe ein Problem! Folgendes Script verschickt mails an die user in unserer newsletter datenbank. da ich timeouts vermeiden will, verschicke ich nur x (zum testen 30) mails auf einmal. für den fall, dass es mehr als 30 emailadressen sind, soll ein redirect ausgeführt werden. wenn ich das script ausführe, werden die ersten mails verschickt und sobald der redirect kommt, kommt der hinweis:
Warning: Cannot modify header information - headers already sent by (output started at C:\www\htdocs\v095162\newsletteradmin\schreiben.php:52) in C:\www\htdocs\v095162\inc\fallback.php on line 125
wobei zeile 52 in dem script schreiben.php die erste mail zeile ist.
hier noch ein auszug aus der schreiben.php, der rest wird erst gar nicht ausgeführt, wenn ich mails verschicken will.
if ($_GET['abschicken']=='true')
{
$db->query('select * from newsletter limit 0, 30');
$i=0;
while ($db->next_record())
{
$text=$text.'<br><br><br><br>Du erhältst diesen Newsletter,
weil du in unserem E-Mail-Verteiler drinstehst. Wenn du keine
weiteren Newsletter erhalten willst drücke bitte folgenden
Link:<br><br><a href="http://www.jugendhaus-
komma.de/newsletter_loeschen.php?email='.$db->f
('email').'&validierung='.$db->f('validierung').'">Keine
weiteren Newsletter mehr erhalten</a>';
mail($db->f('email'), $betreff, $text);
$i++;
}
if ($i<30)
{
$Session->redirectTo('index.php?verschickt=true');
}
else
{
$Session->redirectTo('schreiben.php?abschicken='.$i);
}
}
Kann mir da jemand weiterhelfen??
MfG
Moritz Rogalli
Hallo,
Warning: Cannot modify header information - headers already sent
Bitte nicht schon wieder...
http://www.dclp-faq.de/q/q-fehler-header.html
mfg, Thomas
Habe allerdings keinerlei Leerzeichen vor dem öffnenden <?php noch gebe ich irgendwas an den Browser aus. Ich wurschtel ja nur an Variablen rum und verschicke emails
MfG
Moritz Rógalli
Hallo,
Habe allerdings keinerlei Leerzeichen vor dem öffnenden <?php noch gebe ich irgendwas an den Browser aus.
Die Datei beginnt also mit <?php und enthaelt
vor der betreffenden Stelle keinen HTML-Bereich,
kein echo, print und dergleichen?
Guck mal in den Quelltext im Browser.
Vielleicht siehst Du dort, was geschickt wurde.
Es koennte z.B. auch eine Fehlermeldung sein, die
automatisch ausgegeben wird...
Wenn Du den Fehler nicht findest, stell das Skript
als *.txt auf den Server und poste hier die URL.
Glaskugeln macht keinen Spass.
Bei Deinen kryptischen Klassen/Objekten ist es auch unmoeglich
zu sagen, was Da zwischenzeitlich alles passiert...
Gruesse,
Thomas
Heureka!!!
Ich habs!!!
Die Fehlermeldungen beim senden der mails haben zum senden des headers geführt!!
also einfach die warnings aus und schon gehts...
da hätt ich auch gleich draufkommen können.