Problem mit Vars

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit Vars

    Hallo zusammen

    ich hoffe jemand kann mir bei meinem unerklärlichen Problem mit einem meiner Script helfen. Es geht darum, dass der User die Möglichkeit hat seine Bildschirmauflösung zu wählen und dann die entsprechende CSS-Datei geladen wird. Das Form geht an ein Kotrollscript, welches mir den $QUERY_STRING erstellt. Das folgende Script binde ich mittels include in jede Seite ein.
    PHP-Code:
    <?php 
    $logo 
    "";
    $aufloesung "";
    $table1 150;
    $table2 280;

    $table_link 200;
    if(
    strstr($QUERY_STRING,"_800_600"))
    {
        
    $aufloesung "_800_600";
    }
    elseif(
    strstr($QUERY_STRING,"_1024_768"))
    {
        
    $aufloesung "_1024_768";
        
    $table1 200;
        
    $table2 400;
        
    $table_link 280;
    }
    elseif(
    strstr($QUERY_STRING,"_1280_1024"))
    {
        
    $aufloesung "_1280_1024";
        
    $table1 300;
        
    $table2 600;
        
    $table_link 360;
        
    $logo "<img src=\"http://www.tobisworld.ch/small/logo1.jpg\" width=\"200\" height=\"201\" 
        alt=\"Logo von TobisWorld\" border=\"0\">"
    ;
    }
    elseif(
    strstr($QUERY_STRING,"_1600_1200"))
    {
        
    $aufloesung "_1600_1200";
        
    $table1 400;
        
    $table2 800;
        
    $table_link 440;
        
    $logo "<img src=\"http://www.tobisworld.ch/small/logo1.jpg\" width=\"200\" height=\"201\" 
        alt=\"Logo von TobisWorld\" border=\"0\">"
    ;
    }
    ?>
    Das Prob ist nun, dass NUR im Falle von _1280_1024 die $table1 und $table2 nicht neu belegt werden, sondern das Script gibt die Standartwerte weiter. $table_link wird hingegen korrekt gesetzt, wie auch $logo.
    In allen anderen Fällen werden die Vars korrekt gesetzt.

    Da blick ich nicht mehr durch...

    Gruss

    tobi
    Zuletzt geändert von jahlives; 14.09.2004, 21:05.
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

  • #2
    nachgefragt

    Hallo,

    hab' den Code-Teil kopiert und ausprobiert, hat ohne Probleme funktioniert.
    wenn der Code kopiert ist, würde ich annehmen, daß Du die Variablen vielleicht noch wo anders überschreibst.

    Schonmal Variablen im elseif-Zweig ausgeben lassen ? - Ergebnis ?

    PS: ist die Zergliederung in 4 verschieden Versionen wirklich notwendig, sollte heutzutage auch mit einer "validen" Version keine Probleme in den verschiedenen Auflösungen und Browsern geben.... - nur ein Gedanke - ...



    ein Gruß aus Wien an alle Schweitzer

    Kommentar


    • #3
      Salut Wiener

      Schonmal Variablen im elseif-Zweig ausgeben lassen ? - Ergebnis ?
      Das ist ja gerade das Problem: die $table1 und $table2 sind auf Standart und $table_link (aus dem gleichen Zweig!) ist ok.
      In allen anderen Fällen funzt es und da ich die $table einfach als Tabellenbreite in der Zielseite einsetze, sehe ich, dass sie in allen anderen Fällen korrekt sind.
      Somit bin ich sicher, dass ich sie nicht überschreibe...

      Gruss

      tobi
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar


      • #4
        Servus Wiener

        habe den Fehler gestern dann noch gefunden. Ich habe in einer inkludierten Datei eine weitere inkludiert, die dieselbe Schleife noch einmal durchgelaufen ist. Dadurch wurde ein Teil der Vars tatsächlich überschrieben.
        Habe die Schleife gelöscht und alles funzt nun.
        Was mir aber nicht logisch erscheint, ist dass er nur in einem Falle Probs hatte und in allen anderen die Vars korrekt ausgegeben wurden. Denn eigentlich hätten dann alle Vars überschrieben werden müssen.

        Wie auch immer jetzt funzt es. Danke für den Tipp wegen dem Überschreiben (ich war mir zwar sicher, dass es nicht so sein kann, habe dann aber den ganzen Code nochmals zerlegt und sah, dass es doch so war).

        Cheers

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          was lernen wir daraus -> 99% der Fehler sind vom externem Ursprung

          Kommentar


          • #6
            Salut

            was lernen wir daraus -> 99% der Fehler sind vom externem Ursprung
            Oder auch von intern (Hirn des Schreiberlings)

            Gruss

            tobi
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar

            Lädt...
            X