Vollstndige Version anzeigen : Verlinkungs problem???HELP ME !!!
Hi,
will nach ablauf eines skriptes und dessen auswertung in ein weiters per Link gehen ohne aber das ich diesen dann bettigen msse (Automatisiert).
bin fr alle TIPs offen
Es funktioniert mit Header
Header ("Location: http://www.google.de"); // Beispiel
Allerdings darf vor aufruf, bzw. senden des Headers keine Ausgabe an den browser erfolgen
http://de3.php.net/manual/de/function.header.php
Zitat php.net
Anmerkung: Die HTTP Status Header Zeile wird immer die erste zum Client gesendete sein, egal ob der aktuelle header() - Aufruf der erste ist oder nicht. Der Status kann mittels header() jederzeit mit einer neuen Statuszeile berschrieben werden, es sei denn, dass die HTTP Header bereits gesendet wurden.
Ansonsten kannst du s mit JavaScript lsen
Gru RDJ
sorry verstehe ich nicht was msste ich schrieben wenn ich an den Punkt angekommen bin
echo "<FORM ACTION='self_php' METHOD='post'>";
if(a==1)
{
...Link...
}
else
{
... Anweisungen...
}
echo "<INPUT TYPE="submit" VALUE="Abspeichern">
und wie weiter
Also da wird Header nicht mehr funktionieren, da du mit echo ''
schon einen Header an den User (Browser) sendest....
Hab ich dich berhaupt richtig verstanden ?
Du willst dann auf eine andere url / link springen wenn ein ereigniss eintrifft?
Wenn du aber eine Datei einbinden willst
hilft dir ein include ();
http://de3.php.net/manual/de/function.include.php
JA, ich will dann auf eine andere url / link springen wenn ein ereigniss eintrifft!!!
eine Datei in dem Sinne will ich nicht ein binden.
Danke
wie gesagt, dann musst du mit JavaScript arbeiten, da du bereits mit echo einen Header an den Browser sendest
feuervogel
17-06-2004, 13:09
nein muss er nicht.
du kannst mit header( "location:./index.php?prgm=irgendwas" ); verweisen, wenn davor noch kein output an den browser stattgefunden hat.
so.
du schreibst in die erste zeile des scriptes
ob_start( "ob_gzhandler" );
das muss, falls du mit sessions arbeitest vor session_start.
in die letzte zeile schreibst du nun:
ob_end_flush();
mit der ersten zeile wird dein output komprimiert und erst mit ob_end_flush gesendet. somit kannst du zwischendurch schn mit header den benutzer auf ne andere seite verweisen.
du kannst mit header( "location:./index.php?prgm=irgendwas" ); verweisen, wenn davor noch kein output an den browser stattgefunden hat.
Meine Rede... ich hab auch nix anderes gesagt...
und wie ich seinen quellcode verstanden hab, sollte zwischen der ausgabe eine "verlinkung" stattfinden .... und dat geht net !
Gugst du :
echo "<FORM ACTION='self_php' METHOD='post'>";
if(a==1)
{
...Link...<-- Hier sollte der Header(Location blablpp stehen
}
else
{
... Anweisungen...
}
echo "<INPUT TYPE="submit" VALUE="Abspeichern">
Kann mir jemand bitte noch einen Linke schicken fr mich sind das alles bmische Drfer
Danke
feuervogel
18-06-2004, 10:40
@rdj und sk85:
rdj, teste mal bitte beide folgende scripte, sk85, hoffentlich verstehst du anhand der bsps was ich meine:
1. bsp.:
<?php
echo "hallo welt";
header( "location:./index.php" );
?>
gibt fehlermeldung "headers already sent...blabla..."
so, 2. bsp.:
<?php
ob_start( "ob_gzhandler" );
echo "hallo welt";
header( "location:./index.php" );
ob_end_flush();
?>
geht, da erst in der letzten zeile der output an den browser gesendet wird.
Ja gut es funktioniert, aber ich kriege mein "hallo Welt" ja dann nicht mehr zu sehen... und das ist ja wiederrum das selbe...
du unterdrckst die ausgabe an den browser damit du einen Header (und jetzt kommts ;-)) als erstes senden kannst...
Einigen wir uns an der Tatsache dass vor dem Header ("")
Nichts ! an den browser gesendet werden darf, ok ?
feuervogel
18-06-2004, 18:14
@rdj: jups, ich hab ja auch nie was andres behauptet, ging mir nur um den satz:
Also da wird Header nicht mehr funktionieren, da du mit echo ''
schon einen Header an den User (Browser) sendest....
:) man kann halt umgehen, dass echo was an den browser sendet...
hi hoffe ihr knnt mir nochmal weiter helfen habe die
echo "<FORM ACTION='self_php' METHOD='post'>";
echo "<FORM ACTION='self_php' METHOD='post'>";
if(a==1)
{
...Link...
}
else
{
... Anweisungen...
}
echo "<INPUT TYPE="submit" VALUE="Abspeichern">
genommen habe aber ein weiters Problem das ich vor her eine datensatz aus einer Tabelle auslesen muss und das aber zu fehler fhrt weil er es ja jedes mal wieder tut
bitte helft mir nochmal
feuervogel
20-06-2004, 21:00
ich kapier wirklich nicht, was das hier soll:
echo "<FORM ACTION='self_php' METHOD='post'>";
echo "<FORM ACTION='self_php' METHOD='post'>";
und zweitens:
>das ich vor her eine datensatz aus einer Tabelle auslesen muss und das aber zu fehler fhrt weil er es ja jedes mal wieder tut
wo vorher liest du einen datensatz aus? wieso erzeugt das nen fehler? und wenn das jedesmal wieder passiert, machs doch einfach nicht...
vBulletin v3.0.7, Copyright ©2000-2005, Jelsoft Enterprises Ltd.