Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.8 veröffentlicht (17.10.16)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Nachträglich header senden?
#1
Hallo,
kann ich nachträglich einen header senden? Ich möchte da später noch ein Location: $file rein haben, aber da kommt ja der Fehler mit header already send usw.
Kann ich denn trotzdem irgendwie einen header senden?
[Bild: Nirgendssicher.jpg]
#2
Nein, das ist nicht möglich, da Header immer vor allem anderen an den Browser geschickt werden müssen.
Zitat:Beachten Sie, dass Sie die Funktion header() aufrufen müssen, bevor Sie irgendeine andere Art von Ausgabe (seien es normale HTML-Tags, Leerzeilen in einer Datei oder von PHP) zum Client schicken
Quelle: http://de.php.net/manual/de/function.header.php

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
#3
Und kann ich irgendwie anders diese Weiterleitung hinbekommen? Oder kann ich die Ausgaben erst mit diesem ob_start() usw. unterdrücken, und dann noch den Location: $link Header senden?
Oder schließt das MyBB das senden der Header wirklich ganz ab?
[Bild: Nirgendssicher.jpg]
#4
Was hast du denn genau vor? Ich würde sagen, du kannst die Ausgabe per ob_start zurückhalten, aber wirklich bestätigen kann ich es nicht.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
#5
Ich habe einen Download Bereich mit Countern erstellt, wenn man jetzt auf Download klickt, dann wird der Counter mit PHP um eins erhöht, und dann soll zum Download weitergeleitet werden.
Derzeit mache ich es mit Javascript. Da habe ich aber das Problem, dass nicht alle JavaScript aktiviert haben und, dass man dann eine angeladene Seite zu Gesicht bekommt, weil JavaScript ja sofort nach dem Donload ausgeführt wird. Dem entsprechend zerhackt sieht die Seite dann aus; das Download Fenster ist zwar da, aber die zurückgebliebene Seite sieht halt nicht mehr so pralle aus.
Mit festen Zeiten, also meintet wegen eine Sekunde warten, bevor weitergeleitet wird, möchte ich nicht, da diejenigen, die eine langsame Internetverbindung haben, dann nur mit Glück die vollständige Seite angezeigt bekommen.
Und wie gesagt: der größte Haken bei der Sache: Es sollte auch ohne JavaScript funktionieren. (Weiterleitung mit Meta-Angabe habe ich früher mal gemacht, glaube aber, dass die sehr lange braucht um sich zu aktivieren.)
[Bild: Nirgendssicher.jpg]
#6
Wenn ich dich richtig verstehe würde ich das über eine neue Datei lösen. Per GET wird die ID/die URL zum Download übergeben, das Skript zählt den Download und leitet dann per header() weiter. Die Datei selbst hat sonst keine Ausgabe.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
#7
...ok, kannst du das in ein kurzes Beispiel fassen?? Big Grin
[Bild: Nirgendssicher.jpg]
#8
PHP-Code:
<?php
$id 
intval($_GET['id']);
$query mysql_query("SELECT url, count FROM `mybb_downloads` WHERE `id`='$id'");
$download mysql_fetch_array($query);
$newcount = ++$download['count'];
$query mysql_query("UPDATE `mybb_downloads` SET `count`='$newcount' WHERE `id`='$id'");
$url "http://www.deineurl.tld/".$download['url'];
header(Location$url);
?>
So ungefaehr koennte es aussehen. Du musst natuerlich die Datenbankquerys entsprechend anpassen.