Kompletter PHP-Code (mit sql etc.) in variable unterbringen.

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

  • Kompletter PHP-Code (mit sql etc.) in variable unterbringen.

    Hallo, bin zwar neu hier, hoffe aber das mir jemand helfen kann da ich gerade irgendwie an meinem PHP- Kenntnissen zweifele...

    Folgendes:

    Ich würde gerne eine MySQL- Eintragung in eine variable „packen“, damit ich das ganze dann per Url und einer if- Abfrage „Abrufen“ kann. Meine if:

    PHP-Code:
    $_urlid $_GET['urlid'];

    if(
    $_urlid == show_news){
    eval ( 
    $_show_news );
    }else if(
    $_urlid == del_news){
    eval ( 
    $_del_news );
    }else if(
    $_urlid == add_news){
    eval ( 
    $_add_news );
    }else{
    echo 
    "Datei ohne Aktion aufgerufen.";

    Die Variablen ($_show_news / $_del_news / $_add_news) sollen so festgelegt werden:
    PHP-Code:
    $_show_news '
    $query_insert = "INSERT INTO $newstab
    (titel,content,user,date)
    VALUES
    ('
    $news_titel',
    $news_text'
    ,
    $news_user',
    $datum'
    )";' 
    Natürlich geht das ganze nicht, weil die ' –Zeichen die Syntax der Variable „kiln“.

    Aufrufen wollte ich die Variablen (sieht man auch oben) per „eval“.


    Somit meine konkrete Frage:
    Wie kann ich z.b. meine MySQL- Abfrage in eine Variable verpacken? Oder gibt es evtl. eine bessere Methode als eval?


    Vielen dank schon mal!

  • #2
    hääääääääääää ?

    kannst du bitte noch einmal langsam formulieren, was du willst. danke.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Also. Ich mach grad ein News- System mit comments, admin panel, etc.

      nun hab ich das zurzeit so aufgebaut:

      show.news.php -> zeigt die News an (liste aller News in der Datenbank. Abruf aus der mysql- Datenbank)
      add.comment.php -> zeigt einen spezifischen News- Beitrag an und gibt die Möglichkeit, ein comment hinzuzufügen.
      add.comment.svr.php -> sollte ein Kommentar hinzugefügt werden. wird dieses von dieser Datei in die Datenbank eingetragen.

      admin panel:
      add.news.php -> Formular um die News hinzuzufügen
      add.news.svr.php -> verarbeitet die hinzugefügten News und schreibt sie in die mysql- Datenbank
      edit.news.php -> Formular um die News zu bearbeiten
      edit.news.svr.php -> verarbeitet die editierten News und updatet die Datenbank
      del.news.php -> liste mit einer Auflistung der News und einem löschen-button.
      del.news.svr.php -> verarbeitet die löschanfrage (mit letzter Bestätigung) und löscht die Daten aus der Datenbank


      Nun möchte ich gerne die ganzen *.svr.php - Datein in eine .php "packen" und das ganze per URL abrufen -->
      global.svr.php?urlid=news_edit (oder global.svr.php?urlid=del_news).
      Also möchte ich ?urlid per If- Abfragen (siehe php-code1 meines ersten Beitrags).
      Den Code der einzelnen Dateien (add.news.svr.php / edit.news.svr.php / del.news.svr.php) wollte ich in eine Variable packen und mit der oben angesprochenen If- Abfrage dann ausgeben.

      Kommentar


      • #4
        Original geschrieben von ShouTakumi
        Nun möchte ich gerne die ganzen *.svr.php - Datein in eine .php "packen" und das ganze per URL abrufen -->
        und ich habe schon gedacht, wie irre bist du eigentlich, dass du für jeden furtz ein eigenes script baust ...


        das ganze ist relativ einfach ... und nix mit variable und eval().

        einfach den code in eine datei verpachen und mit einem switch() arbeiten. hier kannst du dann von aussen via parameter an das script reichen und mit switch() entscheiden, was davon ausgeführt wird.

        'default:' - mäßig empfehle ich dann immer das anzeigen.

        PHP-Code:
        <?php

        if ( !isset($_GET['do']) )
            
        $_GET['do'] = '';

        switch( 
        $_GET['do'] )
        {
            case 
        'edit':
                
        // hier der code zum anzeigen des edit-feldes
                
        break;

            case 
        'save':
                
        // hier der code um abspeichern. auch wenn editiert wurde.
                // beim edit reichst du ja i.d.r. auch die id mit rein, welche
                // news editiert wurde. ist eine id übergeben, musst du 
                // UPDATE machen, ansonsten halt INSERT.
                
        break;

            case 
        'list':
            default:
                
        // hier der code zum anzeigen einer news
        }
        ?>
        der aufruf muss im code dann wie folgt sein ....

        datei.php?do=save
        datei.php?do=edit
        usw.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Danke. Echt vielen lieben dank für die super schnelle Hilfe!
          Original geschrieben von Abraxax
          und ich habe schon gedacht, wie irre bist du eigentlich, dass du für jeden furtz ein eigenes script baust ...
          Früher hab cih das auch so gemacht. Aber das wird mir langsam zu unübersichtlich.
          Zuletzt geändert von ShouTakumi; 16.10.2005, 00:37.

          Kommentar


          • #6
            Original geschrieben von ShouTakumi
            Danke. Muss ich da noch irgendetwas beachten? Bezüglich " ~ '?
            nur die üblichen fkt's ....

            mysql_error()
            mysql_escape_string()
            htmlentities() / htmlspecialchars()
            get_magic_quotes_gpc()
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              Hab grad Editiert für die Hilfe

              Kommentar


              • #8
                Kann es sein, dass der Code überhaupt nicht funktioniert:

                PHP-Code:
                $selectdbcomment mysql_select_db($dbname);
                if(
                $selectdbcomment false){
                    echo 
                "$selectdb_invalid";
                    echo 
                mysql_errno() . ": " mysql_error() .
                    
                "<br>\n";

                Also bezogen auf: if($selectdbcomment = false){

                Kommentar


                • #9
                  if($selectdbcomment == false){

                  Kommentar

                  Lädt...
                  X