YourWBB


yourWBB » yourWBB Misc * » Das Proggen » MySQL und PHP » Fehler: Fatal error: Cannot use string offset as an array » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag 13.692 Views | | Thema zu Favoriten hinzufügen

Neues Thema erstellen Antwort erstellen

Zum Ende der Seite springen Fehler: Fatal error: Cannot use string offset as an array
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Dima
Mitglied


Dabei seit: 11.03.05
Beiträge: 5

Fragezeichen Fehler: Fatal error: Cannot use string offset as an array Antworten Zitieren Editieren Melden       UP

Hallo,

bekomme diesen fehler:

Fatal error: Cannot use string offset as an array in /www/htdocs/w005db82/foren-host/forum/klassen/class_permission.php on line 41


und diese datei ist es:


php:
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:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
<?php

class permission {





  function permission() {

  }

  


  function guest() {
  global $db;
  $sql_input $db->sql_query("select guestperm from boardsettings where s_user='$_SESSION[account]'");
  $status $sql_input[0][0];
  return $status;
  }



 // Rechte eines einzelnen Users in Variable speichern !!!
  function user_permission($userid) {
  global $db;
  $permission $db->sql_query("select permissions from userprofil where id='$userid' and s_user='$_SESSION[account]'");
  if ($permission[0][0] == "") {
      $permission[0][0] = $this->guest();

  };
  return $permission[0][0];
  }

  // Aus welcher Klasse stammt der User ? (Gast,User,Mod,Admin)
  function get_class() {
  global $db;
  $stat $this->user_permission($_SESSION[userid]);
  $userid $_SESSION[userid];
  $userp $stat[0][0];
  $mod $db->sql_query("select id from mods where userid='$userid' and s_user='$_SESSION[account]'");
  if ($userid == "") {
      $status "0"// Gast
  } else {
         $status "1"// User


         //Mod aus einer Kathegorie noch herausfinden

      if($userp == "6") {
         $status "2"// Mod
         }

         if ($userp == "7") {
         $status "3"// Admin
         }
  }
  return $status;
  }







  // *********************** prüft Userrechte
  function check_user($handling) {
  global $db;
  $perm $this->user_permission($_SESSION[userid]);
  $status "0";
  if ($perm >= $handling){ $status "1"; };
  $userid $_SESSION[userid];
  $sql_input $db->sql_query("select groupid from groups_user where userid='$userid' and s_user='$_SESSION[account]'");
  $groupid $sql_input[0][0];
  if ($groupid != "") {
   $sql_input $db->sql_query("select permission from groups where id='$groupid' and s_user='$_SESSION[account]'");
   if ($sql_input[0][0] >= $handling) { $status "1"; };
  };

  return $status;
  }

  // *********************** prüft Zutritt für gesellschaft
  function check_entry($catid) {
  global $db;
  $status "0";
  $user $this->get_class();
  $cat $db->sql_query("select rechte from cats where id='$catid' and s_user='$_SESSION[account]'");
  $cat $cat[0][0];
  if ($user >= $cat) { $status "1"; } else {
  $status "0";
  };
  return $status;
  }

  // *********************** prüft bei kathegorie besondere rechte eines users
  function check_special_user($catid,$handling) {
  global $db;
  $sql_input $db->sql_query("select * from cats_permtouser where catid='$catid' and s_user='$_SESSION[account]'");
  $max count($sql_input);
    for ($i=0;$i<$max;$i++) {

  if ($_SESSION[userid] == $sql_input[$i][3]) {

     if ($sql_input[$i][2] >= $handling) { $status "1"; } else { $status "0"; };
  };
  }
  return $status;
  }

  // *********************** prüft bei kathegorie besondere rechte einer gruppe
  function check_special_group($catid,$handling) {
  global $db;
  $userid $_SESSION[userid];
  $sql_input $db->sql_query("select * from cats_permtogroup where catid='$catid' and s_user='$_SESSION[account]'");
  $max count($sql_input);
  for ($i=0;$i<$max;$i++) {
      $groupid $sql_input[$i][2];
      $sql_input4 $db->sql_query("select * from groups_user where groupid='$groupid' and s_user='$_SESSION[account]'");
      $max count($sql_input4);
      for ($e=0;$e<$max;$e++) {
       if ($sql_input4[$e][1] == $userid) {
          if ($sql_input[$i][4] >= $handling) { $status "1"; } else { $status "0"; };
       };
      }
  }
  return $status;
  }

  // *********************** prüft bei kathegorie besondere rechte einee gesellschaft
  function check_special_class($catid,$handling) {
  global $db;
  $userclass $this->get_class();
  $sql_input $db->sql_query("select kid,permission from cats_permtoclass where catid='$catid' and s_user='$_SESSION[account]'");
  $max count($sql_input);

  for ($i=0;$i<$max;$i++) {

    if ($sql_input[$i][0] == $userclass) {
      if ($sql_input[$i][1] >= $handling) { $status "1"; } else { $status "0"; };
    };
  }

  return $status;
  }







  function check($catid,$handling) {

  $permission "0";


  if ($this->check_entry($catid) == "1") {


     if ($this->check_user($handling) == "1") { $permission "1";  };

  } elseif ($this->check_entry($catid) == "0") {
      $permission "0";
  };

  if ($this->check_special_class($catid,$handling) == "1") {
             $permission "1";
  } elseif ($this->check_special_class($catid,$handling) == "0") {
             $permission "0";
  };

  if ($_SESSION[userid] != "") {

         if ($this->check_special_group($catid,$handling) == "1") {
             $permission "1";
         } elseif ($this->check_special_group($catid,$handling) == "0") {
             $permission "0";
         };

         if ($this->check_special_user($catid,$handling) == "1") {
             $permission "1";
         } elseif ($this->check_special_user($catid,$handling) == "0") {
             $permission "0";
         };


  };
  return $permission;
  }




}
?>




hoffe iner kann helfen
02.01.09 15:19 Dima ist offline E-Mail Finden Als Freund hinzufügen
GneX
Mitglied


images/avatars/avatar-5801.jpg

Dabei seit: 18.12.06
Beiträge: 656

Antworten Zitieren Editieren Melden       UP

Hallo,

diese Informationsflut; Welches Betriebssystem? Welche PHP-Version? Welcher Webserver? ...
02.01.09 15:31 GneX ist offline Finden Als Freund hinzufügen
Dizzy.w3 Dizzy.w3 ist männlich
Brain Damage


images/avatars/avatar-5617.jpg

Dabei seit: 18.07.07
Beiträge: 1.431
Herkunft: Österreich
Forenversion: 3.0

Antworten Zitieren Editieren Melden       UP

Hi,

ich vermute mal - muss ich ja, aufgrund weniger Angaben, dass das Script etwas älter ist, sprich für PHP4 geschrieben wurde, und jetzt unter PHP5 genutzt wird.

Mir scheint, als würde der Spaß ei nwenig unsauber gelöst.

Leider kann ich es dir auch nicht so einfach umschreiben, weil ich nicht weiß, was der Scriptersteller vor hatte.

Ersetz mal Zeile 41:
php:
1:
$userp $stat[0][0];


durch

php:
1:
$userp = {$stat[0][0]};


__________________
Gruß Dizzy

the rest is silence

02.01.09 15:41 Dizzy.w3 ist offline E-Mail Finden Als Freund hinzufügen Füge Dizzy.w3 in deine Kontaktliste ein MSN Passport-Profil von Dizzy.w3 anzeigen
Dima
Mitglied


Dabei seit: 11.03.05
Beiträge: 5

Themenstarter Thema begonnen von Dima
Antworten Zitieren Editieren Melden       UP

hallo,

danke für die hilfe.

lag an php5

habs auf php4 umgestellt.

vielen dank
02.01.09 15:55 Dima ist offline E-Mail Finden Als Freund hinzufügen
Hawkes
gesperrt 10/01/10


Dabei seit: 31.03.04
Beiträge: 213

Antworten Zitieren Editieren Melden       UP

Symptom bekämpft. Ursache bleibt offen Müde

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Hawkes: 05.01.09 08:51.

05.01.09 08:50 Hawkes ist offline Finden Als Freund hinzufügen
Dizzy.w3 Dizzy.w3 ist männlich
Brain Damage


images/avatars/avatar-5617.jpg

Dabei seit: 18.07.07
Beiträge: 1.431
Herkunft: Österreich
Forenversion: 3.0

Antworten Zitieren Editieren Melden       UP

Hi,


@Admiral_Hawkes
welche Frage bleibt bei dir offen?

Unter PHP5 ist es nicht mehr konform, auf ein einziges Zeichen in einem String auf diese Weise zuzugreifen:

php:
1:
$sql_input[0][0]


Ursache: Regeländerung bei Zend

__________________
Gruß Dizzy

the rest is silence

05.01.09 12:55 Dizzy.w3 ist offline E-Mail Finden Als Freund hinzufügen Füge Dizzy.w3 in deine Kontaktliste ein MSN Passport-Profil von Dizzy.w3 anzeigen
Baumstruktur | Brettstruktur
Gehe zu:

Neues Thema erstellen Antwort erstellen

yourWBB » yourWBB Misc * » Das Proggen » MySQL und PHP » Fehler: Fatal error: Cannot use string offset as an array