IF-Abfrage fehlerhaft

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

  • IF-Abfrage fehlerhaft

    Hallo!

    Ich habe eine einfache IF-Abfrage erstellt um einen erweiterten Text anzuzeigen. Jedoch zeigt der Browser nur den Text bis zum Trenner (in meinem Fall {pagebreak}).

    PHP-Code:
    <?php
    require ( "config.php" );

    // MySQL Verbindung
    $link mysql_connect "$db_host""$db_user""$db_pass);
    mysql_select_db $db_name$link );

    if ( ! isset ( 
    $id ) )
    {
     
    $ergebnis mysql_query "SELECT * FROM neuigkeiten" );

     while ( 
    $data mysql_fetch_array $ergebnis ) )
     {
      echo ( 
    "<b>$data[headline]</b><br><br>\n" );

      if ( 
    strpos $data[text], "{pagebreak}" ) ) {
       
    $pos strpos $data[text], "{pagebreak}" ); 

       
    //$data[text] = str_replace ( "{pagebreak}", "", $data[text] );
     
       
    $text substr $data[text], 0$pos );
       echo ( 
    "$text <br><b><a href=\"$PHP_SELF?id=1\">Read more...</a></b>" );

      } else {
       echo ( 
    $data[text] );
      }
     }
    } else {
     echo ( 
    "ab" );
    }
    ?>

    Ich hoffe ich habe das richtige Forum getroffen, und bedanke mich schon einmal im vorraus für eure Antworten!
    mfg
    Matthias

  • #2
    schau mal ins manual zu strpos()

    Kommentar


    • #3
      Re: IF-Abfrage fehlerhaft

      Original geschrieben von Matthias H.
      Jedoch zeigt der Browser nur den Text bis zum Trenner (in meinem Fall {pagebreak}).
      Natürlich - genau den Teil hast du mit substr() ja auch ausgeschnitten - von Position 0 bis zu der, wo der Treffer gefunden wurde.

      Wenn du nur den Text {pagebreak} entfernen willst, um den ganzen restlichen Text anzuzeigen - dann scheint mir der (auskommentierte) Ansatz mit str_replace da irgendwie der einfachere zu sein ...
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Nein ich will den Text {pagebreak} durch einen Link ersetzen der dann den Text nach {pagebreak} anzeigt.
        Das Problem ist nur wenn ich auf den Link klicke und mir die Seite (z.B. index.php?id=2) ansehe, wird mir das gleiche ausgegeben wie im ersten Teil der IF-Abfrage.

        PHP-Code:
        if ( ! isset ( $id ) )
        {
         
        // wird immer angezeigt
        } elseif ( isset ( $id ) )
        {
         
        // wird nie angezeigt

        mfg
        Matthias

        Kommentar


        • #5
          es heisst zuerstmal $_GET['id'] . Warum $PHP_SELF geht ist auch noch ein rätsel.

          Kommentar


          • #6
            Original geschrieben von muh (newbie)
            es heisst zuerstmal $_GET['id'] . Warum $PHP_SELF geht ist auch noch ein rätsel.
            Hmm, tatsächlich jetzt funktioniert es! Danke dir!
            Aber früher hat es auch ohne $_GET['id'] funktioniert...
            mfg
            Matthias

            Kommentar


            • #7
              früher war register_globals=on, jetzt ist es =off. War eine Einbruchstelle.

              Kommentar

              Lädt...
              X