functon mit or verknüpfen

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

  • functon mit or verknüpfen

    Wie kann ich $text1 mit or so verknüpfen, das true kommt, wenn entweder $text1 oder $text2 ok sind?
    PHP-Code:
      <?
        $siteurl = $_POST[backlink];
        $text1 = $_POST[Linktext1];
        $text2 = $_POST[Linktext2];
        if (onlineCheck($siteurl, $text1)) {
        echo "link ok";
        } else {
     echo "link nicht ok";
        }
    function onlineCheck($siteurl, $text1) {
        $arrText = file($siteurl);
        for ($i=0; $i<count($arrText); $i++) {
            $text = $text . $arrText[$i];
        }
        if (eregi($text1, $text)) {
         return true;
        } else {
           return false;
        }
    }
    ?>
    Zuletzt geändert von ollimagic; 24.11.2006, 18:02.

  • #2
    if (onlineCheck($siteurl, $text1) || onlineCheck($siteurl, $text2))

    oder was meinst du?
    definiere "ok sind".

    Kommentar


    • #3
      Ja, mit OK meinte ich das eben das true kommt
      Das scheint auch so zu gehen, aber der untere Teil macht nun Probleme
      eregi(): REG_EMPTY
      PHP-Code:
       function onlineCheck($siteurl$text1) {
          
      $arrText file($siteurl);
          for (
      $i=0$i<count($arrText); $i++) {
              
      $text $text $arrText[$i];
          }
          if (
      eregi($text1$text)||eregi($text2$text)) {
           return 
      true;
          } else {
             return 
      false;
          }

      Kommentar


      • #4
        1. weißt du, was eregi() macht?
        2. REG_EMPTY heißt, dass entweder $text1 oder $text2 leer sind
        3. warum sagst du nicht einfach anstelle der if-else Anweisung

        PHP-Code:
        return (eregi(...) || eregi(...)) 
        4. Warum machst du bei dem Array nicht einfach ein implode() ?

        Deine Funktion würde vereinfacht dann so aussehen:

        PHP-Code:
        function onlineCheck($siteurl$text1) {
            
        $arrText implode('',file($siteurl));
            return (
        eregi($text1$text)||eregi($text2$text));

        Zuletzt geändert von telmich; 24.11.2006, 19:12.
        Wer einen Weisen dumm fragt, wird eine kluge Antwort bekommen. Es ist nur die Frage, ob er sie auch versteht.

        Kommentar


        • #5
          $text1 und $text2 haben beide Inhalt
          mir kommt die Zeile:
          PHP-Code:
          function onlineCheck($siteurl$text1) { 
          auch irgendwie unvollständig vor, da $text1 ja darin enthalten sind, aber $text2 nicht.

          telmich bei deiner funktion kommt ebenfalls wieder
          Warning: eregi(): REG_EMPTY bei Zeile:
          PHP-Code:
          return (eregi($text1$text)||eregi($text2$text)); 

          Kommentar


          • #6
            Hi,
            2. REG_EMPTY heißt, dass entweder $text1 oder $text2 leer sind
            Mein Tipp: $text2, die Variable ist in der Funktion gar nicht definiert.

            LG

            Kommentar


            • #7
              Original geschrieben von ollimagic
              mir kommt die Zeile:
              PHP-Code:
              function onlineCheck($siteurl$text1) { 
              auch irgendwie unvollständig vor, da $text1 ja darin enthalten sind, aber $text2 nicht.
              Da hast du den Fehler doch gefunden. Überleg doch mal, welchen Inhalt $text2 innerhalb der Funktion hat, wenn du $text2 nicht übergibst, $text2 ist leer! Deshalb kommt natürlich auch REG_EMPTY!
              Wer einen Weisen dumm fragt, wird eine kluge Antwort bekommen. Es ist nur die Frage, ob er sie auch versteht.

              Kommentar


              • #8
                Das klingt logisch, aber wie kriege ich die da mit hinein?

                Kommentar


                • #9
                  text2 ist nicht leer, sondern nicht definiert. und wenn hier mal nen error-reporting genutzt werden würde, hätten wir uns den thread bis hier hin sparen können.

                  @olli: willst du mir jetzt ernsthaft sagen, du weißt wie du text1 übergeben kannst, aber mit text 2 kannst du das nicht???

                  Kommentar


                  • #10
                    Ja, ich hätte den nun
                    PHP-Code:
                    function onlineCheck($siteurl$text1$text2 ) { 
                    gemacht, aber das geht nicht.

                    Kommentar


                    • #11
                      Re: functon mit or verknüpfen

                      PHP-Code:
                      <?php
                      $file 
                      file_get_contents($_POST[backlink]);
                      echo (
                      strpos($file$_POST[Linktext1]) && strpos($file$_POST[Linktext2]))
                          ? 
                      'link ok'
                          
                      'link nicht ok';
                      ?>

                      Kommentar


                      • #12
                        Klappt doch mit || statt &&


                        Vielen Dank
                        Zuletzt geändert von ollimagic; 24.11.2006, 21:54.

                        Kommentar

                        Lädt...
                        X