Ankündigung

Einklappen
Keine Ankündigung bisher.

Variable/String wird nach ausführung gelöscht

Einklappen

Neue Werbung 2019

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

  • Variable/String wird nach ausführung gelöscht

    Moin ...
    Habe folgendes Problem an meinem CMS:
    Ich habe eine Variable die $template_query heißt...
    Diese führe ich mit $template = runparser($template_query); aus...
    NACH dieser Zuweisung wird die Variable/der String einfach gelöcht

    Setze ich das ganze was ich nach dem $template = runparser($template_query); habe (das die Variable $template_query benötigt) vor das $template = runparser($template_query); wird zwar das andere Ausgeführt, aber $template = runparser($template_query); funktioniert dann nicht

    Aber warum ist das so und wie kann ich das verhindern???

    Liebe Grüße,
    PCFreund

    /Edit:
    Code:
    if($_GET['site'] != "")
    {
        $site = $_GET['site'];
    }
    elseif($_GET['side'] == "overall_header" OR $_GET['side'] == "overall_footer")
    {
         $side = "error";
    }
    else
    {
        $site = "home";
    }
    if(mysql_num_rows(mysql_query("SELECT * FROM `xms_template` WHERE `name` = '".$site."'")))
    {
        $template_query = mysql_query("SELECT * FROM `xms_template` WHERE `name` = '".$site."'");
    }
    else
    {
        $template_query = mysql_query("SELECT * FROM `xms_template` WHERE `name` = 'error'");
    }
    Das ist das mysql_query das $template_query erstellt ...

    danach kommt direkt
    Code:
    $template = runparser($template_query);
    und ca. 10 Zeilen darunter kommt
    Code:
    $template_fetch = mysql_fetch_object($template_query);
    $template_title = $template_fetch->title;
    if($template_title != "")
    {
        $overall_header = parse_php($overall_header, "SIDE_SUBTITLE", " • ".$template_title);
    }
    else
    {
        $overall_header = parse_php($overall_header, "SIDE_SUBTITLE", $template_fetch);
    }
    webmasterlounge
    Die deutsche Webmaster-Community

  • #2
    1.
    PHP-Code:
         $side "error";
    }
    else
    {
        
    $site "home";

    is wohl nicht richtig, oder?

    2. was macht den
    PHP-Code:
    runparser($template_query); 

    Kommentar


    • #3
      Code:
      function runparser($template_query) {
          $template_fetch = mysql_fetch_object($template_query);
          $template_html = $template_fetch->html;
          $parser = mysql_query("SELECT * FROM `xms_parser` WHERE `type` = 'replace'");
          $template = parse($template_html, $parser);
      return $template;
      }
      Code:
      function parse($template, $query) {
          while($parserentry = mysql_fetch_object($query))
          {
              $template = str_replace("{".$parserentry->search."}", $parserentry->replace, $template);
          }
          $template = str_replace("<"."?"."p"."h"."p", "&lt;"."?"."p"."h"."p", $template);
          $template = str_replace("?".">", "?"."&gt;", $template);
          $template = str_replace("<php>", "<"."?"."p"."h"."p ", $template);
          $template = str_replace("</php>", " ?".">", $template);
          return $template;
      }
      Und achja: was soll an der Abfrage falsch sein ??? =O

      /edit: hab grad bemerkt: wenn man die mysql_query vor die 2te mysql_fetch_object schreibt, funktioniert es dann ...
      Ist es gutmöglich dass man mysql_query's nur einmal verwenden kann ???
      Es ist ja kein Problem wenn ich sie 2 mal verwende .. Aber trotzdem möchte ich wissen, warum das nicht geht
      webmasterlounge
      Die deutsche Webmaster-Community

      Kommentar


      • #4
        Und achja: was soll an der Abfrage falsch sein ??? =O
        Das solltest du wirklich selber erkennen, wenn dir der Codeschnipsel schon vor die Nase gehalten wird.
        Ist es gutmöglich dass man mysql_query's nur einmal verwenden kann ???
        Nein, lediglich der interne Datensatz-Zeiger steht nach einem Schleifendurchlauf nicht mehr auf 0. PHP: mysql_data_seek - Manual
        hab grad bemerkt: wenn man die mysql_query vor die 2te mysql_fetch_object schreibt, funktioniert es dann ...,
        Welches zweite mysql_fetch_object ist gemeint?
        [URL]http://hallophp.de[/URL]

        Kommentar


        • #5
          Zitat von Asipak Beitrag anzeigen
          Welches zweite mysql_fetch_object ist gemeint?
          Das direkt am Anfang (Und achja: Es wird nur ein Eintrag ausgelesen, weswegen ich kein while verwende ^^):
          Code:
          $template_fetch = mysql_fetch_object($template_query);
          $template_title = $template_fetch->title;
          if($template_title != "")
          {
              $overall_header = parse_php($overall_header, "SIDE_SUBTITLE", " &bull; ".$template_title);
          }
          else
          {
              $overall_header = parse_php($overall_header, "SIDE_SUBTITLE", $template_fetch);
          }
          /Edit:
          Code:
          mysql_data_seek($template_query, 0);
          hat geholfen Vielen Dank an Asipak!

          Liebe Grüße,
          PCFreund
          webmasterlounge
          Die deutsche Webmaster-Community

          Kommentar


          • #6
            Zitat von DJ_RhoxxZ Beitrag anzeigen
            PHP-Code:
            if($_GET['site'] != "")
            {
                
            $site $_GET['site'];
            }
            elseif(
            $_GET['side'] == "overall_header" OR $_GET['side'] == "overall_footer")
            {
                 
            $side "error";
            }
            else
            {
                
            $site "home";

            Mach dir mal gedanken über das IF Konstrukt
            Das funktioniert so nämlich nicht.

            Kommentar


            • #7
              side,site Jetzt klar was ich gemeint habe? Nö,gell?

              Kommentar


              • #8
                nicht nur das, der elseif teil wird niemals zur Ausführung kommen.

                Kommentar


                • #9
                  Ausserdem fehlt da mysql_real_escape_string für die query-parameter, sonst kann man da direkt über die URL sql-injections basteln.
                  [URL="http://www.robo47.net"]robo47.net[/URL] - Blog, Codeschnipsel und mehr
                  | :arrow: [URL="http://www.robo47.net/blog/192-Caching-Libraries-and-Opcode-Caches-in-php-An-Overview"]Caching-Klassen und Opcode Caches in php[/URL] | :arrow: [URL="http://www.robo47.net/components"]Robo47 Components - PHP Library extending Zend Framework[/URL]

                  Kommentar


                  • #10
                    Zitat von ragtek Beitrag anzeigen
                    side,site Jetzt klar was ich gemeint habe? Nö,gell?
                    ja ich sehs grad

                    Zitat von Papst Beitrag anzeigen
                    Mach dir mal gedanken über das IF Konstrukt
                    Das funktioniert so nämlich nicht.
                    hab ich kurze zeit später gemerkt ^^
                    Zitat von robo47 Beitrag anzeigen
                    Ausserdem fehlt da mysql_real_escape_string für die query-parameter, sonst kann man da direkt über die URL sql-injections basteln.
                    sonderzeichen werden sowieso ersetzt, habe mir aber gedacht dass das jemand schreibt
                    webmasterlounge
                    Die deutsche Webmaster-Community

                    Kommentar


                    • #11
                      Zitat von DJ_RhoxxZ Beitrag anzeigen
                      sonderzeichen werden sowieso ersetzt, habe mir aber gedacht dass das jemand schreibt
                      1) hat das nicht nur direkt was nur mit sonderzeichen zu tun
                      2) sieht man das in deinem code nirgends

                      du bist doch schon lange genug hier um wenn du hier schon code postest auch wirklich den code der auch ausgeführt wird zu posten ? oder schreibst du immer extra ne version ohne alles wenn du hier postest ?
                      [URL="http://www.robo47.net"]robo47.net[/URL] - Blog, Codeschnipsel und mehr
                      | :arrow: [URL="http://www.robo47.net/blog/192-Caching-Libraries-and-Opcode-Caches-in-php-An-Overview"]Caching-Klassen und Opcode Caches in php[/URL] | :arrow: [URL="http://www.robo47.net/components"]Robo47 Components - PHP Library extending Zend Framework[/URL]

                      Kommentar


                      • #12
                        Nein ich mein ich habe meinen hackschutz erst danach eingebaut ...
                        webmasterlounge
                        Die deutsche Webmaster-Community

                        Kommentar

                        Lädt...
                        X