Ankündigung

Einklappen
Keine Ankündigung bisher.

if-bedingung

Einklappen

Neue Werbung 2019

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

  • if-bedingung

    Hallo,

    wie formuliere ich folgendes mit php?

    wenn die URL = www.homepage.de ist, dann mache....


    nach was muß ich da suchen? wenn die URL = www.hompage.de/index.php?path=20
    ist soll die bedingung nicht erfüllt sein.


    Gruß Nixdorf

  • #2
    Schau dir mal die Werte des Arrays $_SERVER an, da kannst du bestimmt was rausholen

    Kommentar


    • #3
      Wenn du mal
      PHP-Code:
      <?php
      echo "<pre>";
      print_r($_HOST);
      echo 
      "</pre>";
      ?>
      testest, bekommst du i.d.R. eine Menge von Informationen. Das was du suchst steht in dem _HOST Array unter "HTTP_HOST".
      Die Abfrage würde dann in etwa so aussen:
      PHP-Code:
      <?php
      if ($_SERVER["HTTP_HOST"] == "www.homepage.de") {
          echo 
      "Blub";
      } else {
          echo 
      "Bla";
      }
      ?>

      Kommentar


      • #4
        Du meinst $_SERVER, nicht $_HOST

        Er muss das aber kombinieren mit $_SERVER['PHP_SELF'] und $_SERVER['QUERY_STRING'] (o.ä.)

        Kommentar


        • #5
          Mit dem Code bekomme ich es hin.

          Jetzt muß ich aber anstatt echo "Blub"; Auszugeben folgendes in der Klamma ausführen:

          <script type="text/javascript">
          <!--
          var b = new Array();
          b[0] = new Image(); b[0].src = "../shop/images/diashow/1.jpg";
          b[1] = new Image(); b[1].src = "../shop/images/diashow/2.jpg";
          b[2] = new Image(); b[2].src = "../shop/images/diashow/3.jpg";
          b[3] = new Image(); b[3].src = "../shop/images/diashow/4.jpg";
          var i = 0;
          function Animation()
          {
          if(i > 3) i = 0;
          document.images[14].src = b[i].src;
          i = i + 1;
          window.setTimeout("Animation()",5000);
          }
          window.setTimeout("Animation()",5000);
          //-->
          </script>


          Das ist eine Diashow mit javascript. Die lässt sich aber nicht einfach in den PHP-Code einfügen. Wie kann ich das machen?


          Gruß Nixdorf

          Kommentar


          • #6
            Wie kann ich das machen?
            Angewöhnen, PHP-Code von HTML oder JS generell zu trennen.
            Sprich -> mit Templates arbeiten

            Kommentar


            • #7
              ich denke für den anfang (und bei der frage gehe ich mal davon aus) reicht wohl auch mit ?> <?php den scriptbereich zu verlassen, ohne gleich templates zu benutzen.
              es ist also durchaus möglich ein konstrukt dieser art zu benutzen:
              PHP-Code:
              <html>....
              <?php

              if ($_SERVER["HTTP_HOST"] == "www.homepage.de") {
              ?>
              ...
              <script type="text/javascript">
              <!--
              var b = new Array();
              b[0] = new Image(); b[0].src = "../shop/images/diashow/1.jpg";
              b[1] = new Image(); b[1].src = "../shop/images/diashow/2.jpg";
              b[2] = new Image(); b[2].src = "../shop/images/diashow/3.jpg";
              b[3] = new Image(); b[3].src = "../shop/images/diashow/4.jpg";
              var i = 0;
              function Animation()
              {
              if(i > 3) i = 0;
              document.images[14].src = b[i].src;
              i = i + 1;
              window.setTimeout("Animation()",5000);
              }
              window.setTimeout("Animation()",5000);
              //-->
              </script>
              ...<?
              } else {
              // more

              ?>...</html>

              Kommentar


              • #8
                Hallo,

                ok, das scheint jetzt zu klappen. Allerdings muß ich noch etwas genauer bei URL sein in der If-Bedingung. Im moment wird die Bedingung immer erfüllt. Auch wenn die URL www.homepage/seite/index.php?page=2 lautet wird die Bedingung erfüllt. Sie soll aber nur erfüllt sein wenn die URL www.hompage/seite/ lautet.

                Gruß Nixdorf

                Kommentar


                • #9
                  aber www.hompage/seite/ ruft doch wahrscheinlich automatisch www.hompage/seite/index.php auf oder?

                  ist es nicht einfacher $_GET zu prüfen (also z.B. wenn irgend ein parameter gesetzt ist oder wenn page gesetzt ist)

                  Kommentar


                  • #10
                    hallo,

                    ich habs gemacht, und es scheint zu klappen.

                    Danke...Gruß Nixdorf

                    Kommentar


                    • #11
                      Hallo,

                      so ganz klappt es doch noch nicht.

                      hier noch mal die Bedingung:

                      if ($_SERVER["HTTP_HOST"] == "www.photosworld-wide.com") {
                      if (isset($_GET['cPath'])) { echo ".";}
                      else{

                      ...

                      Else wird aber auch bei dieser URL ausgeführt:

                      http://www.domain.com/shop/index.php/cPath/34

                      Wie kann ich das ausschließen?

                      Gruß Nixdorf

                      Kommentar


                      • #12
                        Hallo,

                        hat keiner eine Idee, warum das noch nicht klappt? das Problem besteht immer noch.


                        Gruß Nixdorf

                        Kommentar


                        • #13
                          Nochmal von vorne, was grundsätzlich hast du vor? Nicht welche Technik, sondern was der Hintergedanke der ganzen Aktion ist.

                          Kommentar


                          • #14
                            schau Dir doch mal an, was in $_SERVER["HTTP_HOST"] genau drin steht und passe Deine Bedingung richtig an!

                            Wieso hast Du denn auf einmal ein "f" mehr?

                            Kommentar


                            • #15
                              Hallo,

                              der hintergedanke ist, das ich auf der Startseite Bildershow habe. Ich lasse das 10. Bild immer wieder durch ein neues ersetzen. Der für das Bildwechseln ist in der date indes.php im ../languages/german - Verzeichnis (ein os-commerse-Shop)

                              Der wird aber auch aufgerufen wenn ich auf einer Artikel-Seite bin. Dadurch wechselt jetzt da auch das 10. Bild. Das möchte ich verhindern durch die if-Bedingen. Sie soll nur aufgerufen werden, wenn die Startseite erscheint.

                              <?php echo $_SERVER['QUERY_STRING'];?> zeigt bei mir gar nichts an, bei dieser URL:

                              http://www.domain.de/shop/index.php/cPath/28_29_31

                              und bei dieser auch nichts:

                              http://www.domain.de/shop/


                              Noch eine Idee?

                              Gruß Nixdorf

                              Kommentar

                              Lädt...
                              X