Frage zu PHP (select Befehl)

  • Abend.


    Ich möchte für meine Mitgliedsseite für einen bestimmten Namen die Werte aus der Datenbank laden.
    Also nur für User xy, welcher auch gerade mit seinem Benutzeraccount auf dieser Seite ist.


    So sieht mein Select Befehl bis jetzt aus:


    Code
    $strSQL = "SELECT * FROM login WHERE username =  'admin'";


    Auf dieser Seite wird der Name des Benutzers mit folgendem Gespeichert / aufgerufen:


    PHP
    Benutzername: <?php echo $_SESSION['username']; ?> <BR>


    Wie baue ich jetzt in den Select Befehl den $_SESSION['username'] ein?


    Hoffe ihr könnt mir helfen,
    lg

  • Schon daran gedacht:

    PHP
    $strSQL = "SELECT * FROM login WHERE username =  '". mysql_real_escape_string( $_SESSION['username'] ) ."'";


    Generell sollte man - heutzutage - kein MySQL ( Standart ) nutzen, MySQLi ist mehr fortgeschritten, bietet viele neue Funktionen u. ist meiner Meinung nach einfacher.

  • Blu3scReeN:
    Ich persöhnlich finde MySQLi unübersichtlicher in der anwendung, bzw. hab ich persähnlich noch nichtmal verstanden wie man es einsetzt.
    Grund? Habe noch kein Tutorial gefunden wo es A, ordentlich erklärt und gezeigt wird, B, keine direkten vergleich zu MySQL.


    Es ist haargenau wie MySQL im Prozedualen Stil? Bis auf das du im Prozedualen Stil immer den Mysqli Connect Link als ersten Parameter mitgeben musst. Willst du es in OOP nutzen? Dann hätte ich ne kleine Klasse für dich, die hab ich 2013 zwar geschrieben, da ich selber nun nur noch PDO verwende und sie nicht mehr brauche hab ich se hier für dich mal:


    http://pastebin.de/127278

    Mit freundlichen Grüßen
    Developer
    Go/Python Developer | ehm. Webdeveloper | Fachinformatiker Anwendungsentwicklung
    Arbeitet in einem cloudigen Umfeld bei einem der größten deutschen Rechenzentrumsbetreibern

  • Zitat

    getUser();" linkhref="'index.php?page=Thread&postID=1909218#post1909218'" class="wysiwygQuote container-4">


    Es ist haargenau wie MySQL im Prozedualen Stil? Bis auf das du im Prozedualen Stil immer den Mysqli Connect Link als ersten Parameter mitgeben musst. Willst du es in OOP nutzen? Dann hätte ich ne kleine Klasse für dich, die hab ich 2013 zwar geschrieben, da ich selber nun nur noch PDO verwende und sie nicht mehr brauche hab ich se hier für dich mal:


    http://pastebin.de/127278


    Mit MySQLi ging es mir am Anfang auch so, dass ich kein ordentliches Anwendungsbeispiel gefunden habe, wenn man sich aber mal n bisschen z.B. im PHP Wiki reinliest, klappt das.
    Und unübersichtlich ist es allemale nicht.. ;)

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Stimmt, und meine kleine Klasse ist eig anwendungsbeispiel genug :D theoretisch hätte ich auch noch ne "klasse" hier die die alten mysql funktionen hookt und sie mit den MySQLi funktionen versetzt, nur unter altem Namen...

    Mit freundlichen Grüßen
    Developer
    Go/Python Developer | ehm. Webdeveloper | Fachinformatiker Anwendungsentwicklung
    Arbeitet in einem cloudigen Umfeld bei einem der größten deutschen Rechenzentrumsbetreibern


  • Ist es möglich die Sessions Client Seitig zu verändern?


    Bedingt.
    Alles, was in $_SESSION steht, kann der Client nicht verändern. Aber er kann von anderen Sessions „klauen“, wodurch er dann als diese angemeldet ist ;)

  • Aber er kann von anderen Sessions „klauen“, wodurch er dann als diese angemeldet ist ;)


    Ist es da nicht easy einfach die IP in der Session zu vergleichen?
    So bräuchte man das real escapen im query nicht, da samp namen keine sonderzeichen enthalten können :> (Angenommen man geht von samp aus :>)

    ik bin der vito c:


  • Nichts. Ist nur reines Informationen Abgreifen hier ^^


    Ja aber ich meine, es könnte iwo ne Sicherheitslücke sein, beim login bspw oder sonst wo, und er bringt da die sql injection ein und diese wird in der session gespeichert, und wird immer wieder neu ausgeführt, wenn er diesen select query ausführt.


  • Ist es da nicht easy einfach die IP in der Session zu vergleichen?

    Doch. Aber das war nicht die Frage. Sie war, wie man die Variablen ändern kann ^^


    Und was spricht dagegen, einfach das real_escape dirn zu lassen :b?

    Dark.Shadow spricht dagegen :whistling:


    Sicherheitsregel Nummer 1: Immer alles escapen/untersuchen/filtern, was der Benutzer sendet. Selbst wenn es nur ausgegeben wird. Alles 8)