Ankündigung

Einklappen
Keine Ankündigung bisher.

Bestimmten User auslesen mit Funktion

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Bestimmten User auslesen mit Funktion

    Irgendwo gehts nicht weiter....

    Ich gebe in einem Formular pwd und name ein und übergebe das hierhin.
    Kommt an mit echo echo $pwd; echo $name; geprüft.
    Dann wird eine Fuktion eingebunden, weiter unten:

    PHP-Code:
    $pwd=$_POST['pwd'];
    $name=$_POST['name'];

    mysql_connect("localhost","root","");
    mysql_select_db("service");
    $da=array("name","vname","email","id","pwd");
    $sql=makeSelect($da,'service','pwd=$pwd');
    //$sql=makeSelect($da,'service','id>0'); //OK
    $dbh=mysql_query($sql); 
    Hier der Teil der Funktion:

    PHP-Code:
    // für Select-funktionen
    function makeSelect($a,$table,$bedingung)
    {
    $mitte=implode (",",$a);
    $sql="SELECT $mitte FROM $table WHERE $bedingung";
    return 
    $sql;

    Bei $bedingung kommt in der funktion aber nichts an
    mit echo makeSelect($a,$table,$bedingung);


    Habe ich dot wo jetzt 'pwd=$pwd' steht 'ID>0' bekomme ich eine Liste, die ich aber nicht will.
    Ich will als WHERE sogar "pwd" und "name" prüfen.

    Aber mit funktionierendem pwd wäre mir schon geholfen.

    Dabei scheint draußen sogar die Sonne
    (in Riga, Lettland)

    Gruss Antonius


  • #2
    Hallo,
    innerhalb von einfachen Anführungszeichen werden keine Variablen interpretiert, demnach ist
    echo 'pwd = $pwd' wirklich 'pwd = $pwd'
    Verwende doppelte:
    echo "pwd = $pwd", käme bei pwd = geheim ein "pwd = geheim" heraus. Das ist übrigens immernoch falsch, denn Strings gehören in SQL in Anführungszeichen, demnach wäre "pwd = '$pwd'" die richtige Lösung.

    Grüße nach Riga.

    Kommentar


    • #3
      Danke!

      Es waren wohl die einfachen die fehlten "pwd = '$pwd'", denn die Doppelten habe ich bei den vielen Versuchen mal durch einfache ersetzt, aber beides ging nicht.

      Schon der erste Versuch gelang.

      Gruss aus Riga beim Betrachten eines blauen Himmels mit einigen weissen Wolken..

      Kommentar


      • #4
        Pass auf, dass aus den weißen keine Gewitterwolken werden:
        Variable Teile der Bedingung sollten mit mysql_escape_string () 'behandelt' werden, da sonst die Gefahr besteht, dass Deine Passwortabfrage mittels SQL Injection ausgehebelt wird. Informiere Dich bitte über diese Möglichkeit, hier im Forum oder durch eine Suche im weiten Google-Universum.
        --

        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


        --

        Kommentar

        Lädt...
        X