| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

22-11-2010, 01:56
|
|
markge
Registrierter Benutzer
|
|
Registriert seit: Nov 2010
Beiträge: 4
|
|
Brauch hilfe bei Admin Menü
Hallo,
ich habe meinem Sohn mal eine Internetseite machen lassen, was auch alles geht, allerdings muss er sich nun auf verschiedenen seiten einloggen, um was zu ändern.
Eine Admin PHP mit Passwortabfrage habe ich am funktionieren, allerdings habe ich probleme damit. Ich möchte den Code für das ändern der Gallery, Termine, etc... mit in der admin.php drin haben, und je nach dem auf was ich im Menü klickt wird geladen.
Hier ein test script, was zwar bei test3 mit php info funktioniert, aber wenn ich anstadt php info einen anderen php code eingebe nur eine weisse seite bekomme. Denke das liegt daran, das der hinzugefügte php code auch action benutzt.
PHP-Code:
<?php
require_once("webdat.php"); // Link to the file with the public functions. // Handle login. session_start(); header ("Content-Type: text/html; charset=ISO-8859-1"); if (stristr($_SERVER["REQUEST_URI"], "?")) { $requesturi = substr($_SERVER["REQUEST_URI"], 0, strpos($_SERVER["REQUEST_URI"], "?")); $location = "Location: http://{$_SERVER["HTTP_HOST"]}{$requesturi}"; } else { $requesturi = $_SERVER["REQUEST_URI"]; $location = "Location: http://{$_SERVER["HTTP_HOST"]}{$requesturi}"; } if ($_REQUEST["action"] == "logout") { $_SESSION = array(); session_destroy(); header($location); exit; } if (!IsSet($_POST["GTlogin"]) && $_SESSION["GTlogin"] != "ok") { // If neither the login info is passed or a valid session is available we show the login screen. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <title></title> <style type="text/css" media="all"> </style> </head> <body> <form action="<?php echo $self;?>" method="post"> <fieldset> <legend>Nitrorace WebAdmin</legend> <?php if ($_GET["error"] == "yes") {?> <p>Error: Wrong username or password.</p> <?php } ?> <div> <label for="GTuser">Benutzer: </label> <input type="text" size="15" name="wser" id="wser" /> </div> <div> <label for="GTpass">Passwort: </label> <input type="password" size="15" name="pass" id="pass" /> <input type="submit" name="GTlogin" value="Login" /> </div> </fieldset> </form> </body> </html> <?php exit; } if ($_SESSION["GTlogin"] != "ok") { // If there is no session we try to log in the member. $wser = stripslashes(trim($_POST["wser"])); $pass = stripslashes(trim($_POST["pass"])); if ($username == $wser && $password == $pass) { $_SESSION["GTlogin"] = "ok"; header($location); exit; } else { header("{$location}?error=yes"); echo "<p>Couldn't find you in the database</p>"; exit; } } function checkUser() { // Checks if the username and password are correct. if ($_SESSION["GTlogin"] == "ok") { return TRUE; } else { return FALSE; } }
function printMenuItem($action, $text) { global $self; if (IsSet($_REQUEST["action"])) { if ($action == $_REQUEST["action"]) { echo "<a href=\"{$self}?action={$action}{$id}\" class=\"current\">{$text}</a>"; } else { if ($action == "") { if ($_REQUEST["action"] == "submitadd" || $_REQUEST["action"] == "submitedit" || $_REQUEST["action"] == "delete" || $_REQUEST["action"] == "submitcats") { echo "<a href=\"{$self}\" class=\"current\">{$text}</a>"; } else { echo "<a href=\"{$self}\">{$text}</a>"; } } else { echo "<a href=\"{$self}?action={$action}\">{$text}</a>"; } } } else { if ($action == "") { echo "<a href=\"{$self}\" class=\"current\">{$text}</a>"; } else { echo "<a href=\"{$self}?action={$action}\">{$text}</a>"; } } }
?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <title>Administration</title> <style type="text/css"> </style> </head> <body> <?php if (checkUser() == TRUE) { ?> <ol> <table cellspacing="0" width="100%" cellpadding="0" border="0"> <td width="100%" bgcolor="#D3B68E" height="23"> <p align="left"> <b> <font color="#FFCC66" size="2" face="arial"> <?php printMenuItem("gallery", "Gallery");?> <?php printMenuItem("report", "Berichte");?> <?php printMenuItem("term", "Termine");?> <a href="<?php echo $self;?>?action=logout">Logout</a></b> </ol></table></font> <?php
if ($_REQUEST["action"] == "edit" || $_REQUEST["action"] == "report") { ?>
<?php test2-----------------------------------------------------
<?php } elseif ($_REQUEST["action"] == "term") { ?> test3----------------------------------------------------- <?php phpinfo(); ?>
<?php } else {?> test1-----------------------------------------------------
<?php } } else { echo "<p>You have not entered the correct username/password combination.</p>"; } ?> </body> </html>
Gibt es eine andere läsung wie mann es machen könnte?.
|

22-11-2010, 10:30
|
|
rossixx
Registrierter Benutzer
|
|
Registriert seit: Jul 2003
Ort: Berlin
Beiträge: 461
|
|
wie wäre es wenn du verschiedene user rechte vergibtst:
z.b. gast, user, admin
je nachdem wer auf der seite ist bzw. mit welchen rechten, bekommt man entsprechendes zu sehen.
manchmal kann es auch hilfreich sein seine skripte auf einzelne seiten zu verteilen, so kann man besser nachvollziehen an welcher stelle welche werte ärger machen.
|

22-11-2010, 12:28
|
|
markge
Registrierter Benutzer
|
|
Registriert seit: Nov 2010
Beiträge: 4
|
|
User brauch ich nur 2 die volle rechte haben. es geht eigentlich darum, das mein Lütten sich nicht immer auf verschiedenen seiten einloggen braucht, sondern nur eine hat um alles zu ändern.
Wenn ich nun die admindateien für Gallery, Termine, Berichte, usw. inluden würde, liegen die ja ohne Passwortschutz da und können wenn jemand weis wie die heissen ausgeführt werden.
Die Gallegy besteht aus folgendes: Index.php - admin.php - daten.xml - dat.php
Termine und Berichte nutzen das selbe script, liegen aber in verschiedenen Ordnern: index.php - style.css - admin.php - config.php - content.dat
Wie wäre es denn, wenn ich einen ordner mache in dem die ganzen admin dateien kommen mit eine htaccess und ich die in der neuen admin.php über die einzelnen punkte in der navigation in einen extra frame oder so aufrufe? Sie wären dann geschütz gegen unberechtigten zugriff, lassen sich serverseitig dennoch ohne pass und wd ausführen.....
|

22-11-2010, 13:02
|
|
rossixx
Registrierter Benutzer
|
|
Registriert seit: Jul 2003
Ort: Berlin
Beiträge: 461
|
|
.htaccess is schon ne gute idee.
wenn du mit sessions arbeitest, dann würde man sich nur einmal einloggen und behält seine rechte, denn man kann seine rechte vergabe mit der session kombinieren.
und in denen dateien könntest du z.b.
PHP-Code:
<a href="formulare.php?session=<?php echo $session; ?>">Formulare </a>
<?php
if ($access > 3){ ?>
<a href="admin/test.php?session=<?php echo $session; ?>">Zahlungen </a>
<?php
}
?>
da gibt es zwei möglichkeiten mit sessions zu arbeiten:
1. cookie
2. datenbank
|

23-11-2010, 11:09
|
|
markge
Registrierter Benutzer
|
|
Registriert seit: Nov 2010
Beiträge: 4
|
|
Danke erst mal.
bin gerade dabei, eine admin php zu erstellen, wo ich mit include die verschiedenen Admindateien für die gallery, Termine etc... einbinde.
Sieht so aus.
Im Ordner PhpPage liegt die gallery.php, termine.php, berichte.php und die admin1.php.... Darin ist wieder ein Ordner database wo die datenbanken, config, ablageort bilder und die einzelnen admin dateien für die seiten liegen.
Nun brauch ich noch eine htaccess um den ordner database von aussen zu schützen, aber nur so, das ich serverseitig die dateien noch perr include in der admin1.php ausführen kann.
bei order deny,allow ist alles gesperrt, und es geht nix mehr.
wer weis rat.
|

23-11-2010, 11:17
|
 |
onemorenerd
 Moderator
|
|
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
|
|
Wenn du die Dateien beim Inkludieren über ihren Dateisystempfad ansprichst und nicht über HTTP, dann ist der Webserver überhaupt nicht beteiligt und folglich wird auch keine htaccess angewandt.
Also "include 'pfad/zur/datei.php';" statt "include 'http://example.com/pfad/zur/datei.php';".
|

23-11-2010, 14:52
|
|
rossixx
Registrierter Benutzer
|
|
Registriert seit: Jul 2003
Ort: Berlin
Beiträge: 461
|
|
"include 'pfad/zur/datei.php';"
ist es nicht eh besser - diese version zu nutzen??
oder wann wie sollte die
"include 'http://example.com/pfad/zur/datei.php';".
variante genutz werden? !?!?
|

23-11-2010, 15:16
|
 |
onemorenerd
 Moderator
|
|
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
|
|
Erste Variante, wenn du den Code der Datei einbinden willst, zweite Variante, wenn du die Ausgabe willst.
|

23-11-2010, 16:45
|
|
rossixx
Registrierter Benutzer
|
|
Registriert seit: Jul 2003
Ort: Berlin
Beiträge: 461
|
|
na logo
jetzt wo du es schreibst, is mir das auch klar, manchmal sollte ich nachdenken, bevor ich was frage!!!
|

23-11-2010, 18:32
|
|
markge
Registrierter Benutzer
|
|
Registriert seit: Nov 2010
Beiträge: 4
|
|
Nun bin ich fast fertig mit dem ganzen, aber irgendwie raff ich es mit dem Div Container nicht. Das ganze soll für meinen lütten ein kleines Geschenk zum Geburtstag am freitag sein. Bis dahin muss alles gehen. Abe rnur ein Kleines!!!!!!!!!! Das grosse liegt hier schon.
Habe eine Tabelle-Zeile, nachdem ich mich in der admin.php eingelogt habe, wo die verschiedenen Kategorien drin stehen.
Gallery - Termine - Berichte - Gästebuch - Logout
Wenn ich nun zb. auf Gallery klicke soll unter der Tabelle (Navigation) die gallery/admin.php erscheinen, so das ich die gallery bearbeiten kann.
Zu erwähnen ist noch, das in den Ordner gallery eine .htaccess drin muss, da die dortige admin.php keinen Benutzer/PW schutz mehr hat. Logisch, er soll sich ja nur noch einmal einloggen müssen um was zu ändern.
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|