Ankündigung

Einklappen
Keine Ankündigung bisher.

If else abfrage funzt nicht

Einklappen

Neue Werbung 2019

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

  • DDogg
    hat ein Thema erstellt If else abfrage funzt nicht.

    If else abfrage funzt nicht

    Ich habe eine Frage. Folgender Code müsste doch eigentlich funktionieren oder??

    <?
    if ($menu = 4 and $submenu = 1)
    { $height = 619; }
    elseif ($menu = 1)
    { $height = 408; }

    echo "$height";

    ?>

    Er gibt mir immer die 619 als height aus. Obwohl $menu 1 ist und nicht 4. Das if wird erfüllt ...

    Steckt nich mehr dahinter. Nur das soll funktionieren. Aber es geht nicht??? Was mach ich falsch?

  • DDogg
    antwortet
    Genau das!!!!!!!!!!!!!

    Vielen Dank.

    So is das richtig:

    PHP-Code:
    <?
    $menu = $_GET['menu'];

    if ($menu == 4)
    {
       $height = 619;
    }
    elseif ($menu == 1)
    {
       $height = 408;
    }
    elseif ($menu == 0)
    {
       $height = 200;
    }
    else
    {
       $height = 600;
    }
    ?>
    Sieht man mal wieder das die Qualität der Antwort nur von der Genauigkeit der Frage abhängt ^^

    Danke nochmal!

    Einen Kommentar schreiben:


  • xabbuh
    antwortet
    Das wird sicherlich daran liegen, dass register_globals deaktiviert ist und du deswegen Variablen, die nicht in deinem Script definiert werden, nicht mehr direkt über ihren Namen sondern über das entsprechende superglobale Array ansprechen kannst: http://tut.php-q.net/get.html

    Einen Kommentar schreiben:


  • DDogg
    antwortet
    Also die Height abfrage befindet sich auf der seite index.php. In der selben werden Inhalte aufgerufen. In der Navi steht zb.:

    PHP-Code:
    <?php
    <a href="index.php?menu=1&submenu=1" onmouseover="akt(1,'a')" onmouseout="akt(1,'n')">
    ?>
    Die Seite index.php wird aufgerufen, in den Browserzeile steht www. .... /index.php?menu=1&submenu=1 und die Inhalte aus der DB für menu=1&submenu=1 werden geladen.

    Die height Abfrage bekommt aber mit folgenden Code garkein $menu rein. Die Abfrage echo "$menu"; ergibt immer 0 also nichts.

    PHP-Code:
    <?php
    <?
    echo 
    "$menu";

    if (
    $menu == and $submenu == 1)
    {
       
    $height 619;
    }
    elseif (
    $menu == 1)
    {
       
    $height 408;
    }
    elseif (
    $menu == 0)
    {
       
    $height 2000;
    }
    else
    {
       
    $height 600;
    }
    ?>
    ?>
    Weiss jemand woran das liegen könnte?

    Einen Kommentar schreiben:


  • DDogg
    antwortet
    tsja das is der pudels gern

    .... ich hab kein Plan warum das ding nich funktioniert. Das is eigentlich so pille palle ...
    Weil am Code liegts nich!

    Einen Kommentar schreiben:


  • Zergling-new
    antwortet
    Wo liegt dann das Problem?

    Einen Kommentar schreiben:


  • DDogg
    antwortet
    Das mit den Grundlagen stimmt leider so nicht. Ich wär froh es würde daran liegen. Das mit dem einen = war nur eun verzweifelter Versuch den Fehler im Code zu finden ... Einfach alles umschreiben um zu sehn was geht und was nich.

    Die Abfrage echo "$menu": hat mir jetzt gesagt das $menu immer eins ist. Also ist einfach der Punkt wo ich $menu erfrage falsch, da an dieser Stelle $menu noch nicht definiert ist

    denk ich mir mal so

    Einen Kommentar schreiben:


  • Zergling-new
    antwortet
    Re: If else abfrage funzt nicht

    Zitat von DDogg
    Ich habe eine Frage. Folgender Code müsste doch eigentlich funktionieren oder??
    Nö, = ist eine Zuweisung die immer true ist, solang der zugewiesene Wert nicht 0 oder NULL ist, == ist der Vergleichsoperator, den du meinst.

    [php]<?php
    $a = "a";
    if ($a = "b") {
    // jetzt landest du hier, denn "b" wurde erfolgreich $a zugewiesen
    } else {
    // hier landest du nie
    }

    $a = "a";
    if ($a == "b") {
    // hier landest du nie
    } else {
    // hier landest du, da die if-Bedingung FALSE war
    }
    ?>
    PHP-Code:

    Das nächste mal 
    [url=http://tut.php-q.net]Grundlagen lernen[/url], bevor du hier postest. 

    Einen Kommentar schreiben:


  • DDogg
    antwortet
    Er bekommt IMMER $menu = 1 und daher auch $height = 619 zurück, egal was aufgerufen wird .... Den Inhalt der zu $menu = X geladen werden soll wird immer richtig aus der DB geladen ...

    Das heisst das die Variable $menu richtig ausgegeben wird, meine height berechnung aber nicht dran kommt??

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Code:
    <?
    if ($menu == 4 AND $submenu == 1)
    {
       $height = 619;
    }
    elseif ($menu == 1)
    {
       $height = 408; 
    }
    echo "$height";
    ?>
    Der Code ist schon richtig.
    Beachte aber dabei, das $menu auf jeden Fall den Wert 4 oder 1 haben muß, sonst hat $height keinen Wert.
    Wenn du willst, das $height = 408 sein soll, nur nicht wenn $menu = 4 und $submenu = 1 dann nimm else und nicht elseif.

    MfG
    Andi Z.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Lass dir doch einfach mal die Variablen Ausgeben.
    Vllt wird einfach keine der beiden Abfragen erfühlt und $height bekommt somit keinen Wert zugewiesen.

    PHP-Code:
    <?php
    if($menu == && $submenu == 1)
      { 
      
    $height 619
      }
    elseif(
    $menu == 1)
      {
      
    $height 408
      }

    echo 
    "$height";

    ?>
    An dem von dir geposteten Teil liegt es nicht!

    Einen Kommentar schreiben:


  • DDogg
    antwortet
    Re: If else abfrage funzt nicht

    <?
    if ($menu == 4 and $submenu == 1)
    { $height = 619; }
    elseif ($menu == 1)
    { $height = 408; }

    echo "$height";

    ?>

    So? Dann funktioniert garnichts mehr. Dann gibt er als height 0 aus

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Mach mal aus den "=" in den If-Abfragen "==".

    Einen Kommentar schreiben:

Lädt...
X