Archiv verlassen und diese Seite im Standarddesign anzeigen : Weiterleitung?
|Coding
21.05.2002, 14:29:03
das geht so:
<? header("Location: http://www.xyz.de);
.
.
.
//weiterer code
.
.
.
?>
Progman
21.05.2002, 15:41:32
weitere code ist gut.
Man sollte nach dem Headerbefehl das Script mit exit; beenden lassen, da es ja eh kein Sinn hat. Man sieht ja eh nix.
|Coding
21.05.2002, 21:27:59
öhmmm, stimmt :-)
dann halt:
<? header("Location: http://www.xyz.de);?>
}:-)
Original geschrieben von Progman
weitere code ist gut.
Man sollte nach dem Headerbefehl das Script mit exit; beenden lassen, da es ja eh kein Sinn hat. Man sieht ja eh nix.
wieso sollte man dannach nix mehr sehen?
header("Content-type: Text/Html"); z.B. Wofür das auch immer nützlich sein sollte ;) es gibt ne menge, die du in einem HTTP Header schicken kannst, nach denen man das Script trotzdem nicht beenden muss.
Progman
22.05.2002, 14:19:15
aber ein echo(""); nach dem Location Headerbefehl würde doch kein sinn man, die wird man doch eh nicht sehen. Warum das scipt dann durchlaufen lassen? Klar, MySQL-Verbindungen Header und was weiß ich kann alles noch rein. Mir ging es aber um das echo();
|Coding
22.05.2002, 15:49:45
Original geschrieben von Progman
aber ein echo(""); nach dem Location Headerbefehl würde doch kein sinn man, die wird man doch eh nicht sehen...
ich habe aber auch nichts von einer echo ausgabe geschrieben :-P
Ja, ich hab das irgendwie nur überflogen, und den bezug auf das spezielle beispiel für allgemein gehalten und wollte das ausbessern. tut leid.
|Coding
23.05.2002, 18:03:06
:-) ist doch net schlimm :D
es gibt da was in javascript:
window.location.src="...." heisst das glaub ich, ich bin aber nicht sicher, weil ich mag javascript nicht besonders und will damit auch nicht mehr als nötig zu tun haben.
|Coding
24.05.2002, 20:59:09
in js gehts so:
<html>
<head>
<title>Weiß net :-)</title>
<script language="javascript">
<!--
location='xXx.htm'
//-->
</script>
</head>
</html>
Hi @ll
Du kannst das auch per PHP realisieren!!
$LOCATION = getenv(SERVER_NAME).$PHP_SELF;
header ("LOCATION: http://$LOCATION");
|Coding
24.05.2002, 23:49:55
@ Nev,
das steht doch auch schon oben ;-)
|Coding
25.05.2002, 23:14:05
hi,
du darfst keine andere ausgabe vor dem header() machen, nach möglichkeit, schreibst du es immer nach ganz oben. also es darf kein echo, print oder der gleichen vor der header() funktion stehen....
|Coding
25.05.2002, 23:49:55
hi,
ich versteh dein script auch nicht ganz.
sollte das nicht so aussehen?
if(isset($selfreload))
{
$location = getenv(SERVER_NAME).$PHP_SELF."?".$HTTP_POST_VARS['var_name'];
header("Location: $location");
}
flobee
07.06.2002, 01:25:17
hallo! habe zufälling hier was zum header gesucht...warum ist das nicht im selfphp dokumentiert? oder ist es kein php :-?
naja... hiermit arbeite ich auch recht oft und ersetzt den klassichen meta tag:
Header("Refresh: 2;url=index.php") - nach 2sec nach url bzw relativ
das ist nicht in SELFPHP, weil das kein PHP, sondern HTTP ist, header() ist ein PHP Befehl, allerdings das, was du mit header() schickst, sind http-header.
zu dem script: $HTTP_POST_VARS liefert so den Query_String, also alle Postvariablen im URL Format: var1=bla&var2=blu
nur halte ich es nicht für besonders gut, post variablen nachträglich im Qstr format zu übertragen...
Viper
08.06.2002, 02:29:54
Hi
Das Prob mit Refresh ist auch das nicht unbedingt jeder Browser versteht was man von ihm will.
Zu header:
Es darf VOR dem header einfach keine HTML Ausgabe stattfinden. Ansonsten gibt es eine Fehlermeldung (headers already sent).
Ob nach dem header was steht oder nicht ist eigentlich egal. Aber wie meine vorschreiber schon erwähnt haben macht es eigentlich keinen Sinn. Obwohl ... Doch! Weil ich kann ja in einer Datei etwas abfragen und die Datei mit neuen Daten über den header "füttern" um dann etwas anderes auszugeben.
Fazit:
VOR dem header darf keine HTML Ausgabe stattfinden (Fehlermeldung)! UND: Du musst direkt nach dem header eine 'exit() ;' einfügen.
NACH dem header darf sehr wohl HTML Ausgabe stattfinden!
beispiel für code nach dem header:
du hast eine linkliste und willst wissen, wie oft auf einen link geklickt wurde.
das könntest du so machen, dass du alle links so verlinkst:
<a href="meinelinks.php?url=http://www.blabla.com">link1</a>
dann kannst du im script meinelinks.php
zuerst mal den header mit der neuen locaton senden, und dann die anzahl, wie oft draufgeklickt wurde erhöhen, also:
if(@!$link) die("kein Link eingebeben");
header("location: $link
");
flush() # schickt den header ab
ignore_user_abort(); #da der user auf eine neue seite kommt, bricht er das laden dieses scriptes ab, das wollen wir aber nicht, da jetzt die erhöhung der hits kommt
require("dbconnect.php"); #hier connecte ich mich mal zur datenbank...
mysql_query("update bla where id=bla set hits=hits+1");
natürlich könnte man den code zum erhöhen auch vorher drannehmen, allerdings wenn der db server grad mal ausgelastet ist, kann es dann dauern, bis die seite wirklich geladen ist, so wird zuerst die seite geladen und nachdem der user weg ist, wird erst die hitzahl erhöht, geht somit viel schneller für ihn!
vBulletin® v3.8.3, Copyright ©2000-2013, Jelsoft Enterprises Ltd.