login --- modus geht nicht
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
benutzer
counter
datei
ergebnis
error
inhalt
kennwort
login
menu
pawort
quatsch
recht
reine vermutung
section
sektion
startseite
tabelle
user
username
zeile
-
also irgendwie ich ahb in der tabelle users von mir eine spalte rang angelegt admins haben da admin und normale user halt normal
der login funzt nur das mit dem rang igendwie net so hier mal der code:
<?php
session_start();
?>
<?php
include "connect.inc.php";
$username = $_POST["username"];
$passwort = md5($_POST["password"]);
$abfrage = "SELECT username, passwort, rang FROM users WHERE username LIKE '$username' LIMIT 1";
$ergebnis = mysql_query($abfrage);
$row = mysql_fetch_object($ergebnis);
echo '<table cellspacing="0" cellpadding="0" style="width: 400px; border-width: 1px;border-color: #000000;" border="1" bgcolor="#5F5F5F">
<tr><td align="center">';
if($row->passwort == $passwort)
{
$_SESSION["username"] = $username;
echo "Login erfolgreich. <br> Schlie?e dieses Fesnter und Aktualiesiere die GP-Seite.";
if ($row['rang'] == "admin"){
$_SESSION["rang"] = "admin";
echo "Login erfolgreich. <br> Schlie?e dieses Fesnter und Aktualiesiere die PG-Seite.
<br> <a href=\"geheim.php\">Gesch?tzer Bereich</a>";
}
}
else
{
echo "Benutzername und/oder Passwort waren falsch. <a href=\"login.php\">Login</a>";
}
echo '</td></tr></table>'
?>
so dann hier die seite geheim.php:
<?
session_start();
if(!isset($_SESSION["username"]))
{
echo "Bitte erst <a href=\"login.php\">einloggen";
exit;
}
if (isset($_SESSION["rang"])) {
if ($_SESSION["rang"] == "admin") {
echo '<table cellspacing="0" cellpadding="0" style="width: 400px; border-width: 1px;border-color: #000000;" border="1" bgcolor="#5F5F5F">
<tr><td align="center">
<a href="_add.php?kategorie=news_insert">News schreiben</a><br>
<a href="_add.php?kategorie=download_insert">Sektion Downloads bearbeiten</a><br>
<a href="_add.php?kategorie=agb_insert">Sektion AGB bearbeiten</a><br>
<a href="_add.php?kategorie=projekt_insert">Sektion Projekt bearbeiten</a><br>
<a href="_add.php?kategorie=team_insert">Sektion Team bearbeiten</a><br>
Nur bei News muss der Titel und Autor angegeben werden.</td></tr></table>';
}
}
?>
also wie gesagt es geht alles nur das mit dem admin nicht -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
?hm ich hab ma kruz dr?ber geschaut
also
$_SESSION["rang"] sollte entweder den inhalt "user" oder "admin" haben
$_SESSION["user"] sollte den username haben
$_SESSION["passwort"] sollte das passwort des user haben
das ganze kann man zwar in eine session zusammen fassen, aber bei kleinen sites is das quatsch
so jetzt fragste in jeder site ab
if(isset($_SESSION["user"]) && isset($_SESSION["passwort"]) && isset($_SESSION["rang"])) {
// hier ?berpr?fste, ob das pw zum usernamen passt und der rang auch passt
$eingeloggt = true;
if($_SESSION["rang"] == 'admin') {
$rang = true;
} else {
$rang = false
} else {
$eingeloggt = false;
}
so jetzt kannste einfach per
if($eingeloggt && $rang) { } abfragen, ob der user eingeloggt is und admin rechte hat
durch
if($eingeloggt && !$rang) {} abfragen, ob der user eingeloggt is, aber nur user rechte hat
und durch
if(!$eingeloggt) { } ob der user nich eingeloggt is -
Dein Problem ist ganz einfach.
du machst mysql_fetch_object(), behandelst $row aber wie ein array.
mache einfach $row->rang anstatt $row['rang'] -
shok das d?rfte kein unterschied machen naja aber das is keine kleine seite das soll nur erstma ein anfang sein das wird noch viel mehr dennoch versteh ich das irgendwie nicht so lucas
-
tja jetzt k?nnte man r?tsel raten spielen, aber es w?re dochsehr nett zu sagen, wenn man dir schon helfen will, was du nich verstehst oder wo du probs hast
denn ich sehen keine einzige stelle, die nicht zu verstehen is
man sollte nat?rlich ein grundverst?ndniss von php haben *alopex_imitier* -
naja das kann ich schon nur ich w?rd eben auch gern wissen wegen was meine methode nicht funktioniert
wer ein bsp sehen will hier:
http://gmaker.gm.ohost.de/GP/index.php?section=Startseite -
sorry wegen doppelpost aber sonst sieht das evtl niemand mehr
lucas hier ich ahbe ein problem nachdem ich es schon bearbeitet habe XD:
Parse error: parse error, unexpected T_ELSE in /usr/export/www/hosting/gmaker/GP/index.php on line 14
nach dem einem false hab ich schon das; gemacht aber jetzt wei? ich net wie das mit dem else gemeint ist^^ -
mhh
ich versteh dein prob nich
aber gib am besten gleich noch code mit an, auf den du dich beziehst ;)
zur fehlermeldung
ich denke ma du hast } vergessen, aber das is ne reine vermutung -
ich hab kopiert und das geht net XD keine ahnung wo du das vergessen hast also hier die datei:
<?//index.php
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">';
echo '<html><head>
<title>Games Page -- '.$_GET['section'].'</title>
<link href="page.css" rel="stylesheet" type="text/css"></head><body backgrund="background.jpg">
<link rel="shortcut icon" href="favicon.ico">';
if(isset($_SESSION["user"]) && isset($_SESSION["passwort"]) && isset($_SESSION["rang"])) {
// hier ?berpr?fste, ob das pw zum usernamen passt und der rang auch passt
$eingeloggt = true;
if($_SESSION["rang"] == 'admin') {
$rang = true;
} else {
$rang = false;
}
}
else {
$eingeloggt = false;
}
echo "<div id=\"root\">";
echo "<div id=\"links\">";
include "menu.php";
echo "</div>";
echo "
<div id=\"mitte\">";
include "inhalt.php";
echo "</div>";
echo "<br style=\"clear:both;\" />";
echo "</div>";
echo "</body>";
echo "</html>";
?>
und die andere datei menu.php:
<?
session_start();
echo '<html><head>
</head><body background="background.JPG">
<table cellspacing="0" cellpadding="0" class="menue"><tr><td width="208">
<br><br><br><br><br><br><br>
<a href="index.php?section=Startseite">Startseite</a><br>
<a href="index.php?section=Team">Team</a><br>
<a href="index.php?section=Download">Download</a><br>
<a href="index.php?section=Projekt">Projekt</a><br>
Community<br>
(auser betrieb)<br>
<a href="/GP/board/burningbook/">Gäestebuch</a><br>
<a href="index.php?section=Banner">Banner</a><br>
<a href="index.php?section=Links">Links</a><br>
<a href="index.php?section=AGB">AGB</a><br>';
if(!isset($eingeloggt)) {
echo ' <a href="login.php" target="_blank">LogIn</a><br>';
}
if(isset($eingeloggt) && !isset($rang)) {
echo ' <a href="index.php?section=Startseite&action=logout">LogOut</a><br>';
if(isset($eingeloggt) && isset($rang)) {
$_SESSION["admin"] = "true";
echo ' <a href="geheim.php" target="_blank">Adminbereich</a>';
}
//counter
$userip = $REMOTE_ADDR;
$server ="localhost";
$Benutzer = "gmaker";
$Kennwort = "harvest-moon";
$datenbank = "gmaker";
$tabelle = "counter";
$zeit = "24";
$verbindung = mysql_connect ($server,$Benutzer,$Kennwort);
mysql_select_db("$datenbank", $verbindung);
$sql = "SELECT * FROM $tabelle WHERE ip = '$userip'";
$ergebnis = mysql_query($sql, $verbindung);
while ($zeile = mysql_fetch_array($ergebnis))
{
$userip2 = $zeile[ip];
$timepast = $zeile[time];
}
mysql_select_db("$datenbank", $verbindung);
$sql2 = "SELECT * FROM $tabelle";
$ergebnis2 = mysql_query($sql2, $verbindung);
$counter = mysql_num_rows($ergebnis2);
$timefuture = time()-3600*$zeit;
if($userip == $userip2 && $timepast > $timefuture)
{
$counter = $counter + 0;
}else{
$counter = $counter + 1;
}
$ip = getenv("REMOTE_ADDR");
$timenow = time();
#tr?gt ihn in die Tabelle ein
$sqlInsert = "INSERT INTO $tabelle VALUES ('$counter', '$ip', '$timenow');";
$result = mysql_query($sqlInsert);
echo " Besucher:<br>
<font face='Verdana' color='#ff0000' size='2'><b>".$counter." </b></font><br>";
echo '<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></tr></td></table>';
?>
-
-.- -.- -.-
wieso machst du auch zwei } nach der else schleife?
edit :
upps vertan
mom ich such noch ma eben
edit2:
n? is doch alles richtig -
ich versteh das auch net ein } fehlt XD
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage