php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 2 Stimmen, 5,00 durchschnittlich.
  #1 (permalink)  
Alt 25-03-2013, 18:35
diebo
 Registrierter Benutzer
Links : Onlinestatus : diebo ist offline
Registriert seit: Nov 2012
Beiträge: 27
diebo befindet sich auf einem aufstrebenden Ast
Standard User abfrage

Hallo,

ich möchte das die Nutzer sich mit dem Benutzernamen sowie der Email Adresse einloggen können, das funktioniert auch wunderbar mit
PHP-Code:
 $sql   "SELECT
                        `user`,`password`,`aktiviert`,`email`
                  FROM
                        `login`
                  WHERE
                        LOWER(`user`)     = '" 
.mysql_real_escape_string($username). "' OR
                        `email`           = '" 
.mysql_real_escape_string($username). "'
                        AND
                        `password`        = '" 
.mysql_real_escape_string($password). "' AND
                        `aktiviert`       = 1"

Problem ist jetzt nur da ich in dem fall email und benutzername aus der selben variable nehme, das mein $_SESSION['user'] = $username; mir auf allen seiten die Email Adresse anzeigt wenn sich mit der einloggt, wenn ich die Nutzer anspreche.

Meine frage ist nun wie kann ich das lösen, ich habe schon den ganzen tag versucht den Benutzernamen aus der Datenbank zu ziehen und den anzeigen zu lassen aber irgendwie bekomme ich das nicht hin, das der Benutzer auftaucht der sich eingeloggt hat. Hoffe das war soweit verständlich.
Ich bedanke mich voraus

Hab die SuFu benutzt und ganz viel gegooglet auch Sachen gefunden aber die waren von 2005 usw. php.net war ich auch und habe probiert aber nichts ging.
Mit Zitat antworten
  #2 (permalink)  
Alt 25-03-2013, 18:59
Marcus-24-D
 Registrierter Benutzer
Links : Onlinestatus : Marcus-24-D ist offline
Registriert seit: Oct 2007
Beiträge: 173
Marcus-24-D befindet sich auf einem aufstrebenden Ast
Standard

Dann musst du das entsprechend aufteilen oder dich für einen entscheiden.
Du kannst ja mit email überprüfen aber dennoch der Session den Usernamen zuweisen oder überschreiben.

$_SESSION['userName'] = $username;
$_SESSION['email'] = $email;

Zeig mal deinen kompletten Code
Mit Zitat antworten
  #3 (permalink)  
Alt 25-03-2013, 21:07
diebo
 Registrierter Benutzer
Links : Onlinestatus : diebo ist offline
Registriert seit: Nov 2012
Beiträge: 27
diebo befindet sich auf einem aufstrebenden Ast
Standard

Ja aber vorher muss ich ja den Benutzernamen aus der Datenbank holen, ich habe das ja nun so das aus dem input mit dem der Benutzer sich einloggt (benutzernamen/email) die Variable gemacht. Das in die Session gebracht um die Nutzer ansprechen zu können mit z.b. Hallo Felix, wenn er sich nun aber mit der email anmeldet würde da Hallo felix.mustermann@gmx.de stehen. Also dachte ich kann ich ja den Nutzernamen aus der Datenbank holen in eine variable packen und den ausgeben und das bekomme ich nicht ganz hin.

Hier mal der code, nicht meckern das ist nur ein übungsprojekt von mir

PHP-Code:
<?php
session_start
();                                                      

$_SESSION['login'] = FALSE;                                         
$username          $_POST['username'];
$password          $_POST['password'];
$error             '';
$_SESSION['user']  = $username;

function 
db_connect()                                                 
{
    
$dbhost      ='localhost';
    
$dbuser      ='';
    
$dbpassword  ='';
    
$dbname      ='testlogin';


    
$conid mysql_connect($dbhost$dbuser$dbpassword)
       or die (
'Verbindungsfehler!');

    if (
is_resource($conid))
    {
        
mysql_select_db($dbname$conid)
          or die (
'Datenbankfehler');
    }
    return 
$conid;
}

if (isset(
$_COOKIE['userlogin']))                           
{
    
$conid db_connect();
    
$sql "SELECT
                  `id`
            FROM
                  `login`
            WHERE
                  `cookie_hash` = '" 
.mysql_real_escape_string ($_COOKIE['userlogin'])
                  .
"' AND `aktiviert` = 1";

    
$result mysql_query($sql$conid);

    if (
mysql_num_rows ($result) == 1)
    {
        
$_SESSION['login'] = TRUE;
        
header('location: ../index.php');
        exit;
    }
}

if (isset(
$_POST['login']))
   {
       if (
get_magic_quotes_gpc())
        {
            
$_POST array_map('stripslashes',$_POST);
        }

        
$username strtolower(trim($_POST['username']));
        
$password md5(trim($_POST['password']));

        
$conid db_connect();
        
$sql   "SELECT
                        `user`,`password`,`aktiviert`
                  FROM
                        `login`
                  WHERE
                        LOWER(`user`)     = '" 
.mysql_real_escape_string($username). "' OR     //Betroffene Stelle
                        `email`           = '" 
.mysql_real_escape_string($username). "'
                        AND
                        `password`        = '" 
.mysql_real_escape_string($password). "' AND
                        `aktiviert`       = 1"
;




       
$result mysql_query($sql ,$conid);

       if (
mysql_num_rows($result) == 1)
       {
           
$usercookie mysql_fetch_assoc($result);
           
$_SESSION['login'] = TRUE;
           
setcookie ('userlogin'$usercookie['cookie_hash'], time() +600);
           
header('location: ../index.php');
           exit;
       }
       else
       {
           
$error '<h3>Die Anmeldung war fehlerhaft</h3>';
       }
    }


print_r(mysql_error())
?>

Geändert von diebo (26-03-2013 um 10:00 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 27-03-2013, 10:45
diebo
 Registrierter Benutzer
Links : Onlinestatus : diebo ist offline
Registriert seit: Nov 2012
Beiträge: 27
diebo befindet sich auf einem aufstrebenden Ast
Standard

hmm vllt versteht ihr nicht so ganz was ich meine also nochmal

ich möchte das die Leute sich mit ihrem Benutzernamen sowie mit der Email Adresse anmelden können, so wie ich das nun habe klappt es auch. Aber da das in meinen Fall nach dem eingeben und abschicken in eine Variable kommt und ich die Variable in die Session speicher um den Benutzer direkt ansprechen zu können z.b. so Hallo Diebo, entspricht das nicht ganz mein Vorstellung weil wenn man sich mit der Email Adresse einloggt würde da stehen Hallo diebo@muster.de
und dewegen wollte ich denn den Benutzernamen aus der Datenbank ziehen. Nur wie bekomme ich genau seinen Namen und nicht irgendeinen?
Mit Zitat antworten
  #5 (permalink)  
Alt 27-03-2013, 14:41
arclight
 Registrierter Benutzer
Links : Onlinestatus : arclight ist offline
Registriert seit: Mar 2013
Beiträge: 1
arclight befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
$link mysql_connect(bla,blubb..);
mysql_select_db(tri_tra_trullala);

$query  "SELECT `user`,`password`,`aktiviert`,`email`
                FROM `login`
                WHERE
                (LOWER(`user`)     = '" 
mysql_real_escape_string ($username) . "'
                    OR `email`     = '" 
mysql_real_escape_string ($username) . "')
                AND
                `password`         = '" 
mysql_real_escape_string ($password) . "'
                AND `aktiviert`       = 1
                LIMIT 0,1;"
;
$result mysql_query ($query,$link);
if (
is_resource ($result))
{
    
$row              mysql_fetch_row ($result);
    
$_SESSION['user'] = $row[0];
    
mysql_free_result ($result);
} else
{
    
//kein db treffer

ich glaube, sollte ich dein problem richtig verstanden haben, mit diesem lösungsansatz kommst du zu deinem gewünschten ergebnis.
Mit Zitat antworten
  #6 (permalink)  
Alt 27-03-2013, 16:26
diebo
 Registrierter Benutzer
Links : Onlinestatus : diebo ist offline
Registriert seit: Nov 2012
Beiträge: 27
diebo befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank das ist genau das was ich gesucht habe.

Mit Zitat antworten
  #7 (permalink)  
Alt 27-03-2013, 17:20
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Zitat:
Zitat von diebo Beitrag anzeigen
Vielen Dank das ist genau das was ich gesucht habe.

Das mag sein!
Aber willst du das wirklich?

Ich halte es für falsch den Usernamen und seine Email in Session zu halten.
Wie will man ihn umtaufen?
Seine Email ändern?
Alle unangenehmen Seiteneffekte, der doppelten Datenhaltung, drohen...

Es wäre völlig ausreichend, die UserID in Session zu halten.
__________________
Wir werden alle sterben
Mit Zitat antworten
  #8 (permalink)  
Alt 27-03-2013, 20:15
diebo
 Registrierter Benutzer
Links : Onlinestatus : diebo ist offline
Registriert seit: Nov 2012
Beiträge: 27
diebo befindet sich auf einem aufstrebenden Ast
Standard

Es wird doch jetzt "nur" sein Nutzername in Session gehalten, ich habe jetzt nach dem Login sein Namen und die Bestätigung das er eingeloggt ist in der Session. Ich nehme ja über input sein Nutzername oder seine Email auf

PHP-Code:
WHERE
                        LOWER
(`user`)     = '" .mysql_real_escape_string($username). "' OR
                        `
email`           = '" .mysql_real_escape_string($username). "' 
hiermit ermögliche ich das er sich mit beiden einloggen kann und dann hol ich mir erst sein namen aus der Datenbank und lagere ihn in der Session. Also habe ich nur sein Namen oder verkenne ich da was?
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
Abfrage mit unvollstaendigem User-Iput Testversion SQL / Datenbanken 9 25-03-2010 14:43
SQL-Abfrage: die meisten user Kangarooo SQL / Datenbanken 7 15-02-2010 08:05
IF-Abfrage: benutzt user Javascript heroldini HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 5 10-03-2009 20:44
Mysql abfrage beim user anlegen The_Ste PHP Developer Forum 9 07-04-2006 10:28
USER ONLINE - Richtige Abfrage finden Doomer SQL / Datenbanken 2 23-08-2003 22:41

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 05:57 Uhr.