Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] If Abfrage richtig platzieren

Einklappen

Neue Werbung 2019

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

  • [Erledigt] If Abfrage richtig platzieren

    Hallo,

    ich möchte mit eine Abfrage den Title Tag für eine bestimmte Seite steuern, kriege es aber nicht genau hin, denn der gewünschte Titel wird zwar ausgegeben aber im Quellcode sind gleich zweimal Title Tags drin, was ich natürlich vermeiden möchte. Hat einer eine Idee wo die Abfrage richtig platziert werden sollte bzw. geändert werden?

    <?php
    if($_SERVER['REQUEST_URI'] == '/index.php/cat/c3_Elefanten.html')
    {
    ?>
    <title><?php echo "Der blauer Elefant"; ?></title>
    <?php
    }
    ?>
    <?php
    if (strstr($PHP_SELF, FILENAME_PRODUCT_INFO)) {

    if ($product->isProduct()) {
    ?>
    <meta name="description" content="<?php echo $product->data['products_meta_description']; ?>" />
    <meta name="keywords" content="<?php echo $product->data['products_meta_keywords']; ?>" />
    <title><?php echo TITLE.' - '.$product->data['products_meta_title'].' '.$product->data['products_name'].' '.$product->data['products_model']; ?></title>
    <?php
    } else {
    ?>
    <meta name="description" content="<?php echo META_DESCRIPTION; ?>" />
    <meta name="keywords" content="<?php echo META_KEYWORDS; ?>" />
    <title><?php echo TITLE; ?></title>
    <?php
    }
    } else {
    if ($_GET['cPath']) {
    if (strpos($_GET['cPath'],'_')=='1') {
    $arr=explode('_',xtc_input_validation($_GET['cPath'],'cPath',''));
    $_cPath=$arr[1];
    } else {
    //$_cPath=(int)$_GET['cPath'];
    if (isset($_GET['cat'])) {
    $site=explode('_',$_GET['cat']);
    $cID=$site[0];
    $_cPath=str_replace('c','',$cID);
    }
    }
    $categories_meta_query=xtDBquery("SELECT categories_meta_keywords,
    categories_meta_description,
    categories_meta_title,
    categories_name
    FROM ".TABLE_CATEGORIES_DESCRIPTION."
    WHERE categories_id='".$_cPath."' and
    language_id='".$_SESSION['languages_id']."'");
    $categories_meta = xtc_db_fetch_array($categories_meta_query,true);
    if ($categories_meta['categories_meta_keywords']=='') {
    $categories_meta['categories_meta_keywords']=META_KEYWORDS;
    }
    if ($categories_meta['categories_meta_description']=='') {
    $categories_meta['categories_meta_description']=META_DESCRIPTION;
    }
    if ($categories_meta['categories_meta_title']=='') {
    $categories_meta['categories_meta_title']=$categories_meta['categories_name'];
    }
    ?>
    <meta name="description" content="<?php echo $categories_meta['categories_meta_description']; ?>" />
    <meta name="keywords" content="<?php echo $categories_meta['categories_meta_keywords']; ?>" />
    <title><?php echo TITLE.' - '.$categories_meta['categories_meta_title']; ?></title>
    <?php
    } else {
    if ($_GET['coID']){
    $contents_meta_query=xtDBquery("SELECT content_heading
    FROM ".TABLE_CONTENT_MANAGER."
    WHERE content_group='".$_GET['coID']."' and
    languages_id='".$_SESSION['languages_id']."'");
    $contents_meta = xtc_db_fetch_array($contents_meta_query,true);
    ?>
    <meta name="description" content="<?php echo META_DESCRIPTION; ?>" />
    <meta name="keywords" content="<?php echo META_KEYWORDS; ?>" />
    <title><?php echo TITLE.' - '.$contents_meta['content_heading']; ?></title>
    <?php
    }else{
    }
    ?>
    <meta name="description" content="<?php echo META_DESCRIPTION; ?>" />
    <meta name="keywords" content="<?php echo META_KEYWORDS; ?>" />
    <title><?php echo TITLE; ?></title>
    <?php
    }
    }
    ?>

    Vielen Dank im Voraus

  • #2
    Hallo, bitte pack deinen Code in die vorgesehenen PHP Tags, kann sonst keiner lesen.

    Kommentar


    • #3
      nochn tipp: versuch mal ne funktion zu screiben die das macht, dann brauchste in deiner index keine 600 zeilen code für den title-tag...

      Kommentar


      • #4
        Zitat von dudu Beitrag anzeigen
        gleich zweimal Title Tags drin, was ich natürlich vermeiden möchte. Hat einer eine Idee wo die Abfrage richtig platziert werden sollte bzw. geändert werden?
        Du solltest eine Entweder-oder Abfrage daraus machen
        Code:
        if ( Bedingung1 )
          title = a
        else if ( Bedingung2 )
          title = b
        else
          title = c
        
        <title> ausgeben

        Kommentar


        • #5
          <FONT color=#ff0000>
          PHP-Code:
          <?php
          if($_SERVER['REQUEST_URI'] == '/index.php/cat/c3_Elefanten.html')
          {
          ?>
          <title><?php echo "Der blauer Elefant"?></title>
          <?php
          }
          ?>
          <?php
          if (strstr($PHP_SELFFILENAME_PRODUCT_INFO)) {

          if (
          $product->isProduct()) {
          ?> 
          <meta name="description" content="<?php echo $product->data['products_meta_description']; ?>" />
          <meta name="keywords" content="<?php echo $product->data['products_meta_keywords']; ?>" />
          <title><?php echo TITLE.' - '.$product->data['products_meta_title'].' '.$product->data['products_name'].' '.$product->data['products_model']; ?></title>
          <?php
          } else {
          ?>
          <meta name="description" content="<?php echo META_DESCRIPTION?>" />
          <meta name="keywords" content="<?php echo META_KEYWORDS?>" />
          <title><?php echo TITLE?></title> 
          <?php

          } else {
          if (
          $_GET['cPath']) {
          if (
          strpos($_GET['cPath'],'_')=='1') {
          $arr=explode('_',xtc_input_validation($_GET['cPath'],'cPath',''));
          $_cPath=$arr[1];
          } else {
          //$_cPath=(int)$_GET['cPath'];
          if (isset($_GET['cat'])) {
          $site=explode('_',$_GET['cat']);
          $cID=$site[0];
          $_cPath=str_replace('c','',$cID);
          }
          }
          $categories_meta_query=xtDBquery("SELECT categories_meta_keywords,
          categories_meta_description,
          categories_meta_title,
          categories_name
          FROM "
          .TABLE_CATEGORIES_DESCRIPTION."
          WHERE categories_id='"
          .$_cPath."' and
          language_id='"
          .$_SESSION['languages_id']."'");
          $categories_meta xtc_db_fetch_array($categories_meta_query,true);
          if (
          $categories_meta['categories_meta_keywords']=='') {
          $categories_meta['categories_meta_keywords']=META_KEYWORDS;
          }
          if (
          $categories_meta['categories_meta_description']=='') {
          $categories_meta['categories_meta_description']=META_DESCRIPTION;
          }
          if (
          $categories_meta['categories_meta_title']=='') {
          $categories_meta['categories_meta_title']=$categories_meta['categories_name'];
          }
          ?>
          <meta name="description" content="<?php echo $categories_meta['categories_meta_description']; ?>" />
          <meta name="keywords" content="<?php echo $categories_meta['categories_meta_keywords']; ?>" />
          <title><?php echo TITLE.' - '.$categories_meta['categories_meta_title']; ?></title>
          <?php
          } else {
          if (
          $_GET['coID']){
          $contents_meta_query=xtDBquery("SELECT content_heading
          FROM "
          .TABLE_CONTENT_MANAGER."
          WHERE content_group='"
          .$_GET['coID']."' and
          languages_id='"
          .$_SESSION['languages_id']."'");
          $contents_meta xtc_db_fetch_array($contents_meta_query,true);
          ?>
          <meta name="description" content="<?php echo META_DESCRIPTION?>" />
          <meta name="keywords" content="<?php echo META_KEYWORDS?>" />
          <title><?php echo TITLE.' - '.$contents_meta['content_heading']; ?></title>
          <?php
          }else{
          }
          ?>
          <meta name="description" content="<?php echo META_DESCRIPTION?>" />
          <meta name="keywords" content="<?php echo META_KEYWORDS?>" />
          <title><?php echo TITLE?></title>
          <?php
          }
          }
          ?>

          Kommentar


          • #6
            Zitat von Hu5eL Beitrag anzeigen
            nochn tipp: versuch mal ne funktion zu screiben die das macht, dann brauchste in deiner index keine 600 zeilen code für den title-tag...
            Das ist nicht in der index sondern ausgelagert in einer metatags.php

            Kommentar


            • #7
              und jetzt den ganzen code noch brav einrücken bitte

              Kommentar


              • #8
                Zitat von Freeaak Beitrag anzeigen
                und jetzt den ganzen code noch brav einrücken bitte
                Einrücken, wie?

                Kommentar


                • #9
                  wie nikosch im sticky geschrieben hat (den du scheinbar übersehen hast): http://de.wikipedia.org/wiki/Einr%C3%BCckungsstil

                  Kommentar


                  • #10
                    Wenn ich wüßte wie das geht hätte ich vermütlich meine Frage gar nicht erst stellen müssen.

                    Kommentar


                    • #11
                      Wenn du aus solchen Zeilen:

                      PHP-Code:
                      <title><?php echo "Der blauer Elefant"?></title>
                      solche Zeilen machst:

                      PHP-Code:
                      <?php echo "<title>Der blauer Elefant</title>"?>
                      dann bist du schon ein gutes Stück weiter bei deinen Überlegungen.

                      Kommentar


                      • #12
                        Code:
                        if (/* ... */) {
                        Pseudo-Code nicht eingerückt
                        }
                        
                        if (/* ... */) {
                            Pseudo-Code eingerückt
                        }
                        Das Einrücken kannst du beliebig mit einem, zwei, vier, acht, 16, 256 oder 1024 Leerzeichen machen. Alternativ auch mit Tabs. Die Einrückung mit vier Leerzeichen ist aber am gebräuchlichsten.

                        Kommentar


                        • #13
                          Hier vielleicht auch für Laien verständlich: http://tut.php-quake.net/einruecken.html

                          Kommentar


                          • #14
                            Zitat von lazydog Beitrag anzeigen
                            Hier vielleicht auch für Laien verständlich: #php/QuakeNet Tutorial - Einrücken
                            Hallo,

                            vielen Dank bis hier. Der Quellcode habe ich so wie es ist (nicht eingerückt) übernommen, habe nur die Abfrage um die es hier geht selber zugefügt. Es wäre blödsinnig, wenn ich jetzt beginnen wurde das Ganze einzurücken weil ich nicht genügend davon verstehe und sicherlich entsprechend viele Fehler machen wurde.

                            Kommentar


                            • #15
                              Probieren geht über studieren. So habe ich PHP gelernt.

                              Kleiner Tipp: alle Code-Blöcke (also { ... }) einrücken.
                              Aus
                              Code:
                              Lorem ipsum dolor sit amet,
                              {
                              consectetuer sadipscing elitr,
                              sed diam nonumy eirmod tempor invidunt
                              {
                              ut labore et dolore magna aliquyam
                              erat, sed diam voluptua.
                              {
                              At vero eos et accusam et
                              justo duo dolores et ea rebum.
                              }
                              Stet clita kasd gubergren,
                              }
                              no sea takimata sanctus est Lorem ipsum dolor sit amet.
                              }
                              wird also
                              Code:
                              Lorem ipsum dolor sit amet,
                              {
                                  consectetuer sadipscing elitr,
                                  sed diam nonumy eirmod tempor invidunt
                                  {
                                      ut labore et dolore magna aliquyam
                                      erat, sed diam voluptua.
                                      {
                                          At vero eos et accusam et
                                          justo duo dolores et ea rebum.
                                      }
                                      Stet clita kasd gubergren,
                                  }
                                  no sea takimata sanctus est Lorem ipsum dolor sit amet.
                              }
                              So siehst du genau, was zu welchem Block gehört.

                              Kommentar

                              Lädt...
                              X