Ankündigung

Einklappen
Keine Ankündigung bisher.

IF-Bedingung Zusammenfassen

Einklappen

Neue Werbung 2019

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

  • Gast-Avatar
    Ein Gast erstellte das Thema IF-Bedingung Zusammenfassen.

    IF-Bedingung Zusammenfassen

    Tach

    ist es möglich eine If-Bedingung zusammenzufassen? Also z.B. bei folgendem Codeschnipsel:

    PHP-Code:
    <?php
          
    if(isset($_GET['seite']) AND $_GET['seite'] == 'genokonzept/index.htm' OR 
             isset(
    $_GET['seite']) AND $_GET['seite'] == 'genokonzept/fuerjeden/index.htm' OR
             isset(
    $_GET['seite']) AND $_GET['seite'] == 'genokonzept/vorteile/index.htm' OR
             isset(
    $_GET['seite']) AND $_GET['seite'] == 'genokonzept/familien/index.htm' OR
             isset(
    $_GET['seite']) AND $_GET['seite'] == 'genokonzept/business/index.htm' OR
             isset(
    $_GET['seite']) AND $_GET['seite'] == 'genokonzept/50plus/index.htm' OR
             isset(
    $_GET['seite']) AND $_GET['seite'] == 'genokonzept/schuldner/index.htm' OR
             isset(
    $_GET['seite']) AND $_GET['seite'] == 'genokonzept/p17/index.htm') { 
    ?>
    Wie ihr seht sind hier wiederholungen (immer das isset), vielleicht könnt ihr mir helfen. Habs schon vergebens mit dem Manual und mit der Suche versucht

    Danke euch

    MFG HK

  • Zergling-new
    antwortet
    Verwechsel nicht 0 und NULL :P
    empty() wende ich nur auf deklarierte Variablen an.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    wenn man empty nimmt, muss man bedenken, dass bei einem variablenwert von 0 es zu fehlern kommen kann

    (!isset = false, empty = true)

    und isset wirft bei mir keine Fehlermeldungen. Nur wenn man error_reporting E_ALL an hat und man das isset vergisst, kommt ne variablenfehlermeldung. Das aber normal

    Einen Kommentar schreiben:


  • Zergling-new
    antwortet
    Was soll isset() denn für Fehlermeldungen werfen?

    isset() prüft ob die übergebene Variable ungleich NULL ist. Das kann nichtmal nen Warning oder ne Notice werfen. Wenn eine Funktion keine Fehlermeldung provozieren kann, dann isset()

    Einen Kommentar schreiben:


  • Brease
    antwortet
    Ich würde statt isset lieber !empty verwenden, da es bei manchen Sachen mit isset Fehlermeldungen geben kann.
    --------------------------------------------------
    Ist aber nur so ein Tipp am Rande. :wink:

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    hmm stimmt, auf array kam ich hier gar nicht. Dafür bei der Hintergrundfarbe. Versuch ich mal, wenn ich die Seite einigermaßen fertig hab.

    Danke

    Einen Kommentar schreiben:


  • Zergling-new
    antwortet
    Aber das mit dem Array solltest du dir vielleicht wirklich überlegen:

    PHP-Code:
    <?php
    $menu 
    = array(
      
    'name1' => 'link1',
      
    'name2' => 'link2',
      ..);
    if (isset(
    $_GET['seite']) && in_array($_GET['seite'], $menu)) {
      foreach (
    $menu as $name => $link) {
        
    printf('<tr>%s<td>[url="index.php?seite=%s"]   %s[/url]</td>%s</tr>'"\n"$link$name"\n");
      }
    }
    ?>

    Einen Kommentar schreiben:


  • HStev
    antwortet
    Ist zumindest übersichtlicher

    Einen Kommentar schreiben:


  • Zergling-new
    antwortet
    Ich finde switch () trotzdem die elegantere Lösung

    PHP-Code:
    <?php
    if (isset($_GET['seite'])) {
      switch (
    $_GET['seite']) {
      case 
    'genokonzept/index.htm':
      case 
    'genokonzept/fuerjeden/index.htm':
      case 
    'genokonzept/vorteile/index.htm':
      case 
    'genokonzept/familien/index.htm':
      case 
    'genokonzept/business/index.htm':
      case 
    'genokonzept/50plus/index.htm':
      case 
    'genokonzept/schuldner/index.htm':
      case 
    'genokonzept/p17/index.htm':
         echo 
    '</tr><tr>' ...
         break;
      }
    }
    ?>
    Wie aber wärs, wenn du die Pfade in einen Array schreibst und per
    in_array() abfragst ob $_GET['seite'] darin vorkommt. Wenn ja kannste
    den Array auch noch zur Ausgabe verwenden.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    nein jetzt klappt es. Switch ist hier glaub nicht angebracht, da er das selbe macht. Also so sieht die ganze If-Anweisung nun aus:

    PHP-Code:
        <?php 
          
    if(isset($_GET['seite']) AND ($_GET['seite'] == 'genokonzept/index.htm' OR 
                                        
    $_GET['seite'] == 'genokonzept/fuerjeden/index.htm' OR
                                        
    $_GET['seite'] == 'genokonzept/vorteile/index.htm' OR
                                        
    $_GET['seite'] == 'genokonzept/familien/index.htm' OR
                                        
    $_GET['seite'] == 'genokonzept/business/index.htm' OR
                                        
    $_GET['seite'] == 'genokonzept/50plus/index.htm' OR
                                        
    $_GET['seite'] == 'genokonzept/schuldner/index.htm' OR
                                        
    $_GET['seite'] == 'genokonzept/p17/index.htm')) { 
            echo 
    '  </tr><tr>'."\n";
            echo 
    '    <td>[url="index.php?seite=genokonzept/fuerjeden/index.htm"]   ...f&uuml;r jeden[/url]</td>'."\n";
            echo 
    '  </tr><tr>'."\n";
            echo 
    '    <td>[url="index.php?seite=genokonzept/vorteile/index.htm"]   Vorteile[/url]</td>'."\n";
            echo 
    '  </tr><tr>'."\n";
            echo 
    '    <td>[url="index.php?seite=genokonzept/familien/index.htm"]   Junge Familien[/url]</td>'."\n";
            echo 
    '  </tr><tr>'."\n";
            echo 
    '    <td>[url="index.php?seite=genokonzept/business/index.htm"]   Business Kunden[/url]</td>'."\n";
            echo 
    '  </tr><tr>'."\n";
            echo 
    '    <td>[url="index.php?seite=genokonzept/50plus/index.htm"]   50+[/url]</td>'."\n";
            echo 
    '  </tr><tr>'."\n";
            echo 
    '    <td>[url="index.php?seite=genokonzept/schuldner/index.htm"]   Schuldner[/url]</td>'."\n";
            echo 
    '  </tr><tr>'."\n";
            echo 
    '    <td>[url="index.php?seite=genokonzept/p17/index.htm"]   Eigenheimzulage §17[/url]</td>'."\n";
          }
    ?>
    Das ganze ist für ein Menü (bzw Untermenü welches aufklappt). Vielleicht hab ichs ja auch umständlich gemacht

    Einen Kommentar schreiben:


  • web2
    antwortet
    Zitat von xabbuh
    So:
    PHP-Code:
    <?php
        
    if(isset($_GET['seite']) && (...))
    ?>
    ja so würde ich es auch machen:
    PHP-Code:
    <?
      if(isset($_GET['seite']) AND 
        ($_GET['seite'] == 'genokonzept/index.htm') OR 
            ($_GET['seite'] == 'genokonzept/fuerjeden/index.htm') OR
            ($_GET['seite'] == 'genokonzept/vorteile/index.htm') OR
            ($_GET['seite'] == 'genokonzept/familien/index.htm') OR
            ($_GET['seite'] == 'genokonzept/business/index.htm') OR
            ($_GET['seite'] == 'genokonzept/50plus/index.htm') OR
            ($_GET['seite'] == 'genokonzept/schuldner/index.htm') OR
            ($_GET['seite'] == 'genokonzept/p17/index.htm')) 
      {
             ///blabla
      }
    ?>
    Zitat von HK
    komisch, als ich das versuchte klappte es nicht *grml* danke dir, xabbuh
    hmmm? was klappt denn nicht?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Mach es doch ganz anders.
    PHP-Code:
    <?php
       
    if(isset($_GET['seite'])):
           
    // $_GET['seite'] hat einen Wert, juhuu
           
    switch($_GET['seite']):
               case 
    'irgendwas'/* mach was */
                   
    break;
               
    // usw. ...
           
    endswitch;
       endif;
    ?>

    Einen Kommentar schreiben:


  • HStev
    antwortet
    ist es nicht wesentlich übersichtlicher das ganze in 2 geschachtelte IF's zu packen?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    komisch, als ich das versuchte klappte es nicht *grml* danke dir, xabbuh

    Einen Kommentar schreiben:


  • xabbuh
    antwortet
    So:
    PHP-Code:
    <?php
        
    if(isset($_GET['seite']) && (...))
    ?>

    Einen Kommentar schreiben:

Lädt...
X