Cookie Problem :-/

sunstyle

Mitglied
Hi Leute!
Vorneweg gleich eins: ch lese in diesem Forum schon wirklich lange, doch nun hab ich ein Prob womit ich net weiterkomme, und wollte mal fragen. In meiner Checkuser.php steht folgendes:

------

$result = mysql_query ($sql, $connID);

if (mysql_num_rows ($result) > 0) {

if ($status = admin) {
$datenrichtig = true;
$user = $username;
$user_eingeloggt = admin;
}
else {
$datenrichtig = true;
$user = $username;
$user_eingeloggt = normal;
}

} else {
// Die Benutzerdaten waren falsch.
$datenrichtig = false;

// Variable $user_eingeloggt erstellen.
$user_eingeloggt = false;
}

session_register ("user_eingeloggt");
session_register ("user");

------

Und nun will ich das es halt in dem cookie speichert ob der user eingeloggt is als admin oder normal, nur, egal wie ich es versuche, klappt es in meiner haupt datei nicht, ich will das es je nachdem ob er als admin oder als Normaler user den text anzeigt "eingeloggt als"

Der standart code der php sieht so aus:

------

<?
if ((session_is_registered ("user_eingeloggt")) AND ($user_eingeloggt)) {
echo "<center>";
echo "Logged in as";
echo "<br>";
echo "- $user -";
echo "<br>";
echo '<font size=1><a href="index.php?site=logout" align=center>:: logout ::</a>';
} else {
echo "<center>";
echo "Not logged in!";
echo "<br>";
echo "<br>";
echo '<font size=1><a href="index.php?site=login" align=center>:: login ::</a>';
echo "<br>";
echo '<font size=1><a href="index.php?site=register" align=center>:: register ::</a>';
}
?>

------

Wie mache ich es nun das es falls in der Variable user_eingeloggt "admin" steht, das dann da steht "Logged in as Admin"
anstelle von "Logged in as".
Naja und damit will ich halt weitere funktionen für admins einbauen nach dem Schema.
Thx 4 help :(
 
hoi, bin zwar auch noch net lange dabei,
aber es kann ja sein, dass ich mal nen fehler seh...:-)
if ($status = admin) {
kann es sein, dass es $status == admin heißen soll?
so weißt du ja nur der var $status den wert admin zu...
also, wenn das der fehler war - GUT!
wenn nicht - AUCH GUT! lol
ihr seht, ihr könnt mir nur freude machen :-)

cYa
victork
 
Ja es kann zwar sein das der Fehler da drin liegt aber ich wollte eigentlich erstmal wissen wie die haupt.php aussehen muss damit es funzt (abgesehen von dem Fehler wo ich kp hab ob der einer is :D)
 
Ich hab nu mal das hier probiert:

PHP:
<? 
if ((session_is_registered ("user_eingeloggt")) AND ($user_eingeloggt = normal)) { 
echo "<center>"; 
echo "Logged in as"; 
echo "<br>"; 
echo "- $user -"; 
echo "<br>"; 
echo '<font size=1><a href="index.php?site=logout" align=center>:: logout ::</a>'; 
}
elseif ((session_is_registered ("user_eingeloggt")) AND ($user_eingeloggt = admin)) {
echo "<center>"; 
echo "Logged in as ADMIN"; 
echo "<br>"; 
echo "- $user -"; 
echo "<br>"; 
echo '<font size=1><a href="index.php?site=logout" align=center>:: logout ::</a>'; 
} else { 
echo "<center>"; 
echo "Not logged in!"; 
echo "<br>"; 
echo "<br>"; 
echo '<font size=1><a href="index.php?site=login" align=center>:: login ::</a>'; 
echo "<br>"; 
echo '<font size=1><a href="index.php?site=register" align=center>:: register ::</a>'; 
} 
?>

Naja das funzt net so richtig, kann mir denn keiner helfen? :(
 
also innerhalb einer if abfrage muss man immer 2 == benutzen
sprich
($user_eingeloggt = normal)
muss zu
($user_eingeloggt == "normal")

werden
die " sind auch pflicht da es ein stringvergleich ist :-)

ansonsten wüdre ich den admin hier abfangen:

echo "- $user -";

if ($user == "admin")
{ echo "willkommen o herr und meister"; }
 
Ja es is ja so das net der user "admin" heisst sondern das der user (in meinem fall) sL*$uN heisst und den Status admin hat, nu hab ich das mit den doppelten "=" gemacht und die bedingung in anführungszeichen. Anfangs hat es gut geklappt, nur wenn ich meinen status auf admin änder und mich neu einlogge steht da immer noch nur: "Logged in as"

Ich dreh noch durch das muss doch was mit der haupt.php zu tun haben oder seh ich es falsch das...
PHP:
if (mysql_num_rows ($result) > 0) {
if ($status == "admin") {
  $datenrichtig = true;
  $user = $username;
  $user_eingeloggt = admin;
} 
else {
  $datenrichtig = true;
  $user = $username;
  $user_eingeloggt = normal;
}

} else {
  $datenrichtig = false;

  $user_eingeloggt = false;
}

session_register ("user_eingeloggt");
session_register ("user");
..eigentlich richtig is? Somit wird ja das Cookie richtig gesetzt, falls in der Spalte steht Admin wird der cookie gesetzt "admin" und falls was anders da steht kommt in das cookie halt "normal", dann is halt beim lesen des cookies irgendwas noch falsch oder? =/
(Man beachte das das net der einzige code is in der checkuser.php aber der restliche code wird wohl net zur problemfindung beitragen)
 
if (mysql_num_rows ($result) > 0) {
# status muss auch aus der db ausgelesen werden ... z.b:
$row = mysql_fetch_field(bla);
$status = $row['status'];

if ($status == "admin") {

$datenrichtig = true;

$user = $username;

$user_eingeloggt = admin;

}

else {

$datenrichtig = true;

$user = $username;

$user_eingeloggt = normal;

}



} else {

$datenrichtig = false;



$user_eingeloggt = false;

}
 
Jo ich hab vorher ja egschrieben das da net alles steht vorher steht zB noch

PHP:
$sql = "SELECT * FROM Benutzerdaten WHERE (Benutzername like '$username') AND (Kennwort = '$password')";

Darin wird ja alles ausgelesen wo der benutzername bla und das PW blubb is, somit auch der status oder?
 
ein eindeutiges jein :-)

mit mysql_query sagst der datenbank ja nur welche daten du haben möchtes ..

holen tust du die daten nur mit
mysql_fetch_row oder mysql_fetch_field ..
 
Zurück