Thread Verfasser: John Doe
Thread ID: 1249
Thread Info
Es gibt 14 Beiträge zu diesem Thema, und es wurde 3966 Mal angesehen.
 Thema drucken
redirect(INFUSIONS.... wird bei 1blu nicht ausgeführt
John Doe
Bei dem o.g. Anbieter funktioniert die Umleitung mittels

redirect(.....);
nicht.
Kennt einer den Grund? Bisher gabs mit dem redirect keine Probleme.

Aufruf z. B. mit

redirect(INFUSIONS."jsh_oltfl/ligen.php?act=dsview&lgnid_g=$lig_p&tab=2");
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Rolly8-HL
Ungetestet

redirect(INFUSIONS."jsh_oltfl/ligen.php?act=dsview&lgnid_g=".$lig_p."&tab=2");

Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
dimki
vielleicht;


redirect("".INFUSIONS."jsh_oltfl/ligen.php?act=dsview&lgnid_g=$lig_p&tab=2");
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
John Doe
Die Zeile funktioniert so wie sie ist auf anderen Webspace-Anbietern.
Die Zeile war nur zur Veranschaulichung, um was es geht.
Selbst ein "Redirect"-Aufruf einer Seite ohne weitere Angaben also z. B. ein Aufruf der about.php statt ligen.php? mit weiteren Parametern, funktioniert nicht.

Da nur der Webspace von 1blu diese Zeile nicht ausführt, muss es wohl an der Konfiguration des Webspace liegen. Die Frage ist nun, hatte jemand schon ein ähnliches Problem bei einen beliebigen Anbieter?
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Krelli
Hier wären Detailinfos zur PHP-Version (besonders auch die nicht erlaubten Funktionen in PHP-Info) sowie PHP-Fusion-Version hilfreich.

An deinem zitierten Code ist nichts zu bemängeln, der sollte generell funktionieren.

Möglicherweise wird die Funktion "Header()" beim Anbieter gesperrt, was ich mir allerdings kaum vorstellen kann.

Wahrscheinlicher ist, dass vor dem Redirect bereits ein Fehler erzeugt/ausgegeben wird und danach das Redirect per Header("Location: ....") durchgeführt. Header können nach bereits erfolgter Ausgabe nicht erzeugt werden, dadurch funktioniert dann kein Redirect-Aufruf mehr.
(Die Funktion "redirect" wird standardmäßig in PHP-Fusion mittels Header(...)-Befehl realisiert, nur alternativ per Javascript durch separat gesetzte Parameter beim Aufruf der Funktion)
Bearbeitet von Krelli am 18. April 2017 16:16:01
Information:
PHP Version: 8.2.x •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: IPv9-DE-MOD
 
John Doe
Der Code geht soweit. Der ist nicht neu, sondern läuft auf mehreren Seiten über 5 Jahre.
Nur ein User hat Probleme mit seinem Webspace bei 1blu damit.
Da die Funktionen nach dem Speichern gleich wieder die Listen anzeigen sollen, ist dort ein redirect eingefügt. Ohne diese Funktion ist die Anwendung gestört, Benutzer speichern mehrfach ab, erhalten eine leere Seite usw.

php 5.2.10
phpfusion 7.02.07
mysql 5.5.54

Er testet die neue Version der Online Liga mit Transfermarkt und Tabellenverwaltung.

Die redirect-Funktion ist doch aus der maincore.php, oder?
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Krelli
Also PHP 5.2 ist veraltet und längst nicht mehr supported, sogar 5.3 betrifft das.
Ich wette, auf allen anderen Seiten die problemlos funktionieren laufen höhere PHP-Versionen.

So weit ich weiß kann man bei 1Blue die Version bis 7.1 wählen, für original Fusion 7 würde ich max. auf 5.4

Ja die redirect Funktion findet man bei v7 in der maincore.php
Aber wie gesagt, es liegt nicht an der Funktionsdefinition, die ist fehlerfrei. Ganz sicher kommt es bereits vor dem Aufruf der Funktion zu einer Fehlerausgabe, deshalb wird das Setzen des Headers blockiert.
Information:
PHP Version: 8.2.x •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: IPv9-DE-MOD
 
John Doe
Habs ausgerichtet. Vielen Dank für deine Hilfe.
In der Entwicklungsumgebung hab ich noch 5.6 und phpfusion V7 ohne Probleme laufen.
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Septron
Hallo,

max kannst du schon ruhig auf 5.5 dies funktioniert auch noch recht gut alles andere was höher geht erklärt sich von selbst.

5.6 kann funktionieren aber auch ne menge Fehler mit sich bringen.

lg Septron
Rechtschreibfehler und Fehlende Satzzeichen sind eine Sünde meiner
Gedanklichen Tastatur wer alle findet darf sie behalten.
Domain Owner of: SGI Fusion | PHPFusion-SupportClub | PHPFusion Germany | IUP Testseite | v9 DE Mod Testseite
Information:
PHP Version: 8.2.x •  MySQL Version: 5.7 •  PHP-Fusion: IUP-FIX-PHP8
 
John Doe
Hab mal die alte Doku für die Funktionen von phpfusion durchgelesen.

Lösung für den einen Webspace ist einfach auf javascript umzustellen.
redirect unterstützt nachfolgende Aufrufe:


redirect(INFUSIONS."jsh_oltfl/about.php");
redirect(INFUSIONS."jsh_oltfl/about.php","jscript");
redirect(INFUSIONS."jsh_oltfl/about.php","header");


Die Version 2:

redirect(INFUSIONS."jsh_oltfl/about.php","jscript");

funktioniert bei 1blu, somit ist das Problem erstmal gelöst, ich änder einfach alle redirect.
Danke für eure Hilfe.
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Krelli
Wenn du diese Lösung benutzt und damit zufrieden bist ist das ok.

Ich für meinen Teil hätte testweise einen "die();" Befehl in die redirect Funktion der maincore.php eingebaut und damit dann geprüft, was vor dem redirect passiert.

Dass es nur mittels jscript funktioniert liegt eindeutig daran, dass der Browser vor dem redirect einen Fehler bzw. Warnung ausspuckt.
Die sauberste Lösung wäre für mich, diese Fehlermeldung zu korrigieren, danach kann der die() Befehl wieder raus und alles wäre paletti.
Ich persönlich mag halt keine Fehler behalten und einfach nur tuschieren, lieber vermeide ich die Fehler.

Aber wie gesagt, wenn du mit dieser Lösung leben kannst ist das ok für dich.
Information:
PHP Version: 8.2.x •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: IPv9-DE-MOD
 
John Doe
Welchen Fehler erzeugt denn der nachfolgende Bereich?


if(!iMEMBER){
   redirect(INFUSIONS."jsh_oltfl/about.php");
   exit();
 }
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Krelli
Dieser Bereich ist doch nicht das einzigste, was dein Script beim Redirect ausführt.
Der Fehler resultiert also daraus, was noch vor dem redirect im Script geschieht. Dort muss ein Fehler bzw. eine Warnung ausgespuckt werden.
Wahrscheinlich werden unmittelbar vorher Formulareingaben verarbeitet o.a.

Sobald das Script auch nur ein einziges Zeichen bereits an den Browser geliefert hat funktioniert kein Header() Kommando mehr, was beim redirect nun mal standardmäßig Verwendung findet.

Mit meinen Hinweisen kannst du den Fehler herausbekommen, denn aktuell bekämpfst du statt der Ursache nur die Wirkung. Wink
Information:
PHP Version: 8.2.x •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: IPv9-DE-MOD
 
John Doe
Danke für deine Beiträge. Ich werde das mal ohne Redirect umsetzen und sehen ob es besser läuft.
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Springe ins Forum: