PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : News



Dyman
02.12.2009, 22:19
Hi leute ich habe mir vor einer Woche das VMS_MembernewsAddon installiert.
Nun bekomme ich aufeinmal im ausgeloggten zustand die Meldung:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/htdocs/ks0163/html/index.php on line 11

habt ihr da ne idee?
meine index


<?
$start_time = microtime(true);
$sql_time = 0;
if (isset ($_GET['content']) && !empty ($_GET['content'])) {
if (strpos ($_GET['content'], '../') !== FALSE) die ('Zugriffsverletzung !');
if ($_GET['content']{0} != '/') $_GET['content'] = '/'.$_GET['content'];
}

require ( './lib/header.php' );
$qry = 'SELECT membernews_last_seen FROM '.$db_prefix.'_kontodaten WHERE uid = '.$_SESSION['uid'];
$membernews_last_seen = mysql_fetch_array(db_query($qry));
$qry = 'SELECT ID FROM '.$db_prefix.'_membernews WHERE Postdate >= '.$membernews_last_seen[0];
$membernews = db_query($qry);
$count = (int) @mysql_num_rows($membernews);
if ($count > 0)
{
if ($_SERVER['REQUEST_URI'] != '/index.php?content=/module&mod=membernews')
{
head ('Information');
if ($count == 1)
{
echo '<center><a href="?content=/module&mod=membernews">Neue Member-News
verf&uuml;gbar</a></center>';
}
else
{
echo '<center><a href="?content=/module&mod=membernews">Es sind insgesamt
'.$count.' neue Membernews verf&uuml;gbar</a></center>';
}
foot();
}
}
require ( './content'.$_GET['content'].'.php' );
require ( './lib/footer.php' );
?>

Hardy
02.12.2009, 22:24
vermutung liegt nahe das die tabelle vms_kontodaten keine spalte namens membernews_last_seen enthält-
Am besten nochmal die Anleitung nach und nach abgehen und vorallem schauen ob es bei einspielen des SQL Codes nciht zu einen fehler gekommen ist.

Lokutos
02.12.2009, 22:31
<?
$start_time = microtime(true);
$sql_time = 0;
if (isset ($_GET['content']) && !empty ($_GET['content'])) {
if (strpos ($_GET['content'], '../') !== FALSE) die ('Zugriffsverletzung !');
if ($_GET['content']{0} != '/') $_GET['content'] = '/'.$_GET['content'];
}

require ( './lib/header.php' );
if ($_SESSION['uid'] > '0'){
$qry = 'SELECT membernews_last_seen FROM '.$db_prefix.'_kontodaten WHERE uid = '.$_SESSION['uid'];
$membernews_last_seen = mysql_fetch_array(db_query($qry));
$qry = 'SELECT ID FROM '.$db_prefix.'_membernews WHERE Postdate >= '.$membernews_last_seen[0];
$membernews = db_query($qry);
$count = (int) @mysql_num_rows($membernews);
if ($count > 0){
if ($_SERVER['REQUEST_URI'] != '/index.php?content=/module&mod=membernews'){
head ('Information');
if ($count == 1){
echo '<center><a href="?content=/module&mod=membernews">Neue Member-News
verf&uuml;gbar</a></center>';
}else{
echo '<center><a href="?content=/module&mod=membernews">Es sind insgesamt
'.$count.' neue Membernews verf&uuml;gbar</a></center>';
}
foot();
}
}
}
require ( './content'.$_GET['content'].'.php' );
require ( './lib/footer.php' );
?>
was ist den sonnst die $_SESSION[uid] bei nem ausgeloggten user?

Xenon
02.12.2009, 22:34
Ausgeloggt = Id 0
DB hat keinen wert als id 0 bei user
Leg einfach einen user 0 an und dann ist das Problem weg

Sebmaster
02.12.2009, 22:55
Ausgeloggt Id = ''

Wird aber durch > 0 sowieso abgefangen

Xenon
02.12.2009, 22:56
Ausgeloggt Id = ''

Wird aber durch > 0 sowieso abgefangen
Bei mir konnte man das Problem mit 0 Lösen

Sebmaster
02.12.2009, 23:19
$_SESSION['uid'] = '';
if ($_SESSION['uid'] > '0')
echo 'true';Gibt nicht true aus, folglich dürfte er bei dem Code überhaupt nicht in die Bedingung reingehen.

EDIT: Ach verdammt, ich hab dauernd bei Joschis Code geschaut. Joschis Code funktioniert ;)

Lokutos
02.12.2009, 23:29
$_SESSION['uid'] = '';
if ($_SESSION['uid'] > '0')
echo 'true';Gibt nicht true aus, folglich dürfte er bei dem Code überhaupt nicht in die Bedingung reingehen.

EDIT: Ach verdammt, ich hab dauernd bei Joschis Code geschaut. Joschis Code funktioniert ;)
:biggrin1::biggrin1::biggrin1:
sebmaster du bist könig gg

ja das problehm liegt daran wie xenon sagt das es uid0 nicht gibt
aber man solte das problehm nicht am ende sondern an der quelle beenden und da hilft meine abfrage.

weil schickt wer dan dem user 0 ne pn was ja dan gehen würde
würden alle ausgelogten user sehen sie hätten eine pn.

MFG Lokutos

Dyman
03.12.2009, 06:51
Thx es geht sowie Lokutos es vorgeschlagen hat.
Also ich glaube nicht das der Fehler später erst aufgetreten ist, ich habe ihn einfach nur nicht bermerkt:frusty:

Lokutos
03.12.2009, 11:23
Thx es geht sowie Lokutos es vorgeschlagen hat.
Also ich glaube nicht das der Fehler später erst aufgetreten ist, ich habe ihn einfach nur nicht bermerkt:frusty:

So wird es auch sein.

mir fällt si zeugs bei mir auch erst auf wenn ich zufälligerweise von wo anders online gehe weil wer ist als admin schon ausgeloggt :der:


MFG Lokutos