YourWBB


yourWBB » yourWBB Misc * » Das Proggen » MySQL und PHP » Fehler bei Eintragung.. Tabelleninhalt nach einiger Zeit "-1" » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag 12.592 Views | | Thema zu Favoriten hinzufügen

Neues Thema erstellen Antwort erstellen

Zum Ende der Seite springen Fehler bei Eintragung.. Tabelleninhalt nach einiger Zeit "-1"
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
PaRan0iD PaRan0iD ist männlich
Mitglied


Dabei seit: 20.10.07
Beiträge: 130
Forenversion: 3.0; Lite 1.0

 Fehler bei Eintragung.. Tabelleninhalt nach einiger Zeit "-1" Antworten Zitieren Editieren Melden       UP

Hallo, ich habe folgendes Problem. In der usercp.php habe ich ein Paar Sachen verändert. Einmal, eine Anzeige der User, die einen in der Freundesliste haben (bei $action==buddy) wird die eigene userid bei dem jeweiligen user in eine spalte "inbuddylist" eingetragen.
Außerdem habe ich versucht, bei jedem adden eine PN verschicken zu lassen.

Diese Funktion geht auch über einige Zeit, nur irgendwann stehen bei den usern in den spalten "buddylist" und "inbuddylist" -1en...
Dadurch geht dann die gesamte anzeige nicht..

Hier der Code

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
if($action=="buddy_list") {
 if($_POST['send']=="send") {
  list($userid)=$db->query_first("SELECT userid FROM bb".$n."_users WHERE username='".addslashes(htmlspecialchars(trim($_POST['addtolist'])))."'");
  if(!$userid) eval("error(\"".$tpl->get("error_usernotexist")."\");");
  elseif($userid==$wbbuserdata[userid]) eval("error(\"".$tpl->get("error_cantaddyourself")."\");");
  else {
   $buddylist=add2list($wbbuserdata['buddylist'],$userid);
   $buddydata=$db->query_first("SELECT inbuddylist FROM bb".$n."_users WHERE  userid='$userid'");
   $inbuddylist=add2list($buddydata['inbuddylist'],$wbbuserdata['userid']);

   if($buddylist!=-1) 
$ownid="$wbbuserdata[userid]";
$ownname="$wbbuserdata[username]";
$pntext1=" hat dich in die Freundesliste eingefuegt. Du kannst ihn oder sie noch nicht in der Freundesliste?";
$addlink = ' [url=usercp.php?action=buddy&add=$ownid]In Freundesliste hinzufügen[/url]';
$pntext="$ownname$pntext1$addlink";
  $timestamp = time();
 $db->query("INSERT INTO bb".$n."_privatemessage (senderid,recipientid,subject,message,sendtime,showsmilies) VALUES ('".$wbbuserdata['userid']."','".$userid."','Neue Freundschaft','".$pntext."','$timestamp','1')");
$db->query("UPDATE bb".$n."_users SET buddylist='$buddylist' WHERE userid='$wbbuserdata[userid]'");
$db->query("UPDATE bb".$n."_users SET inbuddylist='$inbuddylist' WHERE userid='$userid'");
   header("Location: usercp.php?action=buddy_list&sid=$session[hash]");
   exit();
  }
 }

 $listbit="";
 if($wbbuserdata['buddylist']!="") {
  $result = $db->query("SELECT u.userid, u.username, IF(s.lastactivity>=".(time()-$useronlinetimeout*60).ifelse($wbbuserdata['canuseacp']==1,""," AND u.invisible=0").",1,0) AS online FROM bb".$n."_users u
  LEFT JOIN bb".$n."_sessions s USING (userid)
  WHERE u.userid IN ('".str_replace(" ","','",$wbbuserdata[buddylist])."') ORDER BY online DESC, u.username ASC");
  while($row=$db->fetch_array($result)) {
   $posts['username']=$row['username'];
   if($row['online']) eval ("\$user_online = \"".$tpl->get("thread_user_online")."\";");
   else eval ("\$user_online = \"".$tpl->get("thread_user_offline")."\";");
   eval ("\$listbit .= \"".$tpl->get("usercp_buddy_listbit")."\";");
  }
 }

 $listbit2="";
 if($wbbuserdata['inbuddylist']!="") {
  $result2 = $db->query("SELECT u.userid, u.username, IF(s.lastactivity>=".(time()-$useronlinetimeout*60).ifelse($wbbuserdata['canuseacp']==1,""," AND u.invisible=0").",1,0) AS online FROM bb".$n."_users u
  LEFT JOIN bb".$n."_sessions s USING (userid)
  WHERE u.userid IN ('".str_replace(" ","','",$wbbuserdata[inbuddylist])."') ORDER BY online DESC, u.username ASC");
  while($row2=$db->fetch_array($result2)) {
   $posts['username']=$row2['username'];
   if($row2['online']) eval ("\$user_online = \"".$tpl->get("thread_user_online")."\";");
   else eval ("\$user_online = \"".$tpl->get("thread_user_offline")."\";");
   eval ("\$listbit2 .= \"".$tpl->get("usercp_buddy_listbit2")."\";");
  }
 }


 eval("\$tpl->output(\"".$tpl->get("usercp_buddy_list")."\");");
}

if($action=="ignore_list") {
 if($_POST['send']=="send") {
  $result=$db->query_first("SELECT userid, ismod+issupermod+canuseacp AS status FROM bb".$n."_users LEFT JOIN bb".$n."_groups USING (groupid) WHERE username='".addslashes(htmlspecialchars(trim($_POST['addtolist'])))."'");
  if(!$result[userid]) eval("error(\"".$tpl->get("error_usernotexist")."\");");
  elseif($result[userid]==$wbbuserdata[userid]) eval("error(\"".$tpl->get("error_cantaddyourself")."\");");
  elseif($result[status]!=0) eval("error(\"".$tpl->get("error_cantaddmods")."\");");
  else {
   $ignorelist=add2list($wbbuserdata['ignorelist'],$result['userid']);
   if($ignorelist!=-1) $db->query("UPDATE bb".$n."_users SET ignorelist='$ignorelist' WHERE userid='$wbbuserdata[userid]'");
   header("Location: usercp.php?action=ignore_list&sid=$session[hash]");
   exit();
  }
 }

 $listbit="";
 if($wbbuserdata['ignorelist']!="") {
  $result = $db->query("SELECT userid, username FROM bb".$n."_users WHERE userid IN ('".str_replace(" ","','",$wbbuserdata['ignorelist'])."') ORDER BY username ASC");
  while($row=$db->fetch_array($result)) eval ("\$listbit .= \"".$tpl->get("usercp_ignore_listbit")."\";");
 }

 $listbit2="";
 $result2 = $db->query("SELECT username, userid, ignorelist FROM bb".$n."_users WHERE username != '".$wbbuserdata['username']."' ORDER BY username ASC");
 while($row2=$db->fetch_array($result2)) {
   	$row3 = str_replace(" ".$wbbuserdata['userid']." ","-",$row2['ignorelist']);
   	if($row3) {
   		
   		eval ("\$listbit2 .= \"".$tpl->get("usercp_ignore_listbit2")."\";");
   	}
 }

 eval("\$tpl->output(\"".$tpl->get("usercp_ignore_list")."\");");
}

if($action=="buddy") {
 if($_GET['remove']) {
  list($userid)=$db->query_first("SELECT userid FROM bb".$n."_users WHERE userid='".intval($_GET['remove'])."'");
  if(!$userid) eval("error(\"".$tpl->get("error_usernotexist")."\");");
  else {
   $buddylist=removeFromlist($wbbuserdata['buddylist'],$userid);
   $buddydata=$db->query_first("SELECT inbuddylist FROM bb".$n."_users WHERE  userid='$userid'");
   $inbuddylist=removeFromlist($buddydata['inbuddylist'],$wbbuserdata['userid']);
   if($buddylist!=-1) 
$db->query("UPDATE bb".$n."_users SET buddylist='$buddylist' WHERE userid='$wbbuserdata[userid]'");
$db->query("UPDATE bb".$n."_users SET inbuddylist='$inbuddylist' WHERE userid='$userid'");
   header("Location: usercp.php?action=buddy_list&sid=$session[hash]");
   exit();
  }
 }
 if($_GET['add']) {
  list($userid)=$db->query_first("SELECT userid FROM bb".$n."_users WHERE userid='".intval($_GET['add'])."'");
  if(!$userid) eval("error(\"".$tpl->get("error_usernotexist")."\");");
  elseif($userid==$wbbuserdata['userid']) eval("error(\"".$tpl->get("error_cantaddyourself")."\");");
  else {
   $buddylist=add2list($wbbuserdata['buddylist'],$userid);
   $buddydata=$db->query_first("SELECT inbuddylist FROM bb".$n."_users WHERE  userid='$userid'");
   $inbuddylist=add2list($buddydata['inbuddylist'],$wbbuserdata['userid']);
   if($buddylist!=-1)
$ownid="$wbbuserdata[userid]";
$ownname="$wbbuserdata[username]";
$pntext1=" hat dich in die Freundesliste eingefuegt. Du kannst ihn oder sie noch nicht in der Freundesliste?";
$addlink = ' [url=usercp.php?action=buddy&add=$ownid]In Freundesliste hinzufügen[/url]';
$pntext="$ownname$pntext1$addlink";
  $timestamp = time();
$db->query("UPDATE bb".$n."_users SET buddylist='$buddylist' WHERE userid='$wbbuserdata[userid]'");
$db->query("UPDATE bb".$n."_users SET inbuddylist='$inbuddylist' WHERE userid='$userid'");
 $db->query("INSERT INTO bb".$n."_privatemessage (senderid,recipientid,subject,message,sendtime,showsmilies) VALUES ('".$wbbuserdata['userid']."','".$userid."','Neue Freundschaft','".$pntext."','$timestamp','1')");
   header("Location: usercp.php?action=buddy_list&sid=$session[hash]");
   exit();
  }
 }
}


könnte mir wer dabei helfen?

__________________
tuaVox - modernes Website Management

10.12.07 20:36 PaRan0iD ist offline E-Mail WWW Finden Als Freund hinzufügen Füge PaRan0iD in deine Kontaktliste ein MSN Passport-Profil von PaRan0iD anzeigen
[kamui]
~


images/avatars/avatar-4963.gif

Dabei seit: 27.04.05
Beiträge: 2.992

Antworten Zitieren Editieren Melden       UP

Wie lautet denn die Fehlermeldung Augenzwinkern ?
10.12.07 20:48 [kamui] ist offline Finden Als Freund hinzufügen
PaRan0iD PaRan0iD ist männlich
Mitglied


Dabei seit: 20.10.07
Beiträge: 130
Forenversion: 3.0; Lite 1.0

Themenstarter Thema begonnen von PaRan0iD
Antworten Zitieren Editieren Melden       UP

keine, meine fehlermeldung sind die "-1" wenn ich in phpmyadmin schaue.

(und das ab und an beim adden eines Users die ganze "buddylist" gelöscht wird..)

__________________
tuaVox - modernes Website Management

10.12.07 20:49 PaRan0iD ist offline E-Mail WWW Finden Als Freund hinzufügen Füge PaRan0iD in deine Kontaktliste ein MSN Passport-Profil von PaRan0iD anzeigen
MrMind MrMind ist männlich
Sklave des Supportes


images/avatars/avatar-2822.gif

Dabei seit: 19.01.04
Beiträge: 3.349
Herkunft: Darmstadt/Odw.

Antworten Zitieren Editieren Melden       UP

ich schätze (oder seh ich hier zumindestens den ersten Fehler) du hast hier ein bissl was vergessen:


php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
else {
   $buddylist=add2list($wbbuserdata['buddylist'],$userid);
   $buddydata=$db->query_first("SELECT inbuddylist FROM bb".$n."_users WHERE  userid='$userid'");
   $inbuddylist=add2list($buddydata['inbuddylist'],$wbbuserdata['userid']);

   if($buddylist!=-1$ownid="$wbbuserdata[userid]";
$ownname="$wbbuserdata[username]";
$pntext1=" hat dich in die Freundesliste eingefuegt. Du kannst ihn oder sie noch nicht in der Freundesliste?";
$addlink ' [url=usercp.php?action=buddy&add=$ownid]In Freundesliste hinzufügen[/url]';
$pntext="$ownname$pntext1$addlink";
  $timestamp time();
 $db->query("INSERT INTO bb".$n."_privatemessage (senderid,recipientid,subject,message,sendtime,showsmilies) VALUES ('".$wbbuserdata['userid']."','".$userid."','Neue Freundschaft','".$pntext."','$timestamp','1')");
$db->query("UPDATE bb".$n."_users SET buddylist='$buddylist' WHERE userid='$wbbuserdata[userid]'");
$db->query("UPDATE bb".$n."_users SET inbuddylist='$inbuddylist' WHERE userid='$userid'");
   header("Location: usercp.php?action=buddy_list&sid=$session[hash]");
   exit();
  }



du öffnest beim else die geschweifte Klammer und schließt sie erst am ende? ok kann gewünscht sein, aber nach dem darauffolgendem If kommt keine geschweifte Klammer ... das heißt die nächste Anweisung wird genommen und ausgeführt, wenn in der IF-Anweisung true rauskommt. Ich schätze aber mal, so wie der Code aussieht, dass der ganze Block darunter ausgeführt werden soll. Da musst du dann die geschweiften Klammern setzen so wie es richtig wäre Augenzwinkern


Ich würde das ganze Teil nun Schritt für Schritt durchlaufen und gucken, ob ähnliche Fehler weiterhin sich im Script eingeschlichen haben.



Desweiteren denke ich mal, ist dieses Topic im Lite-Forum (Allg. Fragen & Probleme) besser aufgehoben, da es sich definitiv um das wBB und nicht allgemeine Scripte handelt smile


Mfg
MrMind

__________________
Selbst ist der Coder
Coder under Linux

Ubuntu 5.10 Nutzer.

Meine Hacks

10.12.07 23:21 MrMind ist offline E-Mail Finden Als Freund hinzufügen
Baumstruktur | Brettstruktur
Gehe zu:

Neues Thema erstellen Antwort erstellen

yourWBB » yourWBB Misc * » Das Proggen » MySQL und PHP » Fehler bei Eintragung.. Tabelleninhalt nach einiger Zeit "-1"