Riesen Fragezeichen bezüglich Login und Sessions

  • Themenstarter Themenstarter Kira2112
  • Beginndatum Beginndatum
das is natürlich auch ne Variante...das Problem is bloß, dass bei den Tagesmüttern andere Sachen gespeichert werden sollen, als bei den Eltern.....als Beispiel: den Eltern ist die Anzahl ihrer Kinder zugeordnet, den Muttis ihre gesprochenen Sprachen usw....u für die Kinder gibs nebenbei bemerkt auch noch ne Tabelle...(Zugehörigkeit zu bestimmten Eltern, Tagesmuttis, GebDaten usw)
 
Ok,
ich versuche mal zu verstehen wie deine Tabellenstruktur momentan aussieht:

Eltern Tabelle:
ID NAME PASS KINDER

Muttis Tabelle:
ID NAME PASS SPRACHE

So dadraus machst du folgendes:
Benutzertabelle:
ID NAME PASS GRUPPE SPRACHE
1 Elfriede secret 1 0
2 Hannes secret 2 1

SprachtabelIe:
ID SPRACHE
0 keine zugeordnet
1 DEUTSCH

Kindertabelle:
ID Kinder
2 2

Gruppentabelle:
ID NAME
1 Muttis
2 Eltern

So nun haben wir die dritte Normalform!
Jetz kannst du alle Tabellen verbinden so wie du es haben möchtest.

Beispiel Alle Muttis!
SQL:
SELECT benutzertabelle.name, gruppentabelle.name, sprachtabelle.name FROM benutzertabelle WHERE gruppe = 1
LEFT JOIN Gruppentabelle ON benutzertabelle.gruppe = gruppentabelle.id
LEFT JOIN Sprachtabelle ON benutzertabelle.sprache = sprachtabelle.id

usw. ...
 
Zuletzt bearbeitet von einem Moderator:
Sind diese Gruppen abhängig von einander? Wenn nein dann kanst soviel Hauptgruppen machen wie du wilst. Mit untergruppen wird das ganze ein wenig schwieriger ist aber auch realiesieren.

Id Gruppe Prefix
0----1-------1
1----2-------1
2----3-------2
3----4-------2
4----5-------5

unsw.

So kannst du 1 Tabelle mit x Gruppe + x Untergruppe erstellen.


Wen du mit nur Hauptgruppen auskommt ist noch leicher da kanste soviel gruppen erstellen wie du willst 10 oder 100 oder ...

Mfg Splasch
 
Zuletzt bearbeitet:
also, ich habe bis jetzt (noch) folgende Tabellen:

tbl_Eltern tbl_ Muttis
( (
E_ID M_ID
E_Name M_Name
E_Vorname M_Vorname
E_Strasse M_Strasse
E_PLZ M_PLZ
E_Wohnort M_Wohnort
E_AnzKinder M_Anmeldename
E_Anmeldename M_Passwort
E_Passwort )
)

tbl_Kinder
(
K_ID
K_EID
K_MID
K_Name
K_Vorname
K_GebDatum
K_Geschlecht
)

Die einzige Abhängigkeit besteht zwischen tbl_Eltern und tbl_Kinder und tbl_Kinder und tbl_Muttis.... Die Tabellen Eltern und Muttis haben DIREKT nix mit einander zu tun.
 
Aaaaaaaalso, ich hab jetzt rumprobiert wie ne wilde und komme net zum gewünschten ziel...

hab jetzt folgende Dateien:

login.php

PHP:
$mysqlhost="localhost";
$mysqluser="root";
$mysqlpwd="";

$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die ("verbindungsversuch fehlgschlagen");
$db="tagesmuttis";

mysql_select_db($db, $connection) or die ("Datenbank konnte nicht ausgewählt werden");

session_start();  

// Benutzerangaben prüfen

$pass = mysql_real_escape_string($_POST['pass']);  
$user = mysql_real_escape_string($_POST['user']);  

$sql = "SELECT benutzer, passwort, gruppe FROM tbl_users   
WHERE benutzer = '$user' AND passwort = '$pass' LIMIT 1;";  

$res = mysql_query($sql, $db);  
$num = mysql_num_rows($res);  
$row = mysql_fetch_assoc($res);  

//Session Variablen setzen 
if ($num > 0) {  
$_SESSION['group'] = $row['gruppe'];  
$_SESSION['user'] = $row['benutzer'];  
header("Location: start.php");  
} else { 
header("Location: index.php");
}


dann die index.php

PHP:
<form id="form1" name="form1" method="post" action="login.php">
          <label>Benutzername
          <input type="text" name="user" />
          </label>
                <br />
                <label>Passwort
                <input type="text" name="pass" />
                </label>
                <p>
                  <label>
                  <input type="submit" name="Submit" value="Senden" />
                  </label>
          </p>
        </form>


und die start.php

PHP:
<?php
// Wenn unsere SESSION Variablen gesetz sind! 
if (isset($_SESSION['group'] and isset($_SESSION['user'])){ 
// Nun prüfen wir welcher Gruppe der eingeloggte Benutzer angehört 
if ($_SESSION['group'] == "Eltern"){ 
// Hier schreibts du dann deinen Code hin der nur für die Eltern ist! 
<h1> Hallo Elternteil </h1>
}elseif ($_SESSION['group'] == "Mutti"){ 
// Hier schreibst du dann deinen Code hin der nur für die Muttis ist! 
<h1> Hallo Tagesmutti! </h1>
}else{ 
echo "Gruppe unbekannt!"; 
} 
}else{ 
// Ansonsten wieder auf die Seite mit dem Login Form umleiten! 
//header("Location: index.php"); 
}  

?>


passieren tut beim ausführen dieser scripte nur eins: er leitet mich ständig auf das Formular zurück.... was kann ich noch tun?Hab echt keine ahnung mehr, wo der fehler liegt!
 
Zurück