Passwortgeschützert Bereich funktioniert nicht

Gesperrt
rgofi
Beiträge: 30
Registriert: Mi 28. Mär 2007, 17:07
Kontaktdaten:

Passwortgeschützert Bereich funktioniert nicht

Beitrag von rgofi »

hallo leute ich habe das problem das ich nach einer contenido neuinstallation und wieder eingespieltem datenbankbackup nicht mehr in den geschützten bereich komme. Alle anderen Artikel und Funktionen laufen einwandfrei nur das funktioniert nicht.

Das Problem tritt bei allen Gescützten bereichen auf:

Code: Alles auswählen

[30-Mar-2007 15:50:34] /cms/front_content.php?client=1&idcat=0&idart=0&lang=1&error=1 MySQL error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE idcat=1' at line 1
SELECT level FROM  WHERE idcat=1
[30-Mar-2007 15:50:34] /cms/front_content.php?client=1&idcat=0&idart=0&lang=1&error=1 next_record called with no query pending in Module ID 33.
Weiss jemand was da los is? ich kann mir das nicht erklären, da alle anderen Bereiche funktionieren...
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

..nicht mehr in den geschützten bereich komme.
ähm, wie äussert sich das genau ?
was sollte passieren ? was passiert genau ?

ich würd mal das modul mit idmod 33 ansehen
lt. fehlermeldung
SELECT level FROM XXXXX WHERE

-> da fehlt was...
*** make your own tools (wishlist :: thx)
rgofi
Beiträge: 30
Registriert: Mi 28. Mär 2007, 17:07
Kontaktdaten:

Beitrag von rgofi »

hallo
ich bin nicht der entwickler der anwendung
wie finde ich das modul mit idmod 33
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

ähm... sieh dir die url beim onmouseover an..
da steht die idmod...
*** make your own tools (wishlist :: thx)
rgofi
Beiträge: 30
Registriert: Mi 28. Mär 2007, 17:07
Kontaktdaten:

Beitrag von rgofi »

ich habe mir die mouse overs angesehen, kann aber keine Pfade zu den Modulen finden.
Wie kann ich die Module finden ? z. B. ID Mod 33
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

dann versuchs über die db tabelle -> con_mod
dort findest du den namen des moduls das die idmod 33 hat...
*** make your own tools (wishlist :: thx)
rgofi
Beiträge: 30
Registriert: Mi 28. Mär 2007, 17:07
Kontaktdaten:

Beitrag von rgofi »

ich hab das gesuchte modul jetzt gefunden und festgestellt das der fehler darin besteht das in der folgenden abfrage die variable $cfgTab_cat_tree leer ist...

wie kann das sein? früher hat der code es doch ohne probleme getan...
und ich habe doch nichts an diesem modul verändert...

hier ist die komplette abfrage:

Code: Alles auswählen

  $sql = "SELECT level FROM $cfgTab_cat_tree WHERE idcat=$newcat";
  $db->query($sql);
  $db->next_record();

MichFress
Beiträge: 750
Registriert: Mo 5. Jan 2004, 22:32
Wohnort: Bochum
Kontaktdaten:

Beitrag von MichFress »

wenn ich mal Emergence aus einem anderen Thread zitieren darf:
variablen nach dem muster entsprechen der alten (4.2) schreibweise
$cfgTab_cat_tree
neue (ab 4.4.x )wäre
$cfg["tab"]["cat_tree"]
Ändere die Zeile einfach mal ab und schau, was draus wird...

Welche Contenido-Version hast du denn neuinstalliert und aus welcher Version stammte denn dein Datenbankbackup?
"Es wird keine Handlung geben, keine Geschichte mit ihrer Versprechung auf einen Anfang und ihrer Hoffnung auf ein Ende." (Andrzej Stasiuk)
rgofi
Beiträge: 30
Registriert: Mi 28. Mär 2007, 17:07
Kontaktdaten:

Beitrag von rgofi »

Ich habe mal nur zum testen die Variable mit deiner schreibweise ersetzt und er gibt den selben fehler aus...

Die Variable $cfg["tab"]["cat_tree"] ist ebenfalls leer!
Ausserdem habe ich mal gesucht und die Variablenzuweisung gefunden die eigentlich das selbe macht wie deine funktion:

Code: Alles auswählen

$cfgTab_cat_tree = $cfg['tab']['cat_tree'];
Aber da die Variable trotzdem leer bleibt liegt es wohl nicht daran...ich poste hier mal das komplette modul für euch zur ansicht:

Input:

Code: Alles auswählen

$cfgTab_cat_tree = $cfg['tab']['cat_tree'];
$cfgTab_cat = $cfg['tab']['cat'];
$cfgTab_cat_lang = $cfg['tab']['cat_lang'];

// selected category
$selected = "CMS_VALUE[0]";

echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">
        <tr valign=\"top\">
          <td>Kategorie wählen:</td>
          <td>
            <select name=\"CMS_VAR[0]\">
                <option value='0'>---Alle---</option>";

            // fetch all categorys
            $query = "SELECT A.idcat, A.level, C.name FROM $cfgTab_cat_tree AS A, ".
                     "$cfgTab_cat AS B, $cfgTab_cat_lang AS C WHERE A.idcat=B.idcat ".
                     "AND B.idcat=C.idcat AND C.idlang='$lang' AND B.idclient='$client' ".
                     "AND C.visible=1 ORDER BY A.idtree";

            // execute query
            $db->query($query);

            // loop result and build the options
            while ($db->next_record()) {

              // indent spacer
              $spaces = "";

              // how many levels
              $levels = $db->f("level");

              for ($i = 0; $i > $levels; $i ++) {
                // add 2 spaces for every level
                $spaces = $spaces . "  ";

              } // end for

              if ($selected == $db->f("idcat")) {
                // selected category
                echo "<option selected=\"selected\" value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";

              } else {
                // category
                echo "<option value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";

              } // end if

            } // end while

echo "      </select>
          </td>
        </tr>
        <tr>
          <td>Anzahl Ebene:</td>
          <td><input type=\"text\" name=\"CMS_VAR[1]\" value=\"CMS_VALUE[1]\"></td>
        </tr>
      </table>";
Output:

Code: Alles auswählen

<link rel="stylesheet" type="text/css" href="format.css" >
<table border="0" cellspacing="0" cellpadding="0"><tr bgcolor="#ffffff"></tr><tr bgcolor="#ffffff">
<td style="width: 158px; height: 100%;" valign="top"><span class="textcontent">


<?php
  /***********************************************
  * CONTENIDO MODUL - OUTPUT
  *
  *  Modulname   :     Sitemap v1.2
  * Author(s)      :    Nik Wyss
  * Copyright   :     None
  * Created     :     14-01-2003
  * Modified    :     14-01-2003
  * Modified    :     20-01-2004 by Peter Beauvain
  *                   - Adapt to Contenido V4.4
  *                   - Output only shows visible items
  ************************************************/

  $amountLevel = "CMS_VALUE[1]";
  $newcat = "CMS_VALUE[0]";
  $color = array("lev1", "lev1","lev2","lev3","lev4","lev5","lev6","lev7","lev8","lev9","lev10");

  function sitemap($newcat=0)
  {
    global $lang, $client, $amountLevel, $color, $startLevel, $cfg;
    $db  = new DB_Contenido;
    $sql  = "SELECT * FROM ".$cfg["tab"]["cat_tree"]." AS A, ".
              $cfg["tab"]["cat"]." AS B, ".
              $cfg["tab"]["cat_lang"]." AS C ".
              "WHERE A.idcat=B.idcat AND B.idcat=C.idcat AND ".
              "C.idlang='$lang' AND B.idclient='$client' AND ".
              "B.parentid =$newcat AND level <= $amountLevel AND C.visible=1 ".
              "ORDER by A.idtree";
    $db->query($sql);
    $result = "<table bgcolor=\"#FFFFFF\" border=\"0\" cellspacing=\"1\" cellpadding=\"0\" id=\"menu\" class=\"menurahmen\" >";
    while ($db->next_record())
    {
      $lvl = $db->f("level");
      if ($lvl==1)
      {
        $result.="";
      }
      $colorID=$lvl-$startLevel;
      if ($colorID > count($color)-1)
      {
        $colorID=count($color)-1;
      }


      $result   .=  "<tr><td width='170px' ".
                    "valign=top><a href='front_content.php?idcat=".$db->f("idcat").
                    "&lang=$lang&client=$client' class='lmLink'>".
                    $db->f("name")."</a>".sitemap($db->f("idcat")).
                    "</td></tr>";
    }
    $result.= "</table>";
    return($result);
  }

  $sql = "SELECT level FROM $cfg["tab"]["cat_tree"] WHERE idcat=$newcat";
  $db->query($sql);
  $db->next_record();
  $startLevel = $db->f("level");
  $amountLevel +=  $startLevel;
  if ($newcat==0){$amountLevel--;}
  echo sitemap($newcat);
?>
</span></td></tr></table>
MichFress
Beiträge: 750
Registriert: Mo 5. Jan 2004, 22:32
Wohnort: Bochum
Kontaktdaten:

Beitrag von MichFress »

mach aus

Code: Alles auswählen

$sql = "SELECT level FROM $cfg["tab"]["cat_tree"] WHERE idcat=$newcat";
dieses hier:

Code: Alles auswählen

$sql = "SELECT level FROM ".$cfg["tab"]["cat_tree"]." WHERE idcat=$newcat"; 
"Es wird keine Handlung geben, keine Geschichte mit ihrer Versprechung auf einen Anfang und ihrer Hoffnung auf ein Ende." (Andrzej Stasiuk)
rgofi
Beiträge: 30
Registriert: Mi 28. Mär 2007, 17:07
Kontaktdaten:

Beitrag von rgofi »

Also ich kann mich einloggen nur er zeigt mir jetzt trotzdem nicht die seiten des geschützten bereiches an...
Er loggt sich ein, zeigt mir an "sie sind eingeloggt als xxxxx" und anstatt der ersten seite des geschützten bereiches zeigt er mir wieder den artikel der startseite und wenn ich von da dann wieder in den geschützten bereich gehen will zeigt er mir die seite das ich mich einloggen soll, nur das ich schon eingeloggt bin von gerade...er zeigt auch nit die navi vom geschützten bereich an, sondern nur das "sie sind eingeloggt..." , zurück und startseite.

Und wenn ich dann im backend in die letzten fehler gucke steht wieder das selbe wie sonst drin:

Code: Alles auswählen

[10-Apr-2007 15:51:14] /cms/front_content.php?idcat=180&lang=1&client=1 MySQL error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE idcat=180' at line 1
SELECT level FROM  WHERE idcat=180
[10-Apr-2007 15:51:14] /cms/front_content.php?idcat=180&lang=1&client=1 next_record called with no query pending in Module ID 33.
Gesperrt