Hallo liebe Community,
ich möchte mich erstmal vorstellen ich bin Christian und wohne am Bodensee. Ich habe erst vor 2 Wochen mit php angenfangen und bin noch ein absoluter Anfänger!!! Ich habe mir extra ein Buch gekauft, gelesen und die Übungen gemacht und alles hat bisher super funktioniert. Die Grundlagen sind mir bewusst.
Nun wollte ich ein kleines Projekt machen um meine fähigkeiten zu festigen und zu erweitern. Nichts großes. in einem Admin Control Panel kann ich bestimmte Daten in die Datenbank eintragen, editieren und lösche, dessen einträge einfach von der Mainpage ausgelesen werden sollen. Eine art Tabelle. Dummes Beispiel: Produkt Banane Kalorien 80kcal gewicht 200gramm etc. .. also nur was simples.
Angefangen habe ich mit dem Admin Control Panel. Dazu habe ich jetzt das Loginformular fertig gestellt. Während ich das nun aber gemacht habe ist mir folgende Frage gekommen. Wie kann ich denn wenn ich später mal Leute habe die Zugriff darauf bekommen zugriff nur auf bestimmte stellen zu gewähren?
Also zum Beispiel ich bzw. meine gruppe haben vollen Zugriff. Die andere gruppe darf nur Datenbankeinträge machen (die später von der Mainpage ausgelesen werden) , wieder eine andere darf eintragen aber auch editieren und dann vllt wieder eine die eintragen editieren und löschen darf (falls ich das ACP mal erweitere z.B. mit user hinzufügen etc. das andere das nicht können). Wie bekomm ich das hin?
Mein Loginformular sieht momentan so aus:
index.html
validateLogin.inc.php
config.inc.php
loginfehler.html
logout.php
Datenbank
Bitte steinigt mich nicht gleich ich habe die SuFu benutzt aber irgendwie war es nicht genau das was ich gesucht habe. Ich hoffe ihr könnt mir da helfen. Und wie gesagt habe das Buch vor 2 Wochen angefangen zu lesen und das ist mein aller erster Versuch. Hoffe ihr könnt mir verzeihen.
ich möchte mich erstmal vorstellen ich bin Christian und wohne am Bodensee. Ich habe erst vor 2 Wochen mit php angenfangen und bin noch ein absoluter Anfänger!!! Ich habe mir extra ein Buch gekauft, gelesen und die Übungen gemacht und alles hat bisher super funktioniert. Die Grundlagen sind mir bewusst.
Nun wollte ich ein kleines Projekt machen um meine fähigkeiten zu festigen und zu erweitern. Nichts großes. in einem Admin Control Panel kann ich bestimmte Daten in die Datenbank eintragen, editieren und lösche, dessen einträge einfach von der Mainpage ausgelesen werden sollen. Eine art Tabelle. Dummes Beispiel: Produkt Banane Kalorien 80kcal gewicht 200gramm etc. .. also nur was simples.
Angefangen habe ich mit dem Admin Control Panel. Dazu habe ich jetzt das Loginformular fertig gestellt. Während ich das nun aber gemacht habe ist mir folgende Frage gekommen. Wie kann ich denn wenn ich später mal Leute habe die Zugriff darauf bekommen zugriff nur auf bestimmte stellen zu gewähren?
Also zum Beispiel ich bzw. meine gruppe haben vollen Zugriff. Die andere gruppe darf nur Datenbankeinträge machen (die später von der Mainpage ausgelesen werden) , wieder eine andere darf eintragen aber auch editieren und dann vllt wieder eine die eintragen editieren und löschen darf (falls ich das ACP mal erweitere z.B. mit user hinzufügen etc. das andere das nicht können). Wie bekomm ich das hin?
Mein Loginformular sieht momentan so aus:
index.html
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>HDB-Login</title> </head> <body> <h1>Loginformular</h1> <form action="inc/validateLogin.inc.php" method="post"> <p></p><input type="text" name="username" />Benutzername</p> <p></ü><input type="password" name="password" /> Passwort</p> <input type="submit" name="login" value="Einloggen" /> </form> </body> </html>
PHP-Code:
<?php
session_start();
//Überprüfen, ob das Forumalr abgeschickt wurde und ob beide Angaben gemacht wurden.
if(isset($_POST['username'], $_POST['password'])
AND
strcmp(trim($_POST['username']),'') != 0
AND
strcmp(trim($_POST['password']),'') != 0) {
//Einbinden der Konfigurationsdatei
include_once 'config.inc.php';
//Erstellen der Verbindung zur MySQL-Datenbank
if(!$connection = mysql_connect($_config['host'], $_config['user'], $_config['password'])) {
die('Verbindung zum Datenbankserver konnte nicht hergestellt werden.' );
}
if (!mysql_select_db($_config['database'], $connection)) {
die('Die Datenbank ' . $_config['database'] . 'kann nicht verwendet werden. <br />)
MySQL-Error: <br />' . mysql_error());
}
/* SQL-Anweisung an die Datenbank senden, um zu sehen ob Daten existieren
* und auszulesen */
$sql = "SELECT
id
FROM
team
WHERE
username = '" . trim($_POST['username']) . "'
AND
password = '" . md5(trim($_POST['password'])) . "'";
$res = mysql_query($sql) or die('Error[SELECT|User]: <br />
<pre>' . $sql . '</pre>
<br />
MySQL-Error: ' . mysql_error());
/*Nur wenn genau ein Datensatz selektiert wurde wird der User eingeloggt.
* In allen anderen Fällen wird er zurück zum Loginforumlar geleitet.*/
if(mysql_num_rows($res) !=1) {
header('Location: ../loginfehler.html');
}
/*Der Schlüssel 'LoggedIn' erhält den Wert 'true'. So kann später überprüft werden,
* ob der User eingeloggt ist oder nicht.*/
$_SESSION['loggedIn'] = true;
$_SESSION['id'] = $user->id;
/*Der Login war erfolgreich un der User wird in das ACP weitergeleitet */
header('Location: ../index.php');
exit();
?>
PHP-Code:
<?php
$_config = array();
$_config['host'] = 'localhost';
$_config['user'] = 'xxx';
$_config['password'] = 'xxx';
$_config['database'] = 'xxx';
?>
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Fehler beim Login</title> <meta http-equiv="refresh" content="5; URL=loginformular.html"> </head> <body> <h1>Es ist ein Fehler beim Login aufgetreten.</h1> <p>Eventuell handelt es sich nur um einen Tippfehler. Bitte versuchen Sie es nochmals.</p> Sie werden nach 5 Sekunden automatisch weitergeleitet. </body> </html>
PHP-Code:
<?php
session_start();
$_SESSION['loggedIn'] = false;
session_destroy();
header( 'Location: loginformular.html' );
exit();
?>
Code:
-- phpMyAdmin SQL Dump -- version 3.2.4 -- http://www.phpmyadmin.net -- -- Host: localhost -- Erstellungszeit: 13. August 2010 um 00:12 -- Server Version: 5.1.41 -- PHP-Version: 5.3.1 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; -- -- Datenbank: `hdb` -- -- -------------------------------------------------------- -- -- Tabellenstruktur für Tabelle `team` -- CREATE TABLE IF NOT EXISTS `team` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(50) NOT NULL, `password` varchar(35) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ; -- -- Daten für Tabelle `team` -- /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Bitte steinigt mich nicht gleich ich habe die SuFu benutzt aber irgendwie war es nicht genau das was ich gesucht habe. Ich hoffe ihr könnt mir da helfen. Und wie gesagt habe das Buch vor 2 Wochen angefangen zu lesen und das ist mein aller erster Versuch. Hoffe ihr könnt mir verzeihen.
Kommentar