Problem mit php

botty
ich versuche mich zur zeit ein bisschen in php einzuarbeiten und habe im moment ein problem mit einem script.
in dem script geht es darum das der admin neue user erstellen/bearbeiten/löschen kann. Nun wenn ich versuche dies auszuführen erscheint folgende fehlermeldung:


Fatal error: Cannot redeclare array_stripslashes() (previously declared in /usr/export/www/vhosts/funnetwork/hosting/ground/1fcn/groundcero/functions.
php:2) in /usr/export/www/vhosts/funnetwork/hosting/ground/1fcn/groundcero/functions.
php on line 2

hier ist mal die functions.php
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:

<?php
    function array_stripslashes(&$var)
    {
        if(is_string($var)) {
            $var stripslashes($var);
        } else {
            if(is_array($var)) {
                foreach($var AS $key => $value) {
                    array_stripslashes($var[$key]);
                }
            }
        }
    }






    @mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS) OR die(mysql_error());
    mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());        
    
    function login_right($id$pass)
    {
       
        $sql "SELECT
                    COUNT(*) as Anzahl
                FROM
                    users
                WHERE
                    ID = '".$id."' AND
                    Password = MD5('".$pass."');";
        $result mysql_query($sql) OR die(mysql_error());
        $row mysql_fetch_assoc($result);
        mysql_free_result($result);
        return $row['Anzahl'];
    }


       
    function no_rights()
    {
        echo "<p class=\"error\">\n";
        echo "    Sie haben keine Berechtigung, diesen Bereich\n";
        echo "    zu betreten. Bitte wählen sie einen anderen\n";
        echo "    Bereich aus\n";
        echo "</p>\n";
        echo "<p>\n";
        echo "    <a href=\"index.php?section=admin&amp;".SID."\">\n";
        echo "        Zurück zum Adminbereich\n";
        echo "    </a>\n";
        echo "</p>\n";
    }

    function getRights($UID null)
    {
        if(isset($UID)) {
            $sql "SELECT
                        Recht
                    FROM
                        user_rights
                    WHERE
                       UserID = '".$UID."';";
        } else {
            $sql "SELECT
                        Recht
                    FROM
                        user_rights
                    WHERE
                       UserID = '".$_SESSION['ID']."';";
        }
        $result mysql_query($sql) OR die(mysql_error());
        $rights = array();
        while($row mysql_fetch_assoc($result)) {
            $rights[] = $row['Recht'];
        }
        return $rights;
    }
?>



ich hoffe mir kann jemand weiterhelfen

Danke
psycho_dmr
in was für einer datei kommt der fehler?

kann es sein das du die funktion irgendwo nochmal stehen hast?

kann es sein das du die functions.php 2 mal includest?
botty
oh ja ich hatte es 2 mal includet ... ähm jetzt is der fehler weg aber ich steh vorm nächsten problem wenn ich "benutzer bearbeiten" jetzt aufrufen will dann erscheint nur eine weiße seite
worin kann hier der fehler liegen??

hier mal die admin_user.php

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:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
269:
270:
271:
272:
273:
274:
275:
276:
277:
278:
279:
280:
281:
282:
283:
284:
285:
286:
287:
288:
289:
290:
291:
292:
293:
294:
295:
296:
297:
298:
299:
300:
301:
302:
303:
304:
305:
306:
307:
308:
309:
310:
311:
312:
313:
314:
315:
316:
317:
318:
319:
320:
321:
322:
323:
324:
325:
326:
327:
328:
329:
330:
331:
332:
333:
334:
335:
336:
337:
338:
339:
340:
341:
342:
343:
344:
345:
346:
347:
348:
349:
350:
351:
352:
353:
354:
355:
356:
357:
358:
359:
360:
361:
362:
363:
364:
365:
366:
367:
368:
369:

<?php
    
    
    @mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS) OR die(mysql_error());
    mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());    
    $sql "SELECT
                Recht
            FROM
                user_rights
            WHERE
               UserID = '".$_SESSION['ID']."';";
    $result mysql_query($sql) OR die(mysql_error());
    $rights = array();
    while($row mysql_fetch_assoc($result)) {
        $rights[] = $row['Recht'];
    }

    if(!in_array("Admin"$rights)) {
        echo "<p>\n";
        echo "    Sie haben keine Berechtigung, diesen Bereich\n";
        echo "    zu betreten. Bitte wählen sie einen anderen\n";
        echo "    Bereich aus\n";
        echo "</p>\n";
        echo "<p>\n";
        echo "    <a href=\"admin.php?section=admin&amp;".SID."\">\n";
        echo "        Zurück zum Adminbereich\n";
        echo "    </a>\n";
        echo "</p>\n";
   
    $rights getRights();
    if(!in_array("Admin"$rights)) {
        no_rights();
       } else {
     switch(isset($_GET['action'])?$_GET['action']:'') {
            case "add":
                  if(isset($_POST['submit'])) {
                    if(!preg_match('/^\w+$/'trim($_POST['name']))) {
                        echo "<p>\n";
                        echo "    Bitte geben sie einen Name aus alphanumerischen Zeichen ein.\n";
                        echo "</p>\n";
                        echo "<p>\n";
                        echo "    <a href=\"admin.php?section=admin&amp;site=user&amp;action=add&amp;".SID."\">\n";
                        echo "        Zurück zum Formular\n";
                        echo "    </a>\n";
                        echo "</p>\n";
                    } elseif(trim($_POST['email']) == "") {
                        echo "<p>\n";
                        echo "    Bitte geben sie eine Emailadresse an.\n";
                        echo "</p>\n";
                        echo "<p>\n";
                        echo "    <a href=\"admin.php?section=admin&amp;site=user&amp;action=add&amp;".SID."\">\n";
                        echo "        Zurück zum Formular\n";
                        echo "    </a>\n";
                        echo "</p>\n";
                    } else {
                        $password substr(md5(microtime()),0,8); // zufallspassword erstellen
                        $sql "INSERT INTO
                                    users(Name, Email, Password)
                                VALUES
                                    ('".trim($_POST['name'])."',
                                     '".addslashes(trim($_POST['email']))."',
                                     MD5('".$password."'));";
                        $result mysql_query($sql) OR die(mysql_error());
                        if(isset($_POST['send'])) {// Login-Daten per Email schicken
                            $mailbody  "Zugangsdaten zur Homepage:\n";
                            $mailbody .= "Name: ".trim($_POST['name'])."\n";
                            $mailbody .= "Password: ".$password."\n";
                            $mailbody .= "Bitte loggen sie sich ein und ändern sie das Password.\n";
                            if(mail(trim($_POST['email']), "Zugangsdaten"$mailbody)) {
                                echo "<p>\n";
                                echo "    Account wurde hinzugefügt und die Zugangsdaten wurden zum\n";
                                echo "    Benutzer geschickt.\n";
                                echo "</p>\n";
                                echo "<p>\n";
                                echo "    <a href=\"admin.php?section=admin&amp;".SID."\">\n";
                                echo "        Zurück zum Adminbereich\n";
                                echo "    </a>\n";
                                echo "</p>\n";
                            } else {
                                echo "<p>\n";
                                echo "    Account wurde hinzugefügt, doch es konnte keine Email\n";
                                echo "    verschickt werden.\n";
                                echo "</p>\n";
                                echo "<p>\n";
                                echo "    Logindaten <br />\n";
                                echo "    Name: ".trim($_POST['name'])."<br />\n";
                                echo "    Password: ".$password."<br />\n";
                                echo "</p>\n";
                                echo "<p>\n";
                                echo "    <a href=\"admin.php?section=admin&amp;".SID."\">\n";
                                echo "        Zurück zum Adminbereich\n";
                                echo "    </a>\n";
                                echo "</p>\n";
                            }
                        } else {
                            echo "<p>\n";
                            echo "    Account wurde hinzugefügt.\n";
                            echo "</p>\n";
                            echo "<p>\n";
                            echo "    Logindaten <br />\n";
                            echo "    Name: ".trim($_POST['name'])."<br />\n";
                            echo "    Password: ".$password."<br />\n";
                            echo "</p>\n";
                            echo "<p>\n";
                            echo "    <a href=\"admin.php?section=admin&amp;".SID."\">\n";
                            echo "        Zurück zum Adminbereich\n";
                            echo "    </a>\n";
                            echo "</p>\n";
                        }
                    }
                } else {
                    echo "<form ".
                         "action=\"admin.php?section=admin&amp;site=user&amp;action=add\" ".
                         "method=\"post\" ".
                         "class=\"formular\">\n";
                    echo "    <p>\n";
                    echo "        Neuen Benutzer hinzufügen\n";
                    echo "    </p>\n";
                    echo "    <ol>\n";
                    echo "        <li>\n";
                    echo "            <label for=\"name\">Name</label>\n";
                    echo "            <input type=\"text\" name=\"name\" id=\"name\" />\n";
                    echo "        </li>\n";
                    echo "        <li>\n";
                    echo "            <label for=\"email\">Emailadresse</label>\n";
                    echo "            <input type=\"text\" name=\"email\" id=\"email\" />\n";
                    echo "        </li>\n";
                    echo "        <li>\n";
                    echo "            <label for=\"send\">\n";
                    echo "                Zugangsdaten per Email zuschicken lassen\n";
                    echo "            </label>\n";
                    echo "            <input type=\"checkbox\" name=\"send\" id=\"send\" />\n";
                    echo "        </li>\n";
                    echo "        <li>\n";
                    echo "            <input type=\"submit\" name=\"submit\" value=\"Benutzer hinzufügen\" />\n";
                    echo "            <input type=\"reset\" name=\"submit\" value=\"Zurücksetzen\" />\n";
                    echo "            <input type=\"hidden\" name=\"".session_name()."\" ".
                                                            "value=\"".session_id()."\" />\n";
                    echo "        </li>\n";
                    echo "    <ol>\n";
                    echo "</form>\n";
                    echo "<p>\n";
                    echo "    <a href=\"admin.php?section=admin&amp;".SID."\">\n";
                    echo "        Zurück zum Adminbereich\n";
                    echo "    </a>\n";
                    echo "</p>\n";
                }
                
                break;

            case "edit":
            if(isset($_POST['submit']) AND "Benutzer auswählen" == $_POST['submit']) {
            if(!$_POST['uid']) {
                echo "<p class=\"error\">\n";
                echo "    Bitte wählen sie einen Benutzer aus<br />\n";
                echo "    <a href=\"admin.php?section=admin&amp;site=user&amp;action=del\">\n";
                echo "        Zurück zum Formular\n";
                echo "    </a>\n";
                echo "</p>\n";
            } else {
                $_SESSION['uid'] = $_POST['uid']; // Die UserID in der Session speichern.
                $rights getRights($_SESSION['uid']); // Die Rechte vom User holen
                $sql "SELECT
                            Name
                        FROM
                            users
                        WHERE
                            ID = '".$_SESSION['uid']."';";
                $result mysql_query($sql) OR die(mysql_error());
                $Name mysql_result($result0);
                echo "<form ".
                     "action=\"admin.php?section=admin&amp;site=user&amp;action=edit\" ".
                     "method=\"post\" ".
                     "class=\"formular\">\n";
                echo "    <p>\n";
                echo "        Benutzer ".$Name." bearbeiten\n";
                echo "    </p>\n";
                echo "    <ol>\n";
                echo "        <li>\n";
                echo "            Rechte:\n";
                $allRights = array();
                $allRights[] = "Admin";
                $allRights[] = "News";
                // .. und weitere
                sort($allRights);
                echo "            <ul>\n";
                foreach($allRights as $value) {
                    echo "<li>\n";
                    echo "    <input id=\"".$value."\" type=\"checkbox\" name=\"rights[]\"";
                    if(in_array($value$rights)) {
                        echo " checked=\"checked\"";
                    }
                    echo " value=\"".$value."\" />\n";
                    echo "    <label for=\"".$value."\">".$value."</label><br />\n";
                }
                echo "            </ul>\n";
                echo "        </li>\n";
                echo "        <li>\n";
                echo "            <input type=\"submit\" name=\"submit\" value=\"Rechte speichern\" />\n";
                echo "            <input type=\"reset\" name=\"submit\" value=\"Zurücksetzen\" />\n";
                echo "            <input type=\"hidden\" name=\"".session_name()."\" ".
                                                            "value=\"".session_id()."\" />\n";
                echo "    </ol>\n";
                echo "</form>\n";
                echo "<p>\n";
                echo "    <a href=\"admin.php?section=admin&amp;".SID."\">\n";
                echo "        Zurück zum Adminbereich\n";
                echo "    </a>\n";
                echo "</p>\n";
            }
        } elseif(isset($_POST['submit']) AND "Rechte speichern" == $_POST['submit']) {
            if(!isset($_POST['rights'])) {
                echo "<p class=\"error\">\n";
                echo "    Sie müssen mindestens ein Recht angeben.\n";
                echo "</p>\n";
            } else {
                $sql "DELETE FROM
                            user_rights
                        WHERE
                            UserID = '".$_SESSION['uid']."';";
                mysql_query($sql) OR die(mysql_error());
                // alle Vorhandenen Rechte löschen
                // und nun die angewählten hinzufügen
                foreach($_POST['rights'] as $right) {
                    $sql "INSERT INTO
                                user_rights(userID, Recht)
                            VALUES
                                ('".$_SESSION['uid']."',
                                 '".$right."');";
                    mysql_query($sql) OR die(mysql_error());
                }
                echo "<p>\n";
                echo "    Die Rechte wurden gespeichert.\n";
                echo "</p>\n";
                echo "<p>\n";
                echo "    <a href=\"admin.php?section=admin&amp;".SID."\">\n";
                echo "        Zurück zum Adminbereich\n";
                echo "    </a>\n";
                echo "</p>\n";
            }
        } else {
            echo "<form ".
                 "action=\"admin.php?section=admin&amp;site=user&amp;action=edit\" ".
                 "method=\"post\" ".
                 "class=\"formular\">\n";
            echo "    <p>\n";
            echo "        Benutzer bearbeiten\n";
            echo "    </p>\n";
            echo "    <ol>\n";
            echo "        <li>\n";
            echo "            <label for=\"name\">Benutzer</label>\n";
            $sql "SELECT
                        Name, ID
                    FROM
                        users
                    ORDER BY
                        Name ASC;";
            $result mysql_query($sql) OR die(mysql_error());
            echo "                <select id=\"name\" name=\"uid\">\n";
            echo "                    <option value=\"0\" selected=\"selected\">Bitte einen User wählen</option>\n";
            while($row mysql_fetch_assoc($result)) {
                echo "<option value=\"".$row['ID']."\">".$row['Name']."</option>\n";
            }
            echo "                </select>\n";
            echo "        </li>\n";
            echo "        <li>\n";
            echo "            <input type=\"submit\" name=\"submit\" value=\"Benutzer auswählen\" />\n";
            echo "            <input type=\"reset\" name=\"submit\" value=\"Zurücksetzen\" />\n";
            echo "            <input type=\"hidden\" name=\"".session_name()."\" ".
                                                    "value=\"".session_id()."\" />\n";
            echo "        </li>\n";
            echo "    <ol>\n";
            echo "</form>\n";
            echo "<p>\n";
            echo "    <a href=\"admin.php?section=admin&amp;".SID."\">\n";
            echo "        Zurück zum Adminbereich\n";
            echo "    </a>\n";
            echo "</p>\n";
        }
            
                break;

            case "del":
              if(isset($_POST['submit'])) {
            if(!$_POST['uid']) { // gucken ob == 0 ist
                echo "<p class=\"error\">\n";
                echo "    Bitte wählen sie einen Benutzer aus<br />\n";
                echo "    <a href=\"admin.php?section=admin&amp;site=user&amp;action=del\">\n";
                echo "        Zurück zum Formular\n";
                echo "    </a>\n";
                echo "</p>\n";
            } else {
                $sql "DELETE FROM
                            user_rights
                        WHERE
                            UserID = '".$_POST['uid']."';";
                mysql_query($sql) OR die(mysql_error());
                $sql "DELETE FROM
                            users
                        WHERE
                            ID = '".$_POST['uid']."';";
                mysql_query($sql) OR die(mysql_error());
                echo "<p>\n";
                echo "    Der User wurde gelöscht.\n";
                echo "</p>\n";
                echo "<p>\n";
                echo "    <a href=\"admin.php?section=admin&amp;".SID."\">\n";
                echo "        Zurück zum Adminbereich\n";
                echo "    </a>\n";
                echo "</p>\n";
            }
        } else {
            echo "<form ".
                 "action=\"admin.php?section=admin&amp;site=user&amp;action=del\" ".
                 "method=\"post\" ".
                 "class=\"formular\">\n";
            echo "    <p>\n";
            echo "        Benutzer löschen\n";
            echo "    </p>\n";
            echo "    <ol>\n";
            echo "        <li>\n";
            echo "            <label for=\"name\">Benutzer</label>\n";
            $sql "SELECT
                        Name, ID
                    FROM
                        users
                    ORDER BY
                        Name ASC;";
            $result mysql_query($sql) OR die(mysql_error());
            echo "                <select id=\"name\" name=\"uid\">\n";
            echo "                    <option value=\"0\" selected=\"selected\">Bitte einen User wählen</option>\n";
            while($row mysql_fetch_assoc($result)) {
                echo "<option value=\"".$row['ID']."\">".$row['Name']."</option>\n";
            }
            echo "                </select>\n";
            echo "        </li>\n";
            echo "        <li>\n";
            echo "            <input type=\"submit\" name=\"submit\" value=\"Benutzer löschen\" />\n";
            echo "            <input type=\"reset\" name=\"submit\" value=\"Zurücksetzen\" />\n";
            echo "            <input type=\"hidden\" name=\"".session_name()."\" ".
                                                    "value=\"".session_id()."\" />\n";
            echo "        </li>\n";
            echo "    <ol>\n";
            echo "</form>\n";
            echo "<p>\n";
            echo "    <a href=\"admin.php?section=admin&amp;".SID."\">\n";
            echo "        Zurück zum Adminbereich\n";
            echo "    </a>\n";
            echo "</p>\n";
        }
                break;

            default:
                echo "<p>\n";
                echo "    Bitte benutzen sie nur einen Link aus dem Adminmenu.\n";
                echo "    <a href=\"index.php?section=admin&amp;".SID."\">\n";
                echo "        Zurück zum Adminbereich\n";
                echo "    </a>\n";
                echo "</p>\n";
                break;
        }
    }
        echo "<p>\n";
        echo "    Willkommen im Bereich foobar\n";
        echo "</p>\n";
    }
?>
ThBodi
php:
1:
2:
3:
<?php
    @mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS) OR die(mysql_error());
...
Wenn das wirklich die vollständige Datei ist, dann würde ich sagen, dass in den Konstanten der Fehler liegt, die Du in obiger Zeile verwenden willst, die aber nirgends initialisiert werden.

Der Funktionsaufruf in Zeile 31 -
php:
1:
$rights getRights();
funktioniert natürlich so auch nicht, weil die Funktion ja nirgends implementiert wird.

Also kurzum: hier fehlen die include-Verweise auf die php-Dateien, die obige Konstanten initialisieren bzw. die gewünschten Funktionen implementiert.
botty
ja gut die constant.php hab ich jetzt wieder mit rein hat sich aber immer noch nichts geändert aber wenn ich jetzt die functions.php noch includen würde dann wäre ja wieder der fehler wie am anfang weil ichs ja dann 2 mal includet hab also in der admin.php und in der admin_user.php

edit: so ich hab das problem jetzt gelöst aber jetzt stehe ich vor einen neuen problem denn irgendwie habe ich keine rechte um neue user hinzuzufügen/löschen/bearbeiten aber als admin müsste ich diese rechte doch haben oder??

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:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
269:
270:
271:
272:
273:
274:
275:
276:
277:
278:
279:
280:
281:
282:
283:
284:
285:
286:
287:
288:
289:
290:
291:
292:
293:
294:
295:
296:
297:
298:
299:
300:
301:
302:
303:
304:
305:
306:
307:
308:
309:
310:
311:
312:
313:
314:
315:
316:
317:
318:
319:
320:
321:
322:
323:
324:
325:
326:
327:
328:
329:
330:
331:
332:
333:
334:
335:
336:
337:
338:
339:
340:
341:
342:
343:
344:
345:
346:
347:
348:
349:
350:
351:
352:
353:
354:
355:
356:
357:
358:
359:
360:
361:
362:
363:
364:
365:
366:
367:
368:
369:
370:
371:
372:
373:
374:
375:
376:
377:
378:
379:
380:
381:
382:
383:
384:
385:
386:
387:
388:
389:
390:
391:
392:
393:
394:
395:
396:
397:
398:
399:
400:
401:
402:
403:
404:
405:
406:
407:
408:
409:
410:
411:
412:
413:


<?php
    
    include "constant.php";
    include "variablen.php";
    
    @mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS) OR die(mysql_error());
    mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());    
    $sql "SELECT
                Recht
            FROM
                user_rights
            WHERE
               UserID = '".$_SESSION['ID']."';";
    $result mysql_query($sql) OR die(mysql_error());
    $rights = array();
    while($row mysql_fetch_assoc($result)) {
        $rights[] = $row['Recht'];
    }

    if(!in_array("Admin"$rights)) {
       
         echo "<p>\n";
        echo "    Sie haben keine Berechtigung, diesen Bereich\n";
        echo "    zu betreten. Bitte wählen sie einen anderen\n";
        echo "    Bereich aus\n";
        echo "</p>\n";
        echo "<p>\n";
        echo "    <a href=\"admin.php?section=admin&amp;".SID."\">\n";
        echo "        Zurück zum Adminbereich\n";
        echo "    </a>\n";
        echo "</p>\n";
        
      function no_rights()
    {
        echo "<p class=\"error\">\n";
        echo "    Sie haben keine Berechtigung, diesen Bereich\n";
        echo "    zu betreten. Bitte wählen sie einen anderen\n";
        echo "    Bereich aus\n";
        echo "</p>\n";
        echo "<p>\n";
        echo "    <a href=\"admin.php?section=admin&amp;".SID."\">\n";
        echo "        Zurück zum Adminbereich\n";
        echo "    </a>\n";
        echo "</p>\n";
    }

    function getRights($UID null)
    {
        if(isset($UID)) {
            $sql "SELECT
                        Recht
                    FROM
                        user_rights
                    WHERE
                       UserID = '".$UID."';";
        } else {
            $sql "SELECT
                        Recht
                    FROM
                        user_rights
                    WHERE
                       UserID = '".$_SESSION['ID']."'";
        }
        $result mysql_query($sql) OR die(mysql_error());
        $rights = array();
        while($row mysql_fetch_assoc($result)) {
            $rights[] = $row['Recht'];
        }
        return $rights;
    }
    
    $rights getRights();
    if(!in_array("Admin"$rights)) {
        no_rights();
       } else {
     switch(isset($_GET['action'])?$_GET['action']:'') {
            case "add":
                  if(isset($_POST['submit'])) {
                    if(!preg_match('/^\w+$/'trim($_POST['name']))) {
                        echo "<p>\n";
                        echo "    Bitte geben sie einen Name aus alphanumerischen Zeichen ein.\n";
                        echo "</p>\n";
                        echo "<p>\n";
                        echo "    <a href=\"admin.php?section=admin&amp;site=user&amp;action=add&amp;".SID."\">\n";
                        echo "        Zurück zum Formular\n";
                        echo "    </a>\n";
                        echo "</p>\n";
                    } elseif(trim($_POST['email']) == "") {
                        echo "<p>\n";
                        echo "    Bitte geben sie eine Emailadresse an.\n";
                        echo "</p>\n";
                        echo "<p>\n";
                        echo "    <a href=\"admin.php?section=admin&amp;site=user&amp;action=add&amp;".SID."\">\n";
                        echo "        Zurück zum Formular\n";
                        echo "    </a>\n";
                        echo "</p>\n";
                    } else {
                        $password substr(md5(microtime()),0,8); // zufallspassword erstellen
                        $sql "INSERT INTO
                                    users(Name, Email, Password)
                                VALUES
                                    ('".trim($_POST['name'])."',
                                     '".addslashes(trim($_POST['email']))."',
                                     MD5('".$password."'));";
                        $result mysql_query($sql) OR die(mysql_error());
                        if(isset($_POST['send'])) {// Login-Daten per Email schicken
                            $mailbody  "Zugangsdaten zur Homepage:\n";
                            $mailbody .= "Name: ".trim($_POST['name'])."\n";
                            $mailbody .= "Password: ".$password."\n";
                            $mailbody .= "Bitte loggen sie sich ein und ändern sie das Password.\n";
                            if(mail(trim($_POST['email']), "Zugangsdaten"$mailbody)) {
                                echo "<p>\n";
                                echo "    Account wurde hinzugefügt und die Zugangsdaten wurden zum\n";
                                echo "    Benutzer geschickt.\n";
                                echo "</p>\n";
                                echo "<p>\n";
                                echo "    <a href=\"admin.php?section=admin&amp;".SID."\">\n";
                                echo "        Zurück zum Adminbereich\n";
                                echo "    </a>\n";
                                echo "</p>\n";
                            } else {
                                echo "<p>\n";
                                echo "    Account wurde hinzugefügt, doch es konnte keine Email\n";
                                echo "    verschickt werden.\n";
                                echo "</p>\n";
                                echo "<p>\n";
                                echo "    Logindaten <br />\n";
                                echo "    Name: ".trim($_POST['name'])."<br />\n";
                                echo "    Password: ".$password."<br />\n";
                                echo "</p>\n";
                                echo "<p>\n";
                                echo "    <a href=\"admin.php?section=admin&amp;".SID."\">\n";
                                echo "        Zurück zum Adminbereich\n";
                                echo "    </a>\n";
                                echo "</p>\n";
                            }
                        } else {
                            echo "<p>\n";
                            echo "    Account wurde hinzugefügt.\n";
                            echo "</p>\n";
                            echo "<p>\n";
                            echo "    Logindaten <br />\n";
                            echo "    Name: ".trim($_POST['name'])."<br />\n";
                            echo "    Password: ".$password."<br />\n";
                            echo "</p>\n";
                            echo "<p>\n";
                            echo "    <a href=\"admin.php?section=admin&amp;".SID."\">\n";
                            echo "        Zurück zum Adminbereich\n";
                            echo "    </a>\n";
                            echo "</p>\n";
                        }
                    }
                } else {
                    echo "<form ".
                         "action=\"admin.php?section=admin&amp;site=user&amp;action=add\" ".
                         "method=\"post\" ".
                         "class=\"formular\">\n";
                    echo "    <p>\n";
                    echo "        Neuen Benutzer hinzufügen\n";
                    echo "    </p>\n";
                    echo "    <ol>\n";
                    echo "        <li>\n";
                    echo "            <label for=\"name\">Name</label>\n";
                    echo "            <input type=\"text\" name=\"name\" id=\"name\" />\n";
                    echo "        </li>\n";
                    echo "        <li>\n";
                    echo "            <label for=\"email\">Emailadresse</label>\n";
                    echo "            <input type=\"text\" name=\"email\" id=\"email\" />\n";
                    echo "        </li>\n";
                    echo "        <li>\n";
                    echo "            <label for=\"send\">\n";
                    echo "                Zugangsdaten per Email zuschicken lassen\n";
                    echo "            </label>\n";
                    echo "            <input type=\"checkbox\" name=\"send\" id=\"send\" />\n";
                    echo "        </li>\n";
                    echo "        <li>\n";
                    echo "            <input type=\"submit\" name=\"submit\" value=\"Benutzer hinzufügen\" />\n";
                    echo "            <input type=\"reset\" name=\"submit\" value=\"Zurücksetzen\" />\n";
                    echo "            <input type=\"hidden\" name=\"".session_name()."\" ".
                                                            "value=\"".session_id()."\" />\n";
                    echo "        </li>\n";
                    echo "    <ol>\n";
                    echo "</form>\n";
                    echo "<p>\n";
                    echo "    <a href=\"admin.php?section=admin&amp;".SID."\">\n";
                    echo "        Zurück zum Adminbereich\n";
                    echo "    </a>\n";
                    echo "</p>\n";
                }
                
                break;

            case "edit":
            if(isset($_POST['submit']) AND "Benutzer auswählen" == $_POST['submit']) {
            if(!$_POST['uid']) {
                echo "<p class=\"error\">\n";
                echo "    Bitte wählen sie einen Benutzer aus<br />\n";
                echo "    <a href=\"admin.php?section=admin&amp;site=user&amp;action=del\">\n";
                echo "        Zurück zum Formular\n";
                echo "    </a>\n";
                echo "</p>\n";
            } else {
                $_SESSION['uid'] = $_POST['uid']; // Die UserID in der Session speichern.
                $rights getRights($_SESSION['uid']); // Die Rechte vom User holen
                $sql "SELECT
                            Name
                        FROM
                            users
                        WHERE
                            ID = '".$_SESSION['uid']."';";
                $result mysql_query($sql) OR die(mysql_error());
                $Name mysql_result($result0);
                echo "<form ".
                     "action=\"admin.php?section=admin&amp;site=user&amp;action=edit\" ".
                     "method=\"post\" ".
                     "class=\"formular\">\n";
                echo "    <p>\n";
                echo "        Benutzer ".$Name." bearbeiten\n";
                echo "    </p>\n";
                echo "    <ol>\n";
                echo "        <li>\n";
                echo "            Rechte:\n";
                $allRights = array();
                $allRights[] = "admin";
                $allRights[] = "News";
                // .. und weitere
                sort($allRights);
                echo "            <ul>\n";
                foreach($allRights as $value) {
                    echo "<li>\n";
                    echo "    <input id=\"".$value."\" type=\"checkbox\" name=\"rights[]\"";
                    if(in_array($value$rights)) {
                        echo " checked=\"checked\"";
                    }
                    echo " value=\"".$value."\" />\n";
                    echo "    <label for=\"".$value."\">".$value."</label><br />\n";
                }
                echo "            </ul>\n";
                echo "        </li>\n";
                echo "        <li>\n";
                echo "            <input type=\"submit\" name=\"submit\" value=\"Rechte speichern\" />\n";
                echo "            <input type=\"reset\" name=\"submit\" value=\"Zurücksetzen\" />\n";
                echo "            <input type=\"hidden\" name=\"".session_name()."\" ".
                                                            "value=\"".session_id()."\" />\n";
                echo "    </ol>\n";
                echo "</form>\n";
                echo "<p>\n";
                echo "    <a href=\"admin.php?section=admin&amp;".SID."\">\n";
                echo "        Zurück zum Adminbereich\n";
                echo "    </a>\n";
                echo "</p>\n";
            }
        } elseif(isset($_POST['submit']) AND "Rechte speichern" == $_POST['submit']) {
            if(!isset($_POST['rights'])) {
                echo "<p class=\"error\">\n";
                echo "    Sie müssen mindestens ein Recht angeben.\n";
                echo "</p>\n";
            } else {
                $sql "DELETE FROM
                            user_rights
                        WHERE
                            UserID = '".$_SESSION['uid']."';";
                mysql_query($sql) OR die(mysql_error());
                // alle Vorhandenen Rechte löschen
                // und nun die angewählten hinzufügen
                foreach($_POST['rights'] as $right) {
                    $sql "INSERT INTO
                                user_rights(userID, Recht)
                            VALUES
                                ('".$_SESSION['uid']."',
                                 '".$right."');";
                    mysql_query($sql) OR die(mysql_error());
                }
                echo "<p>\n";
                echo "    Die Rechte wurden gespeichert.\n";
                echo "</p>\n";
                echo "<p>\n";
                echo "    <a href=\"admin.php?section=admin&amp;".SID."\">\n";
                echo "        Zurück zum Adminbereich\n";
                echo "    </a>\n";
                echo "</p>\n";
            }
        } else {
            echo "<form ".
                 "action=\"admin.php?section=admin&amp;site=user&amp;action=edit\" ".
                 "method=\"post\" ".
                 "class=\"formular\">\n";
            echo "    <p>\n";
            echo "        Benutzer bearbeiten\n";
            echo "    </p>\n";
            echo "    <ol>\n";
            echo "        <li>\n";
            echo "            <label for=\"name\">Benutzer</label>\n";
            $sql "SELECT
                        Name, ID
                    FROM
                        users
                    ORDER BY
                        Name ASC;";
            $result mysql_query($sql) OR die(mysql_error());
            echo "                <select id=\"name\" name=\"uid\">\n";
            echo "                    <option value=\"0\" selected=\"selected\">Bitte einen User wählen</option>\n";
            while($row mysql_fetch_assoc($result)) {
                echo "<option value=\"".$row['ID']."\">".$row['Name']."</option>\n";
            }
            echo "                </select>\n";
            echo "        </li>\n";
            echo "        <li>\n";
            echo "            <input type=\"submit\" name=\"submit\" value=\"Benutzer auswählen\" />\n";
            echo "            <input type=\"reset\" name=\"submit\" value=\"Zurücksetzen\" />\n";
            echo "            <input type=\"hidden\" name=\"".session_name()."\" ".
                                                    "value=\"".session_id()."\" />\n";
            echo "        </li>\n";
            echo "    <ol>\n";
            echo "</form>\n";
            echo "<p>\n";
            echo "    <a href=\"admin.php?section=admin&amp;".SID."\">\n";
            echo "        Zurück zum Adminbereich\n";
            echo "    </a>\n";
            echo "</p>\n";
        }
            
                break;

            case "del":
              if(isset($_POST['submit'])) {
            if(!$_POST['uid']) { // gucken ob == 0 ist
                echo "<p class=\"error\">\n";
                echo "    Bitte wählen sie einen Benutzer aus<br />\n";
                echo "    <a href=\"admin.php?section=admin&amp;site=user&amp;action=del\">\n";
                echo "        Zurück zum Formular\n";
                echo "    </a>\n";
                echo "</p>\n";
            } else {
                $sql "DELETE FROM
                            user_rights
                        WHERE
                            UserID = '".$_POST['uid']."';";
                mysql_query($sql) OR die(mysql_error());
                $sql "DELETE FROM
                            users
                        WHERE
                            ID = '".$_POST['uid']."';";
                mysql_query($sql) OR die(mysql_error());
                echo "<p>\n";
                echo "    Der User wurde gelöscht.\n";
                echo "</p>\n";
                echo "<p>\n";
                echo "    <a href=\"admin.php?section=admin&amp;".SID."\">\n";
                echo "        Zurück zum Adminbereich\n";
                echo "    </a>\n";
                echo "</p>\n";
            }
        } else {
            echo "<form ".
                 "action=\"admin.php?section=admin&amp;site=user&amp;action=del\" ".
                 "method=\"post\" ".
                 "class=\"formular\">\n";
            echo "    <p>\n";
            echo "        Benutzer löschen\n";
            echo "    </p>\n";
            echo "    <ol>\n";
            echo "        <li>\n";
            echo "            <label for=\"name\">Benutzer</label>\n";
            $sql "SELECT
                        Name, ID
                    FROM
                        users
                    ORDER BY
                        Name ASC;";
            $result mysql_query($sql) OR die(mysql_error());
            echo "                <select id=\"name\" name=\"uid\">\n";
            echo "                    <option value=\"0\" selected=\"selected\">Bitte einen User wählen</option>\n";
            while($row mysql_fetch_assoc($result)) {
                echo "<option value=\"".$row['ID']."\">".$row['Name']."</option>\n";
            }
            echo "                </select>\n";
            echo "        </li>\n";
            echo "        <li>\n";
            echo "            <input type=\"submit\" name=\"submit\" value=\"Benutzer löschen\" />\n";
            echo "            <input type=\"reset\" name=\"submit\" value=\"Zurücksetzen\" />\n";
            echo "            <input type=\"hidden\" name=\"".session_name()."\" ".
                                                    "value=\"".session_id()."\" />\n";
            echo "        </li>\n";
            echo "    <ol>\n";
            echo "</form>\n";
            echo "<p>\n";
            echo "    <a href=\"admin.php?section=admin&amp;".SID."\">\n";
            echo "        Zurück zum Adminbereich\n";
            echo "    </a>\n";
            echo "</p>\n";
        }
                break;

            default:
                echo "<p>\n";
                echo "    Bitte benutzen sie nur einen Link aus dem Adminmenu.\n";
                echo "    <a href=\"index.php?section=admin&amp;".SID."\">\n";
                echo "        Zurück zum Adminbereich\n";
                echo "    </a>\n";
                echo "</p>\n";
                break;
        }
    }
        echo "<p>\n";
        echo "    Willkommen im Bereich foobar\n";
        echo "</p>\n";
    }
?>

ThBodi
Mach die Datei übersichtlicher, so kannst Du die Datei besser pflegen. Außerdem solltest Du eine Templateengine (z.B. Smarty) nutzen, um den HTML-Code aus der php-Datei zu entfernen.

Soweit ich das sehe, überprüfst Du in Zeile 22 die Rechte und wenn das Rechte-Array nicht den string "Admin" enthält, werden die restlichen php-Direktiven ausgeführt, wenn "Admin" enthalten ist, passiert weiter nichts.
botty
und was muss ich da genau im rechte-array machen??

hier mal die variablen.php

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:

<?php
    // variablen.php
    $dateien = array();
    $dateien['news'] = "news.php";
    $dateien['gb'] = "index.php?section=gb";
    $dateien['gb_add'] = "index.php?section=gb_add";
    $dateien['gb_insert'] = "index.php?section=gb_insert";
    $dateien['admin'] = "admin.php";
    $admin_site = array();
    $admin_site['self'] = "admin_self.php";
    $admin_site['menu'] = "admin_menu.php";
    $admin_site['user'] = "admin_user.php";
    $allRights = array();
    $allRights['Admin'] = "admin_user.php";
    
?>
ThBodi
Ich glaube ganz ehrlich, dass Du noch nicht so weit bist, sowas zu programmieren. Setz' Deine Ziele bescheidener, so dass Du sie auch erreichen kannst.

Was Du hier bisher gepostet hast, ist ziemlich verworren und unstrukturiert, ein komplettes Redesign wäre da echt angebracht. Also: üben, üben, üben, viel Erfolg dabei!
lycoos
achja das ist doch von tut.php-q-net.de da steht doch sowas davon das man das n icht kopieren kann.....
botty
ähm ich hatte auch nicht vor hier irgendwas zu kopiern und habe auch nicht vor diese scripts zu verwenden ich wollte sie nur ausprobiern um mich ein bisschen in php reinzuarbeiten. Und ich glaube um ein tut zu verstehen muss man die scripte auch selbst anwenden aber wenn ihr das nur mit durchlesen schafft ... bitte.

@ThBodi: Ja ich glaube auch das ich noch nicht so weite bin um sowas zu programmiern aber ich habe dieses thema geöffnet das ich mir damit helfen lasse
[kamui]
botty, ich glaube wir können dir nicht die Hilfe geben, die du brauchst. Deutsches PHP-Forum, da wurde mir bisher immer sehr gut geholfen.