php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack (3) Themen-Optionen Thema bewerten
Alt 19.08.2008, 18:15  
Neuer Benutzer
 
Registriert seit: 19.08.2008
Beiträge: 6
killerkretsche befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] PHP/Mysql login script

Hallo ich habe mir einen login script gebastelt mit mysql abfrage und wollte nun admins in admin menü einloggen lassen und mitglieder nur in mitglieder menü (dass alle benutzer in der gleichen tabelle mit adminstatus= 0 oder 1 stehen) und nun möchte ich das bei den admin login halt den login script so ändern
PHP-Code:
<?php 
// Session starten
session_start ();

// Datenbankverbindung aufbauen 
$connectionid mysql_connect ("localhost""web12""Passwort"); 
if (!
mysql_select_db ("usr_web12_1"$connectionid)) 

  die (
"Keine Verbindung zur Datenbank"); 


$sql "SELECT "
    
"Id, AdminStatus, Nickname, Nachname, Vorname "
  
"FROM "
    
"benutzerdaten "
  
"WHERE "
    
"(Nickname like '".$_REQUEST["name"]."') AND "
    
"(Kennwort = '".md5 ($_REQUEST["pwd"])."')"
$result mysql_query ($sql); 

if (
mysql_num_rows ($result) > 0

  
// Benutzerdaten in ein Array auslesen. 
  
$data mysql_fetch_array ($result); 

  
// Sessionvariablen erstellen und registrieren 
  
$_SESSION["user_id"] = $data["Id"];
  
$_SESSION["user_admin"] = $data["Adminstatus"]; 
  
$_SESSION["user_nickname"] = $data["Nickname"]; 
  
$_SESSION["user_nachname"] = $data["Nachname"]; 
  
$_SESSION["user_vorname"] = $data["Vorname"]; 


  
header ("Location: ../de/deutsch_offline.php"); 

else 

  
header ("Location: ../de_off_log-in.php?fehler=1"); 

?>
so und hier habe ich schon die db anfragen gemacht aber wie setze ich es nun um das bei den login 1 z.b. nur members dürfen und bei 2 z.b. nur admins, so zu teil 2 der log-in script:
PHP-Code:
<?php 
if (isset ($_REQUEST["fehler"])) 

  echo 
"Die Zugangsdaten waren ungültig."

?> 
<form action="include/login.php" method="post"> 
  Admin Nickname: <input type="text" name="name" size="20"><br><br>
  Admin Passwort: <input type="password" name="pwd" size="20"><br><br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" value="Login"> 
</form>
In Klammern die sachen die geschafft habe xD

Geändert von killerkretsche (19.08.2008 um 18:40 Uhr).
killerkretsche ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 20.08.2008, 00:11  
Erfahrener Benutzer
 
Benutzerbild von zwerg
 
Registriert seit: 12.08.2005
Beiträge: 437
zwerg
Standard

Bitte, bitte lern Deutsch bevor du hier fragst, sonst versteht das ja kein Mensch...
zwerg ist offline  
Alt 20.08.2008, 07:34  
Erfahrener Benutzer
 
Registriert seit: 07.07.2008
Beiträge: 208
homekiller befindet sich auf einem aufstrebenden Ast
Standard

meinste das nur admin z.B. nen bestimmten bereich sehen könnnen oda wie meinste das?
homekiller ist offline  
Alt 20.08.2008, 08:54  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Da niemand dein Geschreibe versteht, habe ich mal meine Glaskugel hervorgeholt. Die blieb zwar auch halb trübe, aber dann habe ich doch noch etwas gesehen:
PHP-Code:
<?php 
// Session starten
session_start ();
// Datenbankverbindung aufbauen 
$connectionid mysql_connect ("localhost""web12""Passwort"); 
if (!
mysql_select_db ("usr_web12_1"$connectionid)) { 
  die (
"Keine Verbindung zur Datenbank"); 

$sql "
    SELECT 
        id, 
        adminstatus, 
        nickname, 
        nachname, 
        vorname 
    FROM 
        benutzerdaten    
    WHERE 
        nickname = '" 
$_POST["name"] . "' 
    AND
        kennwort = '" 
md5($_POST["pwd"]) . "'"
$result mysql_query ($sql) or exit(mysql_error()); 

if (
mysql_num_rows($result) == 1){ 
    
// Benutzerdaten in ein Array auslesen. 
    
$data mysql_fetch_assoc($result); 
    
// Sessionvariablen erstellen und registrieren 
    
$_SESSION array_merge($_SESSION$data);
    if (
$data["adminstatus"] == 1){
        
header ("Location: ../de/adminseite.php");    // Adminseite
    
}
    else{
        
header ("Location: ../de/deutsch_offline.php");    // Normale Seite
    
}

else { 
    
header ("Location: ../de_off_log-in.php?fehler=1"); 

?>
__________________
Gruss
L
lazydog ist offline  
Alt 20.08.2008, 09:47  
Erfahrener Benutzer
 
Registriert seit: 07.07.2008
Beiträge: 208
homekiller befindet sich auf einem aufstrebenden Ast
Standard

ich weiß ja nicht was du so von sicherheit hälst aber das ist nicht sicher
PHP-Code:
[man]$sql "SELECT "
    
"Id, AdminStatus, Nickname, Nachname, Vorname "
  
"FROM "
    
"benutzerdaten "
  
"WHERE "
    
"(Nickname like '".$_REQUEST["name"]."') AND "
    
"(Kennwort = '".md5 ($_REQUEST["pwd"])."')"; [/man
schonma was von sql injection gehört?
naja wenn du das haben willst das manche teile nur für admin angezeigt werden, würde ich sagen packst noch nen
PHP-Code:
$session[admin] = true
rein, und dann fragste einfach mit if ab ob das admin ist wenn ja lässte anzeigen sonst halt nich, ist doch eigendlich ganz easy

mfg homekiller
homekiller ist offline  
Alt 20.08.2008, 10:20  
there's only one psycho
 
Benutzerbild von PsychoEagle
 
Registriert seit: 21.08.2007
Beiträge: 1.283
PHP-Kenntnisse:
Anfänger
PsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer Mensch
PsychoEagle eine Nachricht über ICQ schicken PsychoEagle eine Nachricht über Skype™ schicken
Standard

Code:
$session[admin] = true; 

Die schreibweise soll man nicht benutzen. Indizes sollte man in einfache oder doppelte Anführungszeichen setzen. Ausserdem ist $session != (ungleich) $_SESSION und somit fast unnütz (je nach zusammenhang variiert )

Code:
$_SESSION['admin'] = true; 


Und wie schon angesprochen SQL-Injection

Hier mit Lösungsbeispielen: http://de.wikipedia.org/wiki/SQL_Injection#PHP
__________________
"Weaseling out of things is important to learn. It's what separates us from the animals ... except the weasel." (Homer J. Simpson)

Geändert von PsychoEagle (20.08.2008 um 10:26 Uhr).
PsychoEagle ist offline  
Alt 20.08.2008, 11:15  
Neuer Benutzer
 
Registriert seit: 19.08.2008
Beiträge: 6
killerkretsche befindet sich auf einem aufstrebenden Ast
Standard

hmm also
PHP-Code:
<?php
// Session starten
session_start ();

// Datenbankverbindung aufbauen
$connectionid mysql_connect ("localhost""root""mboiuknetain");
if (!
mysql_select_db ("seite"$connectionid))
{
  die (
"Keine Verbindung zur Datenbank");
}

$sql "SELECT ".
    
"Id, Adminstatus, Nickname, Nachname, Vorname ".
  
"FROM ".
    
"benutzerdaten ".
  
"WHERE ".
    
"(Nickname like '".$_REQUEST["name"]."') AND ".
    
"(Kennwort = '".md5 ($_REQUEST["pwd"])."')";
$result mysql_query ($sql);
//Adminstatus überprüfen
$admin Where $_SESSION['admin'] = 1$showcontent ,
$keinadmin Where $_SESSION['admin'] = 0$hidecontent
if (mysql_num_rows ($result) > 0)
{
  
// Benutzerdaten in ein Array auslesen.
  
$data mysql_fetch_array ($result);

  
// Sessionvariablen erstellen und registrieren
  
$_SESSION["user_id"] = $data["Id"];
  
$_SESSION["user_admin"] = $data["Adminstatus"];
  
$_SESSION["user_nickname"] = $data["Nickname"];
  
$_SESSION["user_nachname"] = $data["Nachname"];
  
$_SESSION["user_vorname"] = $data["Vorname"];
  
$_SESSION['admin'] = 1;

  
header ("Location: ../de/deutsch_offline.php");
}
else
{
//Inhalt anzeigen oder nicht
  
$showcontent header ("Location: ../de_off_log-in.php?fehler=1");
  
$hidecontent header ("Location: ../de_off_log-in.php?fehler=2");
}
?>
oder wie jetzt? ja das mit sql injection kommt noch ich wollte ja nur erstmal gucken wie man soetwas machen kann xD ist gut das ihr mir das sagt

Geändert von killerkretsche (20.08.2008 um 11:40 Uhr).
killerkretsche ist offline  
Alt 20.08.2008, 11:27  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von killerkretsche Beitrag anzeigen
ich wollte ja nur erstmal gucken wie man soetwas machen kann
hab ich dir ja gesagt
__________________
Gruss
L
lazydog ist offline  
Alt 20.08.2008, 12:16  
there's only one psycho
 
Benutzerbild von PsychoEagle
 
Registriert seit: 21.08.2007
Beiträge: 1.283
PHP-Kenntnisse:
Anfänger
PsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer Mensch
PsychoEagle eine Nachricht über ICQ schicken PsychoEagle eine Nachricht über Skype™ schicken
Standard

Was ist das?

PHP-Code:
//Adminstatus überprüfen
$admin Where $_SESSION['admin'] = 1$showcontent ,
$keinadmin Where $_SESSION['admin'] = 0$hidecontent 
Sollte eigentlich einen Fehler erzeugen

Einfach da wo du den Admin prüfen willst prüfen, ob in $_SESSION["user_admin"] auch eine 1 steht
__________________
"Weaseling out of things is important to learn. It's what separates us from the animals ... except the weasel." (Homer J. Simpson)
PsychoEagle ist offline  
Alt 20.08.2008, 12:22  
Neuer Benutzer
 
Registriert seit: 19.08.2008
Beiträge: 6
killerkretsche befindet sich auf einem aufstrebenden Ast
Standard

hmm ich habe grade keine Ideen kannste mir ma bitte sagen wie ich das ohne fehler machen kann? ^^

Geändert von killerkretsche (20.08.2008 um 12:24 Uhr).
killerkretsche ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

LinkBacks (?)
LinkBack to this Thread: http://www.php.de/php-tipps-2008/46819-erledigt-php-mysql-login-script.html
Erstellt von For Type Datum
PHP script resource - [Funktion] DB-Abfrage mit PHP vergleiche This thread Refback 20.08.2008 18:11
PHP script resource - [Funktion] DB-Abfrage mit PHP vergleiche This thread Refback 20.08.2008 14:18
PHP script resource - [Funktion] DB-Abfrage mit PHP vergleiche This thread Refback 20.08.2008 14:18

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Login Script (ohne Werbung) Aoz Scriptbörse 9 30.12.2007 19:41
phpBB Loginscript in eigenes Login Script einbinden 2wuck PHP Tipps 2007 4 19.12.2005 23:10
login script macht pobs fadass PHP Tipps 2007 9 04.12.2005 10:53
Login Script : Addon??? Chrisber PHP Tipps 2005-2 0 27.09.2005 16:11
Login Script... Beitragsarchiv 1 16.08.2005 02:21
[Erledigt] Verzögerung durch included Script? Umgehen? PHP Tipps 2005-2 4 10.07.2005 19:26
Suche spezielles Login script !!!! dringend Beitragsarchiv 5 09.07.2005 14:42
Login Script PHP Tipps 2005-2 7 02.07.2005 04:53
Login Script Fehler b++ PHP Tipps 2005-2 11 01.07.2005 02:47
Login Script PW ändern PHP Tipps 2005-2 13 26.06.2005 12:51
Login Script: sicher oder nicht sicher? PHP Tipps 2005 26 23.02.2005 12:18
login script spuckt PHP Tipps 2005 13 28.01.2005 16:37
Prob mit php/mysql script PHP Tipps 2005 8 14.01.2005 20:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
login script php mysql, php mysql login script, mysql login script, php login script mysql, login script mysql, php mysql login, login php mysql, php login mysql, login mit php und mysql, php login mit mysql, php login script mit mysql, loginscript php mysql, php admin login script, php script user login mysql, php login script admin, php login script, sicheres login script mit mysql, admin login script php, http://www.php.de/php-tipps-2008/46819-erledigt-php-mysql-login-script.html, mysql php login script

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:52 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum