php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Jobs und Projekte > Projekthilfe
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


Projekthilfe Hier könnt Ihr eine Art Projekthilfe anfordern. Unter Projekthilfe verstehen wir Angebote bei denen KEIN Geld gezahlt werden kann.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 05-01-2013, 18:47
heyhey83
 Registrierter Benutzer
Links : Onlinestatus : heyhey83 ist offline
Registriert seit: Dec 2012
Beiträge: 11
heyhey83 befindet sich auf einem aufstrebenden Ast
Standard User Login

habe da mal eine frage wer könnte mir ein user login erstellen wo ich nur noch die mysql daten eintragen muss eine tabelle habe ich schon erstellt der tabellen name ist blab6_users das pw solte md5 sein so nun zu der tabelle

usr_id usr_name usr_pass usr_mail usr_join_date usr_status







Feld Typ

usr_id int(11)

usr_name varchar(64)

usr_pass char(32)

usr_mail varchar(64)

usr_join_date int(11)

usr_status varchar(8)


ich hoffe es reicht euch wäre euch damit sehr dank paar dafür
Miniaturansicht angehängter Grafiken
User Login-unbenannt.jpg  
Mit Zitat antworten
  #2 (permalink)  
Alt 05-01-2013, 19:13
KevinLienkamp
 Registrierter Benutzer
Links : Onlinestatus : KevinLienkamp ist offline
Registriert seit: Dec 2012
Beiträge: 7
KevinLienkamp befindet sich auf einem aufstrebenden Ast
Standard

Hast du Skype?

Müsste noch irgendwo eine login klasse haben.

Skype: -zensiert-

Geändert von KevinLienkamp (05-01-2013 um 19:31 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 05-01-2013, 19:17
heyhey83
 Registrierter Benutzer
Links : Onlinestatus : heyhey83 ist offline
Registriert seit: Dec 2012
Beiträge: 11
heyhey83 befindet sich auf einem aufstrebenden Ast
Standard

leider habe ich kein skype mein internet wäre dazu auch zulangsam bekomme erst Glasfaser
Mit Zitat antworten
  #4 (permalink)  
Alt 05-01-2013, 19:33
KevinLienkamp
 Registrierter Benutzer
Links : Onlinestatus : KevinLienkamp ist offline
Registriert seit: Dec 2012
Beiträge: 7
KevinLienkamp befindet sich auf einem aufstrebenden Ast
Standard

Hmm.

Ich gucke mal ob ich das Script finde und lade es dann in die Scripte-Section hoch.

Dauert eventuell einen moment.

Schätze mit einer Stunde
Mit Zitat antworten
  #5 (permalink)  
Alt 05-01-2013, 19:53
heyhey83
 Registrierter Benutzer
Links : Onlinestatus : heyhey83 ist offline
Registriert seit: Dec 2012
Beiträge: 11
heyhey83 befindet sich auf einem aufstrebenden Ast
Standard

ja okay das wäre echt super und du änderst das dann so das der die tabelle anspricht bzw kommuniziert
Mit Zitat antworten
  #6 (permalink)  
Alt 05-01-2013, 20:05
KevinLienkamp
 Registrierter Benutzer
Links : Onlinestatus : KevinLienkamp ist offline
Registriert seit: Dec 2012
Beiträge: 7
KevinLienkamp befindet sich auf einem aufstrebenden Ast
Standard

Die MySQL Klasse. Wird benötigt.
Bei mir class.mysql.php genannt.
PHP-Code:
<?php
//********************************************************
// Die MySQL Klasse
//********************************************************

class mysql
{
    private 
$host     ''
    private 
$user     '';
    private 
$passwort     ''
    private 
$dbname     '';
    private 
$last_injection '';
    private 
$conn_id null;
    
    
    
    
    public function 
__construct($host$user$passwort$dbname)
    {
        
$this->host     $host;
        
$this->user     $user;
        
$this->passwort $passwort;
        
$this->dbname     $dbname;
        
$this->connect_mysql();
        return(
$this->conn_id);
    }
    
    
    
    private function 
connect_mysql()
    {
        
$this->conn_id mysql_connect($this->host,$this->user,$this->passwort); 
        
        if(
$this->conn_id === false)
        {
            
$message  "Verbindung zur Datenbank nicht m&ouml;glich.<br />\n";
            
$message .= "Mysql-fehlermeldung: <br />\n";
            
$message .= mysql_error();
            
            
trigger_error($message);
            } 
            else 
            {
            
$this->select_db();
        }
    }
    
    
    
    private function 
select_db()
    {
        
$select mysql_select_db($this->dbname,$this->conn_id);
        
mysql_set_charset('latin1'$this->conn_id);
        
        if(
$select === false)
        {
            
$message  "Die angegebene Datenbank \"".$this->dbname."\" existiert nicht.<br />\n";
            
$message .= "Mysql-fehlermeldung: <br />\n";
            
$message .= mysql_error();
            
            
trigger_error($message);
        }
    }
    
    
    
    public function 
query($sqlcode)
    {
        
$this->last_injection mysql_query($sqlcode);
        
            if(
$this->last_injection === false)
            {
                
$message  "Fehler bei dem Ausf&uuml;hren eines Mysql-codes!<br />\n";
                
$message .= "Mysql-Code: " htmlspecialchars($sqlcodeENT_QUOTES) . "<br />\n";
                
$message .= "Mysql-fehlermeldung:<br />\n";
                
$message .= mysql_error();
                
trigger_error($message);
            }
            
        return(
$this->last_injection);
    }
    
    
    
    public function 
array_result($sql NULL, &$row '')
    {
        
$inc '';
        if(
$sql === NULL)
        {
            
$inc $this->last_injection;
            } else {
            
$inc $sql;
        }
        
        
$row mysql_fetch_array($inc);
        
        return(
$row);
    }
    
    
    
    public function 
row_result($sql NULL, &$row '')
    {
        
$inc '';
        if(
$sql === NULL)
        {
            
$inc $this->last_injection;
            } else {
            
$inc $sql;
        }
        
        
$row mysql_fetch_row($inc);
        
        return(
$row);
    }
    
    
    
    public function 
object_result($sql NULL, &$row '')
    {
        
$inc '';
        if(
$sql === NULL)
        {
            
$inc $this->last_injection;
            } else {
            
$inc $sql;
        }
        
        
$row mysql_fetch_object($inc);
        
        return(
$row);
    }
    
    
    
    public function 
assoc_result($sql NULL, &$row '')
    {
        
$inc '';
        if(
$sql === NULL)
        {
            
$inc $this->last_injection;
            } else {
            
$inc $sql;
        }
        
        
$row mysql_fetch_assoc($inc);
        
        return(
$row);
    }
    
    
    
    public function 
num_result($sql NULL)
    {
        
$inc '';
        if(
$sql === NULL)
        {
            
$inc $this->last_injection;
            } else {
            
$inc $sql;
        }
        
        
$num mysql_num_rows($inc);
        
        return(
$num);
    }
    
    
    
    public function 
sql_string($string)
    {
        return(
mysql_real_escape_string($string));
    }
    
    
    
    public function 
free_result($sql NULL)
    {
        
$inc '';
        if(
$sql === NULL)
        {
            
$inc $this->last_injection;
            } else {
            
$inc $sql;
        }
        
        
mysql_free_result($inc);
    }
    
    
    
    public function 
result($set 0$field 0$sql NULL, &$row '')
    {
        
$inc '';
        if(
$sql === NULL)
        {
            
$inc $this->last_injection;
            } else {
            
$inc $sql;
        }
        
        
$row mysql_result($result$set$field);
        
        return(
$row);
    }
    
    
    
    public function 
insert_id(&$row '')
    {
    
        
$row mysql_insert_id();
        
        return(
$row);
    }
    
    
    
    public function 
close_connect()
    {
        
mysql_close($this->conn_id);
    }
}
?>
Und die Auth Klasse
Bei mir class.auth.php genannt.

PHP-Code:
<?php
//********************************************************
// Die Authentication Klasse
//********************************************************

class auth
{
    private 
$MySQL NULL;
    
    public function 
__construct($mysqldata)
    {
        
$this->MySQL $mysqldata;
    }
    
    public function 
CheckLogin() // Überprüfen ob User eingeloggt ist. Wenn mit Cookie gelöst alle SESSION mit COOKIE ersetzten
    
{
        if(isset(
$_SESSION['dataf']) && !empty($_SESSION['dataf']) && isset($_SESSION['datag']) && !empty($_SESSION['datag']))
        {
            
$query sprintf("SELECT
                                usr_name,
                                usr_pass
                            FROM
                                blab6_users"
); // Tabellenname anpassen
                        
            
$res $this->MySQL->query($query);
            while(
$row $this->MySQL->array_result($res))
            {
                if(
md5(strtoupper(md5($row['usr_name'])))==$_SESSION['dataf'] && md5(strtoupper(md5($row['usr_pass'])))==$_SESSION['datag'])
                {
                    return 
true// User ist eingeloggt
                
}
                else
                {
                    return 
false// Fehler beim Login
                
}
            }
            
        }
        return 
false;
    }
    
    public function 
Login($username$password)
    {
        if(empty(
$password) || empty($username))
            return 
false;
        
        
$password md5($password);
        
        
$query sprintf("SELECT
                            *
                        FROM
                            blab6_users
                        WHERE
                            usr_name = '%s' AND usr_pass = '%s'"

                        
mysql_real_escape_string($username),
                        
mysql_real_escape_string($password)); // Tabellenname anpassen
                        
        
$res $this->MySQL->query($query);
        while(
$row $this->MySQL->array_result($res))
        {
            
$_SESSION['dataf'] = md5(strtoupper(md5($username))); // Session mit 3 fach verschlüsseltem Username + Passwort
            
$_SESSION['datag'] = md5(strtoupper(md5($password))); // Kann sehr einfach mit setcookie ersetzt werden
            // setcookie("dataf", md5(strtoupper(md5($username))), time()+60*60); // Hällt 1 Stunde
            // setcookie("datag", md5(strtoupper(md5($password))), time()+60*60); // Hällt 1 Stunde
            
return true;
        }
        
        if(
$this->MySQL->num_result($res)<1)
            return 
false;
    }
    
    public function 
Logout()
    {
        
session_destroy(); // Session zerstören sorgt für Logout
        // Wenn mit Cookie gelöst einfach Cookie auf Negativ setzten
        // setcookie("dataf", "del", time()-1000);
        // setcookie("datag", "del", time()-1000);
    
}
    
    public function 
GetAccountData($prefix// Hier kann man Infos aus der Logintabelle holen. Prefix beispiel: email
    
{
        
$query sprintf("SELECT
                            usr_name,
                            usr_pass,
                            "
.$prefix."
                        FROM
                            blab6_users"
); // Tabellenname anpassen
                    
        
$res $this->MySQL->query($query);
        while(
$row $this->MySQL->array_result($res))
        {
            if(
md5(strtoupper(md5($row['usr_name'])))==$_SESSION['dataf'] && md5(strtoupper(md5($row['usr_pass'])))==$_SESSION['datag'])
            {
                return 
$row[$prefix];
            }
        }
    }
    
    public function 
Register($username$password)
    {
        
//Anpassen
    
}
}
?>
In die index.php muss folgendes ganz am Anfang eingefügt werden:

PHP-Code:
include_once('./class.mysql.php');
$Database = new mysql("localhost""username""password""db");
include_once(
'./class.auth.php');
$Auth = new auth($Database); 
Ab jetzt kann man alle Loginfunktionen Nutzen.

PHP-Code:
$Auth->Login("username""passwort"); // Loggt den User ein. Gibt True oder False zurück.
$Auth->CheckLogin(); // Gibt True oder False zurück. Sagt ob der User eingeloggt ist.
$Auth->GetAccountData("prefix"); // Gibt bestimmte Felder der Logintabelle wieder. Bei dir z.B. als Prefix: usr_email - Gibt dann die E-Mail aus
$Auth->Logout(); // Loggt den User aus 
Hoffe das ist was du brauchst. Habe ich jetzt nur schnell geschrieben. Sollte ein Fehler auftreten einfach fragen.

LG

Geändert von KevinLienkamp (05-01-2013 um 20:08 Uhr)
Mit Zitat antworten
  #7 (permalink)  
Alt 05-01-2013, 21:04
heyhey83
 Registrierter Benutzer
Links : Onlinestatus : heyhey83 ist offline
Registriert seit: Dec 2012
Beiträge: 11
heyhey83 befindet sich auf einem aufstrebenden Ast
Standard

okay danke dir werde es morgen mal probieren ob es geht hoffe es ach ja was muss ich bei private $last_injection = ''; eintragen ??? ach ja vllt muss ich noch mal auf dich zurück kommen aber da werde ich dir mal privat schreiben auf jeden erst mal tausend dank
Mit Zitat antworten
  #8 (permalink)  
Alt 05-01-2013, 21:14
KevinLienkamp
 Registrierter Benutzer
Links : Onlinestatus : KevinLienkamp ist offline
Registriert seit: Dec 2012
Beiträge: 7
KevinLienkamp befindet sich auf einem aufstrebenden Ast
Standard

Die MySQL Klassendatei darf NICHT geändert werden.

Die Logindaten gibst du bei der Implementierung auf der Index.php ein.
Mit Zitat antworten
  #9 (permalink)  
Alt 05-01-2013, 22:19
heyhey83
 Registrierter Benutzer
Links : Onlinestatus : heyhey83 ist offline
Registriert seit: Dec 2012
Beiträge: 11
heyhey83 befindet sich auf einem aufstrebenden Ast
Standard

okay also ich habe da keine index.php sondern eine index.html hoffe doch das das da auch geht oder ???

und wenn ich das das richtig verstanden habe muss ich das dann so machen

[code]include_once('./class.mysql.php');
$Database = new mysql("localhost", "username", "password", "db");
include_once('./class.auth.php');
$Auth = new auth($Database);
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head><meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"><title>test</title></head><body style="color: rgb(0, 0, 0); background-color: white;" alink="#000088" link="#0000ff" vlink="#ff0000">login system test<br>

</body></html>[\code]

Geändert von heyhey83 (05-01-2013 um 22:40 Uhr) Grund: hinzufügen
Mit Zitat antworten
  #10 (permalink)  
Alt 06-01-2013, 12:14
erempe
 Registrierter Benutzer
Links : Onlinestatus : erempe ist offline
Registriert seit: Dec 2010
Beiträge: 3
erempe befindet sich auf einem aufstrebenden Ast
Standard

zu MySql: Lieber PDO oder MySqlI benutzten. PHP 5.5 und deprecated mysql Warning
zu MD5: lasse dir bitte etwas bei deinen Passwörtern einfallen, denn das einfache Hashen ist nicht sicher. Ein Salt verbessert das auch nur unzureichend.
Mit Zitat antworten
  #11 (permalink)  
Alt 06-01-2013, 16:25
KevinLienkamp
 Registrierter Benutzer
Links : Onlinestatus : KevinLienkamp ist offline
Registriert seit: Dec 2012
Beiträge: 7
KevinLienkamp befindet sich auf einem aufstrebenden Ast
Standard

Zu MySQL.
Danke, habe das noch garnicht gesehen. Werde mich mal reinlesen und mein Script anpassen.

Zu MD5.
Wieso sollte das nicht reichen? Ich benutze das jetzt schon seid ich denken kann und nie ist auch nur eine Sache passiert.
Vorallem wird es von den meisten entwicklern empfohlen.

Und eine 3 fache verschlüsselung das passwortes ist denke ich mal genug.
Mit Zitat antworten
  #12 (permalink)  
Alt 06-01-2013, 17:51
heyhey83
 Registrierter Benutzer
Links : Onlinestatus : heyhey83 ist offline
Registriert seit: Dec 2012
Beiträge: 11
heyhey83 befindet sich auf einem aufstrebenden Ast
Standard

also für meine zwecke reicht das erst mal mit der dreifach Verschlüsselung ach ja KevinLienkamp kannst du mir da mal schnell noch eine index.php erstellen wo das mit den include das wäre sehr gut werde denn rest dann selber soweit anpassen
Mit Zitat antworten
  #13 (permalink)  
Alt 06-01-2013, 22:42
erempe
 Registrierter Benutzer
Links : Onlinestatus : erempe ist offline
Registriert seit: Dec 2010
Beiträge: 3
erempe befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von KevinLienkamp Beitrag anzeigen
Und eine 3 fache verschlüsselung das passwortes ist denke ich mal genug.
Definitiv besser als ein einfacher Hash. Damit packt eine GPU nur noch 163 Millionen Hashes pro Sekunde. Bald kannst dort auch PHP: password_hash - Manual benutzen
Mit Zitat antworten
  #14 (permalink)  
Alt 07-01-2013, 13:16
heyhey83
 Registrierter Benutzer
Links : Onlinestatus : heyhey83 ist offline
Registriert seit: Dec 2012
Beiträge: 11
heyhey83 befindet sich auf einem aufstrebenden Ast
Standard

ja also wie gesagt un über den andern sachen reden wir über PN
Mit Zitat antworten
Antwort

Lesezeichen


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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
user login moha PHP Developer Forum 2 03-06-2007 14:46
User Login Script Id Problem shekky1 PHP Developer Forum 13 05-11-2005 17:47
md5 user login aceofaces PHP Developer Forum 5 07-08-2004 15:38
User login myder SQL / Datenbanken 11 07-03-2003 16:04
User-login Zocker PHP Developer Forum 2 05-03-2003 14:53

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 09:46 Uhr.