simple mysql abfrage macht probleme..

Hi, Dr. Dau. Ja stimmt, da hab ich mich missverständlich ausgedrückt... Ich meine natürlich nicht, daß man vor dem header keine Session Variable registrieren darf. Die Session hab ich nur erwähnt, damit man direkt die Code-Zeile findet, die ich meine :)

@rawhide... ist dein Benutzername also auch in Großschreibung in der Datenbank eingetragen... also "Rawhide"?
 
Hmm .. merkwürdig ..
Probier mal:
PHP:
$sql = "SELECT `Id`, `Nickname`, `Nachname`, `Vorname`, `Kennwort` FROM benutzerdaten WHERE `Nickname` like '".$name."'";
Hinweis: Das globale Array $_REQUEST sollte nicht mehr benutzt werden.
Dafür gibts es jetzt, je nach Typ der Übertragung die Arrays $_POST und $_GET.

Btw: Geile Variablen: $fickpass :-)

die script fehlermeldung kommt nichtmehr. danke ;)

aber dafür sagt er mir das die zugangsdaten falsch wären.. :(
 
Hi, Dr. Dau. Ja stimmt, da hab ich mich missverständlich ausgedrückt... Ich meine natürlich nicht, daß man vor dem header keine Session Variable registrieren darf. Die Session hab ich nur erwähnt, damit man direkt die Code-Zeile findet, die ich meine :)

@rawhide... ist dein Benutzername also auch in Großschreibung in der Datenbank eingetragen... also "Rawhide"?

japp.. und ausserdem probier ichs noch mit anderen usern. ;)
klappt aber nirgends.. pbwohlk die richtigen variablen übergeben werden und der md5 hash auch richtig ist :(
 
PHP:
$ukennw = $ddata["Nickname"];
if ($ukennw == $xpass)
Ich weiß ja nicht, wie deine Datenbank aufgebaut ist, aber ich glaube nicht, dass die Spalte für das Kennwort "Nichname" heißt :-)

Außerdem ein paar Anmerkungen zu folgendem Code:
PHP:
$sql = "SELECT Id, Nickname, Nachname, Vorname, Kennwort FROM benutzerdaten WHERE Nickname like $name";
$result = mysql_query($sql);
$num_rows = mysql_num_rows($result);
$ddata    = mysql_fetch_array ($result);
$ukennw = $ddata["Nickname"];

if ($ukennw == $xpass)
{
  // Benutzerdaten in ein Array auslesen.

  $data    = mysql_fetch_array ($result);
 # if ($data["status"] == "1")
 # {
$num_rows wird nicht verwendet.
Warum wird $data erstellt, wenns doch schon $ddata mit allen Infos gibts?
Du solltest darauf achten, sauberer zu programmieren.
 
Zuletzt bearbeitet:
PHP:
$ukennw = $ddata["Nickname"];
if ($ukennw == $xpass)
Ich weiß ja nicht, wie deine Datenbank aufgebaut ist, aber ich glaube nicht, dass die Spalte für das Kennwort "Nichname" heißt :-)

ups.. heisst sie nich.. geht aber trotzdemnet..
hier nochmal das aktuelle ^^
PHP:
$connectionid = mysql_connect ("l)(&%st", "root", "=)(/)(%?");
if (!mysql_select_db ("usr_web1_1", $connectionid))
{
  die ("Keine Verbindung zur Datenbank");
}

$sql = "SELECT `Id`, `Nickname`, `Nachname`, `Vorname`, `Kennwort` FROM benutzerdaten WHERE `Nickname` like '".$name."'";
$result = mysql_query($sql) OR die(mysql_error());
$num_rows = mysql_num_rows($result);
$ddata    = mysql_fetch_array ($result);
$ukennw = $ddata["Kennwort"];
$xpass = md5($pwd);

if ($ukennw == $xpass)
{
  // Benutzerdaten in ein Array auslesen.

  $data    = mysql_fetch_array ($result);

  // Sessionvariablen erstellen und registrieren
  $_SESSION["user_id"] = $data["Id"];
  $_SESSION["user_nickname"] = $data["Nickname"];
  $_SESSION["user_nachname"] = $data["Nachname"];
  $_SESSION["user_vorname"] = $data["Vorname"];
  $_SESSION["user_check"] = "OK";
  header ("Location: intern.php");

}
else
{
  header ("Location: index.php?fehler=1&md5=$xpass&opass=$fickpass");
}
?>
auszug aus der db:
Code:
Id nickname Kennwort email Nachname Vorname status code

menno.. bin ich denn echt so blöd.. :(




Suye :
die alten variablen wurden vorher verwendet.. dann hab ichs nenbisschen umgestrickt und am ende räum ich deden müll immer noch raus ;)
 
Zuletzt bearbeitet:
PHP:
$xpass = md5($pwd);
Wo kommt denn $pwd her?
Das ist doch bestimmt eine Variable, die über ein Formular übergeben wurde, oder?
Dann probier es mal mit:
PHP:
$xpass = md5($_POST['pwd']);
Sollte $pwd über die URL übergeben werden, dann rate ich dir, ein Formular mit der Methode POST zu benutzen - GET ist zu unsicher, gerade für Passwörter die nicht verschlüsselt sind.
 
Probier es mal mit:
PHP:
$xpass = md5($_POST['pwd']);
Sollte $pwd über die URL übergeben werden, dann rate ich dir, ein Formular mit der Methode POST zu benutzen - GET ist zu unsicher, gerade für Passwörter die nicht verschlüsselt sind.

so war es vorher schon mal.. ;) nachdem es allerdings nicht funktioniert hat, hab ichs einfacher gemacht..
aber so klappts leider auch nicht.
ich versuche mal, die verschlüsselung rauszunehmen..
 
Geb doch einfach mal $_POST['pwd'] aus und schau, ob das richtig Passwort überhaupt übergeben wurde.
Ein weiteres Problem könnte sein, dass das Datenbankfeld zu klein für die md5-Verschlüsselung ist und deshalb Zeichen abgeschnitten werden. Dann ist das Passwort natürlich nicht mehr das selbe ..
 
Zurück