php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 18-06-2007, 15:24
Steve81
 Newbie
Links : Onlinestatus : Steve81 ist offline
Registriert seit: Mar 2007
Beiträge: 11
Steve81 ist zur Zeit noch ein unbeschriebenes Blatt
Question Login mit Adminrechte

Hallo zusammen,

ich habe folgendes Problem. Habe eine Webseite erstellt, bei der man sich einloggen kann. Dies funktioniert auch alles.
Die Benutzerverwaltung habe ich in einer MySQL Datenbank abgelegt. In dieser gibt es eine Spalte "recht" die mit "admin" oder "benutzer" belegt ist.
Ich möchte gerne beim Login darauf prüfen ob derjenige, der sich einloggt ein "admin" oder "benutzer" ist. Da ein "admin" mehr Funktionen später haben soll.

Wie schon gesagt das normale Login funktioniert. Könnte mir jemand sagen, was ich am unteren Quellcode ändern muss, dass das Login noch unterscheidet zwischen "admin" und "benutzer"

Formular:
HTML-Code:
<form method="post" action="./../controller/c_login.php">
   <table>
   	<tr>
   	<th algin="left">Benutzername:</th>
   	   <td><input type="text" name="username"></td>
   	</tr>
   	<tr>
   	<th algin="left">Passwort:</th>
  	   <td><input type="password" name="password" id"password"></td>
  	</tr>
  	<tr>
  	<th></th>
   	   <td><button name="login" type="submit" id="login" value="login">Login<button>&nbsp;&nbsp;
   	   <button type="reset" value="reset">Eingabe l&ouml;schen</button></td>
   	</tr>
 </form>
Überprüfung:
PHP-Code:
session_start();
include 
'../../anwendungskern/benutzerverwaltung.php'

if (isset(
$_POST['login'])) 

    
$id=check_user($_POST['username'], $_POST['password']); 
    if (
$id!=false
    {
        
login($id); 
    }
    else 
    {
         include 
'./../seiten/login_false.php'
    }

if (!
logged_in()) 
{
   include 
'./../seiten/login_false.php'
}  
else 
{
    include 
'./../seiten/logged_in.php'

Funktion:
PHP-Code:
function check_user($username$password$recht

    
$sql="SELECT id 
    FROM benutzer  
    WHERE username='"
.$username."' AND password=MD5('".$password."')
    LIMIT 1"

    
$resultmysql_query($sql) or die(mysql_error()); 
    if ( 
mysql_num_rows($result)==1
    { 
        
$benutzer=mysql_fetch_assoc($result); 
        return 
$benutzer['id']; 
    } 
    else 
    {
        return 
false
    }



function 
login($id

    
$sql="UPDATE benutzer
    SET session='"
.session_id()."' 
    WHERE id="
.$id
     
mysql_query($sql); 


function 
logged_in() 

    
$sql="SELECT id 
    FROM benutzer
    WHERE session='"
.session_id()."' 
    LIMIT 1"

    
$resultmysql_query($sql); 
      return ( 
mysql_num_rows($result)==1); 

Vielen Dank im Voraus.

Gruß
Nano
Mit Zitat antworten
  #2 (permalink)  
Alt 18-06-2007, 15:32
kuddeldaddeldu
 Registrierter Benutzer
Links : Onlinestatus : kuddeldaddeldu ist offline
Registriert seit: Sep 2006
Beiträge: 437
kuddeldaddeldu ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi,

schreib den Status in die Session und prüfe diesen an den relevanten Stellen.

LG
Mit Zitat antworten
  #3 (permalink)  
Alt 18-06-2007, 15:33
Griecherus
 PHP Senior
Links : Onlinestatus : Griecherus ist offline
Registriert seit: May 2005
Ort: Berlin
Beiträge: 1.036
Griecherus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Da gibt es so einige Methoden, simplere sowie komplizierte. Wenn es keine Notwendigkeit für eine aufwendigere Benutzerverwaltung geben sollte, dann könntest du deine Benutzer-Tabelle um eine Spalte "is_admin" erweitern, in der dann je nachdem, ob es sich bei Benutzer X um einen Admin handelt oder nicht auf 1 oder 0 steht.
Mit Zitat antworten
  #4 (permalink)  
Alt 18-06-2007, 15:51
Steve81
 Newbie
Links : Onlinestatus : Steve81 ist offline
Registriert seit: Mar 2007
Beiträge: 11
Steve81 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi,

kann man nicht so etwas programmieren, das auf "admin" oder "benutzer" prüft?
Mit Zitat antworten
  #5 (permalink)  
Alt 18-06-2007, 15:53
kuddeldaddeldu
 Registrierter Benutzer
Links : Onlinestatus : kuddeldaddeldu ist offline
Registriert seit: Sep 2006
Beiträge: 437
kuddeldaddeldu ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Natürlich kann man, ich habe Dir doch schon gesagt, wie Du das machen kannst.
Mit Zitat antworten
  #6 (permalink)  
Alt 18-06-2007, 18:05
Bersi667
 Newbie
Links : Onlinestatus : Bersi667 ist offline
Registriert seit: Mar 2007
Ort: Geldern/Duisburg
Beiträge: 87
Bersi667 ist zur Zeit noch ein unbeschriebenes Blatt
Bersi667 eine Nachricht über ICQ schicken
Angry verdammt noch eins...

Hey Leute,
ich weiss, dieser Post ist iwie dämlich, aber aus irgendeinem Grund finde ich den Fehler nicht, mein Script greift das obige auf und ergäntzt es um einige Teile!

PHP-Code:
<?php
include("../includes/config.inc.php"); // die datenbankverbindung
include ("../includes/user_check.inc.php");
if (isset(
$_POST['submit'])) 

    
// no injection start
    
$benutzer stripslashes($_POST['login_name']);
    
$benutzer mysql_real_escape_string($benutzer);
    
$passwort stripslashes($_POST['login_pw']);
    
$passwort mysql_real_escape_string($passwort);
    
$id check_user($benutzer$passwort); 
    if (
$id != false
    {
        
login($id); 
    }
    else 
    {
         echo 
"Bitte versuchen Sie es erneut!<br>";
         echo 
"<a href=\"$PHP_SELF\"><b></b></a>";
    }
}

elseif (!
logged_in()) 
{
   echo <<<LOGINFORM
    <td valign="middle" align="center" width="746px">
        <div id="MainCell">
            <form action="$PHP_SELF" method="post" name="form1" runat="server">
                <h5>Benutzername:</h5><input class="search" type="text" size="30" maxlength="40" name="login_name" /><br /></br />
                <h5>Passwort:</h5><input class="search" type="password" size="30" maxlength="40" name="login_pw" /><br /><br />
                <input name="submit" type="submit" class="searchSubmit" value="&nbsp;Login&nbsp;" />&nbsp;<a class="miniLink" href="lostPW.php">Passwort vergessen?</a>
            </form>
        </div>
    </td>
    LOGINFORM;
} else {
echo <<<LOGINFORMELSE
<td valign="top" align="justify" width="746px">
    <div id="MainCell">
        <a href="edit.php">Weiter</a>
           <a href="logout.php">logout </a>
    </div>
</td>
LOGINFORMELSE;
}
?>
Ich habe die Datei, welche die UserFunktionen enthält angepasst...erst spuckte der mir ne Fehlermeldungsreihe aus, das hab ich dann behoben bekommen und nu zeigt der mir nen PARSE_ERROR an..

Parse error: syntax error, unexpected $end in D:\Programme\xampp\htdocs\private\index.php on line 249

Im Header steht halt der übliche session_start()

sieht iwer den Fehler, such mich seit Stunden dumm und dämlich..

Danke im Vorraus,
Dennis
__________________
Musik beflügelt unseren Geist
Mit Zitat antworten
  #7 (permalink)  
Alt 18-06-2007, 18:22
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Du kannst die heredoc-Syntax nicht.
Das End-"Tag" muss am Anfang der Zeile stehen, uneingerückt, deshalb hasse ich diese Syntax.
Mit Zitat antworten
  #8 (permalink)  
Alt 18-06-2007, 18:25
Bersi667
 Newbie
Links : Onlinestatus : Bersi667 ist offline
Registriert seit: Mar 2007
Ort: Geldern/Duisburg
Beiträge: 87
Bersi667 ist zur Zeit noch ein unbeschriebenes Blatt
Bersi667 eine Nachricht über ICQ schicken
Standard

Damned, danke...

können schon, programmier seit einiger Zeit gerne damit, son Fehler ist mir aber auch noch nie passiert

Naja, danke schön..

Dennis
__________________
Musik beflügelt unseren Geist
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:34 Uhr.