Hello benny,
ich möchte gerne einen Passwortverwaltung für mehrere User
Ok, bis hierher konnte ich es verstehen
via PHPmyAdmin durch eine MySQL Datenbank realisieren.
Nun wird es diffus. Möchtest Du für den phpMyAdmin eine Userverwaltung einrichten?
Oder möchtest Du die MySQL-Usertabellen "nur" mit phpMyAdmin verwalten?
Hat jemand Erfahrung damit
Ja. Im Prinzip schon. Aber: ...
Du müsstest spezifizieren, auf was die User einen (beschränkten) Zugriff haben sollen.
Sollen sie auf die MySQL-Datenbank direkten Zugriff haben, also z.B. über Port 3306,
oder sollen sie über ein HTTP-Interface auf Tabellen der Datenbank (beschränkten) Zugriff
haben. Dann wird es nämlich komplizierter. Der Erstzugriff wird immer erst durch einen
Stellvertreter stattfinden müssen, der evtl. die gültigen Rechte auslesen darf. Dann muss
auf der MySQL-Zugriff auf den tatsächlichen User innerhalb des PHP-Scriptes umgeschaltet werden
http://dev.mysql.com/doc/refman/5.1/en/mysql-change-user.html und
http://de2.php.net/manual/en/function.mysql-change-user.php
Alternativ kann man auch eine zweite Connection zum DBMS eröffnen.
und mit der Einbindung in index.php Datei.
Da kann ich Dir nun wieder nicht folgen, weil ich nicht weiß, was deine "index.php" alles
leisten soll später, oder ob es auch eine "login.php" gibt usw.
Ich bekomme einfach nicht den connect zu der Datenbank Anbindung
hin!
Wie wird denn die Verbindung aufgebaut und welche Statusmeldungen der Datenbank oder
Fehlermeldungen der API (PHP) kommen?
<?php
// Session starten wenn ?section=admin geöffnet wurde
if(isset($_GET['section']) AND ("admin" == $_GET['section'])) {
session_start();
if(!isset($_SESSION['IP'])) {
$_SESSION['IP'] = $_SERVER['REMOTE_ADDR'];
}
if($_SESSION['IP'] != $_SERVER['REMOTE_ADDR']) {
echo "<p>\n";
echo " <a href="/">Zurück zur Homepage</a>\n";
echo "</p>\n";
die(); // Die Abarbeitung beenden sofort
}echo "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n";
echo " "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\n";
echo "<html>\n";
echo " <head>\n";
echo " <title>index.php</title>\n";
echo " <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />\n";
echo " <link rel="stylesheet" type="text/css" href="page.css" />\n";
echo " </head>\n";
echo " <body>\n";
echo " <table style="width: 100%">\n";
echo " <tr>\n";
echo " <td colspan="2">\n";
include "banner.php";
echo " </td>\n";
echo " </tr>\n";
echo " <tr>\n";
echo " <td style="width: 200px">\n";
include "menu.php";
echo " </td>\n";
echo " <td>\n";
include "inhalt.php";
echo " </td>\n";
echo " </tr>\n";
echo " </table>\n";
echo " </body>\n";
echo "</html>\n";
?>
Nur für zukünftige Postings:
HTML benötigen wir hier für die Problemlösung nicht, denn es geht ja nicht um HTML, sondern um PHP und MySQL. Außerdem solltest Du Dir von vornherein angewöhnen, Aufgaben in Funktionen aufzuteilen, die ganz spezielle Fehlerwerte (Results, Statusmeldungen) zurückgeben.
Es hat sich in der Praxis bewährt, den Funktionen ein Fehlerergebnis beizubringen.
0 = kein Fehler
1 = ...
2 = ...
Da bist Du frei in der Gestaltung, nur die 0 für kein Fehler ist irgendwie Standard.
Und die Daten tauschst Du dann über einen "Blockbuffer" aus. Bei PHP beiten sich da referenzierte Arrays als Funktionsargument an, also beispielsweise so:
function open_db (&$_dbdata)
{
if (!is_array($_dbdata) and ....) return 1; ### Fehler bei der Datenübergabe
## hier alles machen...
## Alles OK bis zum Schluss?
return 0;
}
Sowie die Schachtelung in Bedingsebenen zu tief wird, darüber nachdenken, ob sich stattdessen nicht eine eigene Funktion lohnt. Leider kennt PHP keine Private Functions...
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)
![](http://bitworks.de/~selfHTML/Virencheck.gif)