Seite 1 von 1

Frontend Login, obwohl Kategorie nicht gesperrt?

Verfasst: Fr 24. Jun 2005, 13:50
von phpchris
Hallo alle zusammen,

ich habe neuerdings das Problem, dass ich meine Webseite im Forntend nicht mehr betrachten kann. Ich bekomme eine Login-Aufforderung und nobody ist voreingetragen.

Ich kann das mit reproduzieren, wenn ich diese Module eingebunden habe:

Code: Alles auswählen

<?php
//Frontendpfad ermitteln
$query = "SELECT  frontendpath FROM ".$cfg["tab"]["clients"]." WHERE idclient='".$_GET['client']."'";
$db->query($query);
$db->next_record();
$frontendpath = $db->f("frontendpath");

$lang = $_GET['lang'];

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

if($selcat!="0" && $selcat!="")
{
// select all articles in category widthout start article
$query = "SELECT ARTLANG.idart, ARTLANG.idartlang, ARTLANG.lastmodified FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".
$cfg["tab"]["art_lang"]." AS ARTLANG ".
"WHERE CATART.idcat = '$selcat' AND ARTLANG.idart = CATART.idart AND ARTLANG.idlang = '$lang' "." AND ARTLANG.online = '1' ORDER BY ARTLANG.lastmodified DESC";

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

unset($articleID);
unset($linkID);

// get id's of sub articles
while ($db->next_record())
{
  $articleID[] = $db->f("idartlang");
  $linkID[] = $db->f("idart");
} // end while

$ticker = "<script language=\"JavaScript\">

<!-- Begin
// news ticker function
var newslist=new Array();
var cnt=0;			// current news item
var curr = \"\";
var i=-1;			// current letter being typed

###NEWSLIST###

function newsticker()
{
	// next character of current item
	if (i < newslist[cnt][0].length - 1)
	{
		i++;
		temp1 = newslist[cnt][0];	
		temp1 = temp1.split('');	
  		curr = curr+temp1[i];
		temp2 = newslist[cnt][1];	
  		mtxt.innerHTML = \"<small><a href='\"+temp2+\"'><font color='#ff0000'>\"+curr+\"_</small></font></a>\";
  		setTimeout('newsticker()',1)
		return;
	}

	// new item
	i = -1; curr = \"\";
	if (cnt<newslist.length-1)
		cnt++;
	else
		cnt=0;
	setTimeout('newsticker()',3000)

}

		//  End -->

</script>";



// Loop through articles
if (is_array($articleID))
{
  $k = 0;
  foreach ($articleID as $key => $value)
    {
      // select all CMS variables of the article
      $sql = "SELECT * FROM ".$cfg["tab"]["content"]." WHERE idartlang = '$value' AND idtype = '1' AND typeid = '1'";
      $db->query($sql);
      $db->next_record();
      $headline = urldecode($db->f("value"));
      $link = "<a href='".$frontendpath."?client=".$_GET['client']."&lang=".$_GET['lang']."&idart=".$value."'>".$headline."... </a>";
      $ticker_values .= "newslist[$k]=new Array(\"".$link."\")\n";
      $k++;
    }
    $ticker = str_replace ('###NEWSLIST###', $ticker_values, $ticker);
    $ticker .= "<Span Id=\"mtxt\" > </Span>";
    echo $ticker;
}
?>

Weiss jemand, womit dieser Login zusammenhängt?

Verfasst: Fr 24. Jun 2005, 13:51
von timo
Der Login kommt, wenn du eine geschützte oder nicht vorhandene Kategorie aufrufst.

Erstmal kein Bug, verschoben

Verfasst: Fr 24. Jun 2005, 13:52
von phpchris
Die Kategorie ist nicht geschützt...

Verfasst: Fr 24. Jun 2005, 13:52
von timo
wie lautet die URL die aufgerufen werden soll?

Verfasst: Fr 24. Jun 2005, 13:53
von phpchris
http://ens25fl.versatel.de/~admin289/cm ... ontent.php

Ruf die mal auf und refresh danach...

Verfasst: Fr 24. Jun 2005, 13:55
von timo
ähm ja...in dem Modul wird die Variable $lang überschrieben...da über $_GET kein Wert zurückkommt, ist $lang undefiniert -> ergo wird beim nächsten laden der Seite versucht, die erste Kategorie der Sprache "undefiniert" zu laden, was natürlich in die Hose geht...

benenne die Variable um, dann sollte es gehen

Verfasst: Fr 24. Jun 2005, 14:18
von phpchris
Vielen Dank, ich habe da jetzt eine Abfrage vor, ob über GET bei lang etwas kommt und jetzt gehts...

Danke für den Tip und sorry für den Bug-Post...