Ist php wirklich Browserunabhängig?

  • Hallo Community,

    diese Frage ist ganz bewusst provokant gestellt, da der Code ja auf dem Server und nicht im Browser ausgeführt wird.

    Jetzt hab ich aber einen Code geschrieben, der beim FF richtig läuft und beim IE kommt es zu einer Ferhlermeldung:

    hattet ihr sowas auch schonmal?

    MFG

    Auf alten Pferden lernt man reiten - Und auf jungen; gehst du kaputt! *g

  • Ja das kann passieren, da PHP auch nur HTML-Code ausspucken kann, dem man ihm eintrichert. Das heisst wenn man was programmiert, was danach nicht-IE-fähigen HTML-Code ergibt, dann kann es beim IE Probleme geben. Aber so etwas hatte ich bisher noch nie.

  • Auch wenn ich nicht zur Community gehöre - lol:
    Nein, sowas hatte ich noch nie. Kann es nicht vielleicht sein, dass du bei der HTML-Gestalltung einen Fehler gemacht hast, den der FF ignoriert , der IE aber nicht?Sowas z.B:

    PHP
    <?php
    echo("script");
    <htm>
    ?>
    <head>
    ....
  • ich hab zwar html-tags drin, aber daran haperts nicht.
    Er scheint mehrdimensionale Arrays nicht übermittelt zu bekommen.

    Der Code ist leider zu lang um ihn hier zu posten.

    Hab die Seite für den Firefox optimiert, und wollt mir dann das Design auf dem IE angucken, der dann mehrere PHP Fehlermeldungen ausgespuckt hat. ???

    Auf alten Pferden lernt man reiten - Und auf jungen; gehst du kaputt! *g

  • 1.
    Warning: Invalid argument supplied for foreach() in /home/www/cwcity/hosting/c/o/converse/htdocs/n3/shop_warenkorb.php on line 87

    2.
    Warning: Invalid argument supplied for foreach() in /home/www/cwcity/hosting/c/o/converse/htdocs/n3/shop_warenkorb.php on line 120

    ohne code bringt das nicht viel...
    Ich kommentier den Code erstmal aus und lad ihn dann hoch.

    Auf alten Pferden lernt man reiten - Und auf jungen; gehst du kaputt! *g

  • Linie 87 und 120 schon mal angeguckt, was dort bei foreach() los ist?

  • Tja, das liegt garantiert nicht am Browser, sondern am Formular und/oder Script. Poste den relevanten Teil oder lege das Script irgendwo als .txt ab und poste den Link darauf.

  • Hallo, das ist der relevante teil des scripts.
    Er ist auskommentiert (so gut es geht)
    und etwas lang, aber ich hab versucht ihn verständlich zu präsentieren

    Fehlermeldungen jetzt:
    Warning: Invalid argument supplied for foreach() in /home/www/cwcity/hosting/c/o/converse/htdocs/n3/shop_warenkorb.php on line 94

    Warning: Invalid argument supplied for foreach() in /home/www/cwcity/hosting/c/o/converse/htdocs/n3/shop_warenkorb.php on line 137

  • prüf mal die übergebenen werte...

    ich hatte mal ein problem (bzw ein bekannter), bei dem der ie anders
    reagiert hat als der ff. grund dort war, dass er den button zum absenden
    als image definiert hat. im script selbst wurde dann auf den value-wert
    abgefragt.

    im ie hat der "image-button" scheinbar keinen value, zumindest stand der
    wert leer. im ff war der korrekte wert drin. habens dann behoben indem
    wir von image auf submit gewechselt sind, hat geklappt.

    also geh mal debug-mäßig schritt für schritt for. erstmal prüfen ob alles
    übergeben wurde, obs richtig übergeben wurde, welche verzweigungen
    gewählt wurdne etc...

  • JO, ich hab ein Imagebutton in der vorherigen seite,
    das kanns sein, jedoch überprüfe ich nicht den Inhalt der Variable, sonder ob die Variable existiert.

    Danke für die Antwort, ich probiers mal da

    Auf alten Pferden lernt man reiten - Und auf jungen; gehst du kaputt! *g

  • Schade, schade, schade. Du redest was von mehrdimensionalen Arrays, die nicht übergeben werden, und was steht da:

    foreach ($_SESSION['warenkorb'] as $key => $ware)

    Dein Warenkorb ist leer!

    Richtig debuggen
    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL); und ini_set("display_errors", true);
    3. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    4. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
    5. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    6. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    7. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    8. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

  • lass dir alle variablen mit print_r() ausgeben ;)
    also alle wichtigen.

    Hatte auch mal das problme, dass alle Browser bei nem bild imge/jpeg übertragen haben nur IE hat image/pjpeg und dann gabs PHP-Probs mit IE ;)

    Something big is coming. And there will be pirates and ninjas and unicorns...

  • Ja, das war der Übeltäter.
    Ich hätt aber doch lieber das Bild als submit button.

    Kann ich das überhaupt mit einem button realisieren, oder muss ich dafür umständlich mit einem Link und GET arbeiten?

    MFG

    Auf alten Pferden lernt man reiten - Und auf jungen; gehst du kaputt! *g

  • Auch schön:

    // Variable übergabe GET
    $artikel = $_POST['artikel'];
    $size = $_POST['size'];
    $color = $_POST['color'];

  • Code
    <input type='submit' value='' name='feedback' style='background:url(\"./grafiken/senden.gif\");width:65px;height:20px;border:0' />


    so kann man einen grafischen button machen und auf der folgeseite normal den namen abfragen.
    wenn deine grafik schon beschriftet ist lässt du value='' (wenn du value weglässt wird der defaulttext für nen submit-button draufgesetzt), oder du hast halt nur den hintergrund den du über value beschriftest ganz normal.
    nachteil an der sache: die maus verwandelt sich nicht in eine hand wenn man den mauszeiger drüberbewegt.