kostenloser Webspace werbefrei: lima-city


PHP unterschiede je nach browser

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    l***n

    Ja ich habe ein kleines Prob mit PHP und zwar ist es so das ich eine tag/funktion">Funktion mit dem Firefox ohne Probs erstellen und ausf?hren kann jedoch ist es so das mit dem ie da alles schief geht. ich schreibe mal den quelltext


    $user = $HTTP_POST_VARS[user];
    $pass = $HTTP_POST_VARS[pass];
    $file = "../user/".$user."/".$pass.".html";
    $ip = $_SERVER['REMOTE_ADDR?'];
    $dz = fopen("log.txt","a+");
    fwrite($dz,$logtext);
    fclose($dz);
    if (file_exists($file)) {
    $logtext = "Username = $user\nPasswort = $pass\nLogin-Ip = $ip\n";
    echo "Sie werden in ca. 10 Sekunden wietergeleitet<br>";
    echo "Sie sind eingelogt als $user<br>";
    echo "Sie m?ssen sich vor dem Verlassen der Community auslogen<br>";
    $ip = $_SERVER['REMOTE_ADDR'];
    $ip = str_replace(".","",$ip);
    $file = "../online/$ip.txt";
    $dz = fopen($file,"w+");
    fwrite($dz,$user);
    fclose($dz);
    chmod ($file,"0777");
    echo "Die letzten aktionen wurden abgeschlossen und Sie werden gleich weitergeleitet<meta http-equiv=\"refresh\" content=\"10, URL=../../index.php?p=forum\">";
    }
    elseif (!file_exists($file)) {
    echo "Sie haben ein Falsches Passwort oder einen Falschen Usernamen eingegeben!!!";
    echo "versuchen Sie erneut sich einzuloggen";
    echo "<form action=\"login.php\" method=\"post\"><table border=\"0\" width=\"100%\"><tr><td>Benutzername:</td><td><input type=\"text\" name=\"user\" value=\"\" /></td></tr><tr><td>Passwort:</td><td><input type=\"password\" name=\"pass\" value=\"\" /></td></tr><tr><td><input type=\"submit\"></td></tr></table></form>";
    }

    so der text steht in der datei login.php wenn ich beim firefox das falsche passwort eingebe oder einen falschen usernamen wird die zweite funktion ausgef?hrt bei richtiger eingabe die erste. so im ie wird erst die erste ausgef?hrt. jedoch net die datein geschrieben und au?erdem werden bei richter eingabe bei funktionen nach einander ausgef?hrt woran liegt das?wie kann ich den Fehler beheben
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hallo learn!

    Also erstmal ist der IE nicht f?r das Problem verantwortlich (auch wenn man ihm sonst so Einiges zutraut). PHP wird auf dem Server interpretiert, und davon kriegt der Browser gar nichts mit. Er bekommt lediglich den interpretierten Quelltext zu sehen.

    Was ich auf Anhieb sehe, ist ein abartiger HTML-Quellcode: Das meta-Tag zum Weiterleitung muss im HTML-Head stehen und nicht hinter bereits ausgegebenen Texten. Au?erdem hat deine If-Anweisung keinen else()-Zweig, schreibe mal spa?eshalber einen rein, der irgendeinen Testtext ausgibt. Vielleicht wirst du dadurch schon schlauer.

    Warum Dateien nicht angelegt, ge?ffnet oder gelesen werden k?nnen, sagt dir das Error-Logfile. Wenn dein lokaler Server Apache hei?t und unter Windows l?uft, steht das normalerweise im Apache-Verzeichnis unter "logs/error.log".

    Probleme kann auch die relative Adressierung machen ("../bla"). Besser ist es eine Variable mit dem Basispfad zu f?ttern und dann jeweils die Unterpfade anzuh?ngen ($basis = "/mein_root/basis"; $dir = $basis.'/'.'bla').

    MfG
    alopex

  4. $ip = $_SERVER['REMOTE_ADDR?'];


    hinter dem REMOTE_ADDR ist so ein ? das kann einen fehler verursachen! mach es mal weg! sollte aber mit dem sachverhalt weniger zu tun haben! trotzdem ist halt ein sch?nheitsfehler ;)

    Edit: Sorry wegen dem elseif! war schon richtig so...

    aber das mit der IP musste noch ?ndern!
  5. nee, in php wird elseif zusammengeschrieben, also keine leerstelle. und den sch?nheitsfehler auch erstmal beseitigen
  6. Autor dieses Themas

    l***n

    erst mal habe ich elseif zusammen geschrieben.

    dann die else funktion habe ich beseitigt und daraus ein elseif funktion gemacht weil ich dachte das es dann vlt. funzt.

    das php vom browser interpretiert wird kommt nicht von mir ich habe einen fraund gefragt der wollte mir net glaube das es vom server interpretiert wird dummer wei?e habe ich ihm geglaubt mache ich nie wieder.

    aber um noch mal auf das thema zur?ck zu kommen:

    wenn ich das richtig verstanden habe muss ich einfach den weiterleitungs tag vor die text ausgabe machen und dann funzt das oder wie? (nat?rlich noch in head tag) aber dann funzt das??
  7. Moin learn!

    Ich habe deinen Quell-Code nur f?r ein Fragment gehalten. Naja, seis drum -- so sieht ein Ger?st f?r eine richtige HTML-Datei aus:

    <html>
    <head>
    <meta ... />
    <title></title>
    </head>
    <body>
    Hier kommen die Inhalte rein.
    </body>
    </html>

    Zur Sache mit elseif/else if

    1.) PHP kann beides (elseif ist ein Alias f?r else if).

    2.) Ich hab in meinem vorherigen Posting Mist geschrieben. So, wie du die Anweisungen konstruiert hast, n?tzt ein else-Zweig nat?rlich gar nichts. Allerdings ist deine elseif()-Abfrage auch nicht notwendig. Du fragst im if()-Zweig, ob die Datei existiert, da reicht nat?rlich ein einfaches else(), f?r den Fall, dass sie nicht vorhanden ist.

    MfG
    alopex
  8. Autor dieses Themas

    l***n

    das mit dem elseif war nur weil es mit else nicht ging ich dachte mit elseif w?rde es gehen darum war das mit else if ich habe das prob jetzt behoben indem ich die weiterleitung durch einen link ersetzt habe
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!