matthias: Userdaten einfügen in Mysql

Sersen,

mache gerade eine Verbindung zu einer MySQL DB mit PHP und Sessions,

Problem:

muss in der DB = kunden eine Tabelle anlegen = Benutzerdaten, darin zwei Felder = Benutzername, Kennwort

und dann die Werte eingeben, bloß welche Funktion nehme ich ASCII oder CHAR oder....

die Daten können nicht geladen werden

hier das PHP

______________________________________
<?php
session_start (); // Starte eine Session.
$pass = $HTTP_POST_VARS["pass"];
$user = $HTTP_POST_VARS["user"];
// ======== AUFBAU DER DATENBANKVERBINGUNG ========
$connID = mysql_connect ("localhost", "user", "passwort");
@mysql_select_db ("kunden", $connID);

// Generiere und starte die Abfrage
$sql = "SELECT * FROM benutzerdaten WHERE (benutzername like '$user') AND (kennwort = '$pass')";
$result = mysql_query ($sql, $connID);

if (mysql_num_rows ($result) > 0) {
  // Ein Datensatz wurde gefunden.
  $datenrichtig = true;

// Variable $user_eingeloggt erstellen.
  $user_eingeloggt = true;
} else {
  // Die Benutzerdaten waren falsch.
  $datenrichtig = false;

// Variable $user_eingeloggt erstellen.
  $user_eingeloggt = false;
}

// Variable $user_eingeloggt in der Session registrieren.
session_register ("user_eingeloggt");
?>

<html>
<head>
  <?php if ($datenrichtig) { ?>
  <meta http-equiv="Refresh" content="2; url=startseite.php?<?=session_name()?>=<?=session_id()?>">
  <?php } ?>
</head>

<body>
<?php

if ($datenrichtig) {
  echo "Vielen Dank fürs Einloggen. Sie werden weitergeleitet...";
} else {
  echo "Die Daten waren falsch.";
}

?>
</body>
</html>
_______________________________________________________

Fehler muss glaube ich in den Werten der DB sein.

HILFE BITTE

  1. VARCHAR zB.
    Warum hast du dort beim Username ein LIKE?
    Bist du sicher, dass die Variablen $pass und $user nicht leer sind?

    1. VARCHAR zB.
      Warum hast du dort beim Username ein LIKE?
      Bist du sicher, dass die Variablen $pass und $user nicht leer sind?

      Wahrscheinlich

      wenn man in PHPMYADMIN die DB Struktur anlegt dann so oder

      1. Datenbank anlegen Kunden
      2. Tabelle anlegen Benutzerdatenbank
      3. 2 Felder anlegen Kennwort und Benutzername beide Varchar 30
      4. ? auf einfügen klicken, dann ok ?
      5. ? dann auf Teilweise anzeigen und dann Benutzername LIKE z.B. Matthias und Kennwort = z.B. Mailand
         ==> dann müsste doch in der DB unter Benutzerdaten - Benutzername - der Wert Matthias eingetragen sein

      die Variablen $user und $pass werden per HTML-Formular mit $HTTP_POST_VARS["user"] und mit $HTTP_POST_VARS["pass"] bezeichnet und so müssten doch ihre Werte übertragen werden oder nicht !

      1. Hallo

        wieso nimmst du beim name LIKE ? Das ist doch nur für sowas wie zeige alles das mit X anfängt /aufhört oder das X enthält.
        Und die (   ) in deinem SELECT braucht man glaube ich auch nicht.

        Ich weis jezt nicht obs hilft aber versuch mal $_POST['user'] statt $HTTP_..... ich glaube das geht bei manchen PHP versionen mit $_POST und bei anderen mit $HTTP_.... oder nimm zum testen man $user

        mfg

        Alex

        1. Jetzt kommt nur noch ne weisse Seite

          <?php
          session_start (); // Starte eine Session.
          $user = $_POST['user'];
          $pass = $_POST['pass'];
          // ======== AUFBAU DER DATENBANKVERBINGUNG ========
          $connID = mysql_connect ("localhost","test","test");
          @mysql_select_db ("kunden", $connID);

          // Generiere und starte die Abfrage
          $sql = 'SELECT * FROM Benutzerdaten WHERE 1 AND Benutzername = '$user' AND Kennwort = '$pass' LIMIT 0, 30';

          $result = mysql_query ($sql, $connID);

          if (mysql_num_rows ($result) > 0) {
            // Ein Datensatz wurde gefunden.
            $datenrichtig = true;

          // Variable $user_eingeloggt erstellen.
            $user_eingeloggt = true;
          } else {
            // Die Benutzerdaten waren falsch.
            $datenrichtig = false;

          // Variable $user_eingeloggt erstellen.
            $user_eingeloggt = false;
          }

          // Variable $user_eingeloggt in der Session registrieren.
          session_register ("user_eingeloggt");
          ?>

          <html>
          <head>
            <?php if ($datenrichtig) { ?>
            <meta http-equiv="Refresh" content="2; url=startseite.php?<?=session_name()?>=<?=session_id()?>">
            <?php } ?>
          </head>

          <body>
          <?php

          if ($datenrichtig) {
            echo "Vielen Dank fürs Einloggen. Sie werden weitergeleitet...";
          } else {
            echo "Die Daten waren falsch.";
          }

          ?>
          </body>
          </html>

          1. Nochmal hallo
            schau mal hier http://www.schattenbaum.net dann geh auf PHP da ist die DB abfrage ganz einfach erklärt da schau ich immer nach wenn ich bei sowas einfachem ein Problem habe weil mir da SelfPHP zu umständlich ist

            mfg

            Alex

  2. Hey Jungs ich habs raus

    Fehler war

    $sql = "SELECT * FROM Benutzerdaten WHERE Benutzer = BINARY '$username' && Passwort = BINARY '$password'";

    so gehts, merci für die Antworten

    Matthias