Problem mit Umleitung

  • Hallo,

    nach längerer Zeit habe ich mal wieder eine Frage. :D

    Mein PHP-Skript "verarbeitet" paar Daten und schreibt diese danach in eine MySQL-Datenbank.
    Soweit so gut, doch danach soll auf eine andere Website umgeleitet werden.
    Und genau hier hänge ich... :S

    Spoiler anzeigen

    (Ja, es soll ein kleines Registrierungs-System werden :))
    Die Funktion "createsession()" besteht daraus, das sie einfach einen 30-Zeichen langen String mit zufälligen Zeichen zurückgibt. :D

    Danke für eure Hilfe im Vorraus. ^^

    MfG

    There's a joke that C has the speed and efficieny of assembly language combined with readability of....assembly language. In other words, it's just a glorified assembly language. - Teh Interwebz

    C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, you blow off your whole leg. - Bjarne Stroustrup
    Genie zu sein, bedeutet für mich, alles zu tun, was ich will. - Klaus Kinski

  • Ersetze mal den header('Location: blabla'); mit diesem Code

    PHP
    ?>
    			<script type="text/javascript">
    				window.location.href = "bla.php?status=failed";
    				MeineDomain = location.host;
    			</script>
    			<?php
  • Funktioniert trotzdem nicht. :(

    An JavaScript hatte ich auch schon gedacht, wusste aber nicht ob man das einfach so mitten in PHP platzieren kann. :D

    MfG

    There's a joke that C has the speed and efficieny of assembly language combined with readability of....assembly language. In other words, it's just a glorified assembly language. - Teh Interwebz

    C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, you blow off your whole leg. - Bjarne Stroustrup
    Genie zu sein, bedeutet für mich, alles zu tun, was ich will. - Klaus Kinski

  • Ja, kein Problem.
    Schreib mir dann einfach eine PN. ;)

    Oder hat jemand noch eine (mögliche) Lösung parat?

    MfG

    There's a joke that C has the speed and efficieny of assembly language combined with readability of....assembly language. In other words, it's just a glorified assembly language. - Teh Interwebz

    C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, you blow off your whole leg. - Bjarne Stroustrup
    Genie zu sein, bedeutet für mich, alles zu tun, was ich will. - Klaus Kinski

  • damit eine PHP weiterleitung klappt, darf vorher NIX ausgegeben werden und auch hinterher nix
    am bessten nach dem header(); noch ein exit; damit das script nicht weiter ausgeführt wird
    und halt keine Daten ausgeben, es darf auch kein Leerzeichen vor dem <?php vorhanden sein^^

    am bessten mal ein error_reporting(E_ALL); einbauen, damit alle Fehler und Warnungen ausgespuckt werden

    mfg Krabat

  • Denk dran deine MysqlquerIes vor Injections zu schützen! -> google -> Mysql-Injektion, MYSQL_real escape


    Ja, natürlich.
    Ich schreib gerade nur das Registrierungs-System, danach bau ich halt Error-Exceptions, Injection-Schutz etc. ein.
    Nur möchte ich vorher das System stehen haben.

    Und hast du zu meinem eigentlich Problem eine Lösung? :)

    MfG

    There's a joke that C has the speed and efficieny of assembly language combined with readability of....assembly language. In other words, it's just a glorified assembly language. - Teh Interwebz

    C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, you blow off your whole leg. - Bjarne Stroustrup
    Genie zu sein, bedeutet für mich, alles zu tun, was ich will. - Klaus Kinski

  • Pack das hier in die Head-Section von der HTML Ausgabe:

    <meta http-equiv="refresh" content="5; URL=browser.php"> <!-- Die 5 ist die Verzögerung in Sekunden; kann auf 0 gestellt werden -->

    Du musst bei PHP wissen, dass der Browser nur die Daten sieht, die ausgegeben werden (Leerzeichen, Text etc. vor <?php und nach ?>); d. h. erst beim ersten print, echo oder header() Aufruf bekommt der Browser Daten zu sehen. Die Daten, die der Browser zu sehen bekommt, versucht er zu interpretieren; z. B. kannst du mit PHP einfach per print ein HTML Dokument ausgeben. Der Browser sieht nur das HTML und zeigt das als HTML an (kein Kram mit Dateiendungen etc. pp.). Das heißt auch, alles was du in HTML stopfen kannst, kannst du auch mit PHP ausgeben; also JavaScript, CSS und kram. Komplizierter wird es, wenn es dann Dateien werden (z. B. Audio).

    Alternativ hier noch eine Javascript-Weiterleitung (Im Head-Part deines HTML-Dokuments ausgeben):

    <script type="text/javascript">
    <!--
    setTimeout("self.location.href='browser.php'", 5000); //Die 5000 sind 5000 ms, die gewartet werden soll; kannst du auch auf 0 setzen
    //-->
    </script>

    Generell ist es empfehlenswert, automatische Weiterleitungen mit einem manuellen Link zu versehen, da es immer Situationen geben kann (seltsame mobile Browser z. B. etc.), in der sie nicht funktionieren.

    Appendix (PHP-Sourcecode):

    Spoiler anzeigen

    Widerstand ist Zwecklos!

    Meine Projekte: Kizzys Controller, 2nd Desktop und Versteckte Dateien Assistent
    Meine Downloadwebsite .

    6 Mal editiert, zuletzt von Data (30. Juni 2013 um 23:45)