Ankündigung

Einklappen
Keine Ankündigung bisher.

Probleme beim Maskieren von Variablen!

Einklappen

Neue Werbung 2019

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

  • Probleme beim Maskieren von Variablen!

    Hallo,
    bei folgendem Skript taucht folgendes Problem auf. Wenn ich im SQL-String die Variablen eingabeA und eingabeB mit $ eingebe innerhalb des SQL-Strings, dann werden die anscheinend nicht an die Datenbank übermittelt (da keine Daten im result zurückkommen). Trage ich anstatt $eingabeA/B feste Strings innerhalb des SQL-Strings ein, dann klappt Datenbank anbindung! Aber mit den Variablen nicht.

    Code:
    ?php if ($submit) {
    
        $verbindung=@MYSQL_CONNECT("localhost","root","");
    
        if($verbindung) {
        @mysql_select_db("verwaltung");
    
       $sql = 'SELECT `name` '
            . ' FROM `benutzer` '
            . ' WHERE `benutzername` = "$eingabeA" AND `kennwort` = "$eingabeB" LIMIT 0, 30';
    	
        $result = @MYSQL_QUERY($sql) or die ("Falsche Select-Anweisung!");
    	$data = @MYSQL_RESULT($result,0);
    
    	
    	echo mysql_error();
    	
    	echo "Hallo $data, sie sind eingeloggt!
    ";
    	echo "$eingabeA und $eingabeB
    ";
    	echo "<hr>";
    
    	echo mysql_error();
    
        mysql_close($verbindung);
    	
    	   } else {
        echo "Keine Verbindung zur Datenbank!
    "; }
    }
    
    ?>

    Folgender Code ist obigen Skript vorgelagert.


    Code:
    <form method="post" action="<?php echo $PHP_SELF; ?>">
    <table border="1" cellpadding="0" cellspacing="4" align="center">
     <tr>
      <td align="right">Benutzername:</td>
      <td><input name="eingabeA" type="text" size="10" maxlength="10"></tr><tr>
      <td align="right">Password:</td>
      <td><input name="eingabeB" type="password" size="10" maxlength="10"></td></tr>
    </table>
    </p>
    <table border="0" cellpadding="0" cellspacing="4" align="center">
    <input type="reset" value="Abbrechen">
    <input type="submit" " name="submit" value="Benutzerdaten&uuml;berpr&uuml;fen"
    </table>
    </p>
    </form>
    [/b]

    Wie tarne ich jetzt die variablen?


  • #2
    $sql = "SELECT name FROM benutzer WHERE benutzername = '".$eingabeA."' AND kennwort = '".$eingabeB."' LIMIT 0, 30";

    Kommentar


    • #3
      Zitat von cgdesign
      $sql = "SELECT name FROM benutzer WHERE benutzername = '".$eingabeA."' AND kennwort = '".$eingabeB."' LIMIT 0, 30";
      das kann man auch wunderbar mit den code-tags schreiben

      Code:
      $sql = "SELECT 
                      name 
                  FROM 
                      benutzer 
                  WHERE 
                      benutzername = '" . $eingabeA . "' 
                  AND 
                      kennwort = '" . $eingabeB . "' 
                  LIMIT 0, 30";
      du musst den verkettungsoperator " . " also den punkt verwenden.

      grüße ben
      privater Blog

      Kommentar


      • #4
        nungut!

        Ich hab es mal versucht und folgendes ist dabei rausgekommen:


        Code:
        //$sql = "SELECT name FROM benutzer WHERE benutzername = '".$eingabeA."' AND kennwort = '".$eingabeB."' LIMIT 0, 30";
        Das funktionert leider nicht! Bekomme als Ergebnis immer noch nix von der Datenbank, anscheinend sind wieder beide Variablen ohne Inhalt.
        Aber ich versuche es jetzt mal anders!

        Code:
        $sql = "SELECT `name`  FROM `benutzer`  WHERE `benutzername` = 'Dennis' AND `kennwort` = 'root' LIMIT 0, 30";
        Diese Abfrage funktioniert!Also Feste Strings kann ich schonmal maskieren damit. Aber wie die Variablen???

        PS: Erstmal danke für die schnelle Reaktion!

        Kommentar


        • #5
          Zitat von Ben
          das kann man auch wunderbar mit den code-tags schreiben
          ja ich weiß, da könnte man noch so einiges anders schreiben, aber ich war gerade faul und ich wollte nicht noch extra formatieren usw... das kann er selber machen.

          Kommentar


          • #6
            kann es sein,dass deine variablen einfach leer sind?

            Kommentar


            • #7
              AAAAAAAAAAAAAAAAAAAAAAAAAaaaaaaaa

              Hilfe, ich bin vielleicht blöde! Hatte oben die Variablennamen abgeändert.

              Dieses Code funktioniert jetzt!
              Code:
              $sql = "SELECT `name` FROM `benutzer` WHERE `benutzername` = '" .$eingabeA. "' AND `kennwort` = '" .$eingabeB. "' LIMIT 0, 30";

              Sorry Leute, das ich euch so genervt hab. Blöde Sache! Aber trotzdem vielen Dank für die schnelle Hilfe!

              Kommentar


              • #8
                naja, kann ja mal passieren

                Kommentar

                Lädt...
                X