Versch. Werte je nach Referer ausgeben?

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

  • Versch. Werte je nach Referer ausgeben?

    Hallo,

    ich möchte ein Script, welches mir zuerst den Referer ausliest, dann überprüft ob dieser eine bestimmte Zeichenkette (in diesem Falle "wurst") enthält. Wenn ja, soll "Beispiel1" ausgegeben werden, wenn nein, "Beispiel2".

    Nun habe ich mal folgendes versucht:

    PHP-Code:
    <?php

    $ref
    =$_SERVER['HTTP_REFERER'];

    $teile=explode(".",$ref);

    if (
    $teile[1] == "wurst")

    {

    echo(
    "Beispiel1");

    }

    else

    {

    echo(
    "Beispiel2");

    }

    ?>
    Ich dachte mir, ich zerlege den Referer bei jedem Punkt und frage dann, ob der zweite Teil "wurst" entspricht.
    Meinen Überlegungen nach müsste dann "Beispiel1" ausgegeben werden, wenn der Referer mit "http://www.wurst.de" beginnt und "Beispiel2", wenn er anders anfängt.

    Nur jetzt habe ich einmal das Problem, dass mir immer "Beispiel1" ausgegeben wird, auch wenn der Referer mal sicher nicht stimmt.

    Und jetzt frage ich mich auch, was passiert, wenn gar kein Referer vorhanden ist, oder wenn der Referer ohne www. geschrieben ist, also ohne den Punkt vor dem Domainnamen.

    Somit dürfte mein Ansatz leider nicht mehr weiterführen.

    Hab jetzt lange rumgegrübelt und Bücher sowie Google und die Suchfunktion hier gewälzt, aber bin noch nicht fündig geworden.

    Könnt ihr mir helfen?

    Vielen, allerbesten Dank schonmal!

    Grüße

  • #2
    Entweder du prüfst das ganze mir Regulären ausdrücken oder du verfolgst deinen weg weiter und überlegst dir mal genau was du willst

    Dein Beispiel

    PHP-Code:
    $teile=explode(".",$ref); 
    Wobei der Referer http://www.wurst.de ist

    Wenn du mit explode() arbeitest erhälst du ein Array.
    Dann sieh dir mal die funktion in_array an. Damit sollte
    es egal sein ob dein gesuchter Wert mit oder ohne www oder ftp.wurst.de ist.. Allerdings würde es da auch wieder Probleme geben wenn der Ref. http://wurst.salami.de ist

    Also ich würde es mal mit Regulären Ausdrücken versuchen.
    gruss Chris

    [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

    Kommentar


    • #3
      Hi,

      ok, folgender Ansatz mit regulären Ausdrücken:

      PHP-Code:
      <?php

      $ref
      =$_SERVER['HTTP_REFERER'];

      if (
      ereg("wurst.de",$ref))

      {

      echo(
      "Beispiel1");

      }

      else

      {

      echo(
      "Beispiel2");

      }

      ?>
      Nur habe ich doch jetzt das Problem, dass es sich bei "wurst.de" nicht um einen festen Begriff, sondern nur um ein Suchmuster handelt.

      Wie kann ich "wurst.de" nun als festen Begriff definieren?

      Vielen, allerbesten Dank!

      Grüße

      Kommentar


      • #4
        Was verstehst du unter festen Begriff?
        gruss Chris

        [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

        Kommentar


        • #5
          Naja, theoretisch würde auch der Wert true zurückgegeben werden, wenn nur "wu" von "wurst.de" gefunden werden können.

          Ich möchte aber nur den Wert false erhalten, wenn der komplette Begriff "wurst.de" gefunden wird.

          Vielen, allerbesten Dank!

          Grüße

          Kommentar


          • #6
            Wie isn damit?

            PHP-Code:
            if (preg_match("/wurst.de/i",$ref))
            {
             ... 
            Gefunden

            gruss Chris

            [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

            Kommentar


            • #7
              Super, funktioniert!
              Vielen, allerbesten Dank dir

              Kommentar


              • #8
                Ich nochmal:

                Bei einer Fallunterscheidung, wo ich prüfen möchte, ob die Kette "wurst.de" gefunden wurde, gehe ich folgendermaßen vor:

                PHP-Code:
                $ref=$_SERVER['HTTP_REFERER'];

                if (
                preg_match("/wurst.de/i",$ref))

                {
                    echo(
                "Referer verifiziert!");

                Ich hoffe, ich stelle mich jetzt nicht unnötig an, wie kann ich denn prüfen, ob der Referer nicht "wurst.de" enthält?

                Vielen, allerbesten Dank!

                Grüße

                Kommentar


                • #9
                  PHP-Code:
                  $faktor true;

                  if(
                  $faktor)
                  {
                     echo 
                  'ja';
                  }
                  else
                  {
                     echo 
                  'nein';


                  // andersrum:

                  if(!$faktor)
                  {
                     echo 
                  'nein';
                  }
                  else
                  {
                     echo 
                  'ja';

                  Kommentar


                  • #10
                    Guck in dein erstes Posting???
                    gruss Chris

                    [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                    Kommentar

                    Lädt...
                    X