ERLEDIGT
NEIN
NEIN
ANTWORTEN
10
10
ZUGRIFFE
4010
4010
EMPFEHLEN
-
Hi,
ich bastel mir gerade ein kleines loginscript...
teilweise sogar nach dem Tutorial von dieser page
http://www.tutorials.de/tutorials9684.html
Es läuft auch alles wenn ich MD5 nicht benutze, aber warum nicht mit MD5, dann bekomme ich den Fehler
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/web20/html/raidplan/2/login.php on line 23
Warning: Cannot modify header information - headers already sent by (output started at /srv/www/htdocs/web20/html/raidplan/2/login.php:23) in /srv/www/htdocs/web20/html/raidplan/2/login.php on line 38
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
<?php // Session starten session_start (); // Datenbankverbindung aufbauen include 'config/config.php'; $name=$HTTP_POST_VARS['name']; $pass=$HTTP_POST_VARS['pwd']; $verbinde=mysql_connect($dbhost,$dbuser,$dbpass); mysql_select_db("usr_web20_2", $verbinde); $sql="SELECT ID,name FROM rpUser WHERE name= ".$name." AND Password = MD5('".$pass."') LIMIT 1"; $result = mysql_query ($sql); if (mysql_num_rows ($result) > 0) { // 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"]; header ("Location: intern.php"); } else { header ("Location: formular.php?fehler=1"); } ?>Geändert von Homwer (19.07.05 um 08:21 Uhr)
-
19.07.05 08:14 #2
Was ich auf den ersten Blick sehe: Du schließt in der WHERE-Klausel eine Klammer, ohne sie zu öffnen:
PHP-Code:WHERE name='".$name."' AND '".md5($_REQUEST["pwd"])."') <<<< Die letzte Klammer
-
Habe es geändert, klapt aber trotzdem nicht ?! selber fehler
wie ist denn der genaue "tag" für eine md5 abfrage ?
Code :1 2 3 4
$sql = "SELECT COUNT(*) as Anzahl FROM users WHERE ID = '".$id."' AND Password = MD5('".$pass."');"; <== ;"; ? kann doch garnicht gehen
habe ich in einem tutorial gefunden, halte ich aber für falsch (läuft so auch nicht)
-
Probier mal Folgendes:
Übrigens werden ganz andere Daten verarbeitet als abgefragt.PHP-Code:<?php
// Erhöhung der Fehlersensibilität
ini_set('display_errors', 1);
ini_set('error_reporting', E_ALL);
// Session starten
session_start();
// Datenbankverbindung aufbauen
include 'config/config.php';
$verbinde = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db('usr_web20_2', $verbinde);
$sql = "
SELECT
`ID`,
`name`
FROM
`rpUser`
WHERE
`name` = '".mysql_real_escape_string($_POST['name'])."'
AND `Password` = '".md5($_POST['pwd'])."'
LIMIT
1
";
$result = mysql_query($sql) or die(mysql_error());
if( mysql_num_rows($result) > 0 ) {
// 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'];
header('Location: intern.php');
} else {
header('Location: formular.php?fehler=1');
}
?>Geändert von Gumbo (19.07.05 um 12:46 Uhr)
Markus Wulftange
-
eher die Richtung
Zitat von Homwer
-
läuft leider alles nicht
er weigert sich $pwd mit dem passwort das MD5 verschlüsselt ist zu vergleichen.
Ohne MD5 geht alles
-
name/Password ...
sicher dass dein Passwort Feld in der SQL Datenbank groß geschrieben wurde ?
-
So hier gehts,
wenn ich die Variablen $name und $pwd direkt mit ewerten aus der DB vergleiche.
Gibt es nun eine möglich keit von der Variable $pwd die md5 summe zu bekommen?
also $pwd in md5 umrechnen und dann einfach diese werte vergleichen?
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
<?php $pwd=$HTTP_POST_VARS['pwd']; $name=$HTTP_POST_VARS['name']; $verbinde = mysql_connect($dbhost, $dbuser, $dbpass); mysql_select_db('usr_web20_2', $verbinde); $sql = " SELECT `ID`, `name`, `passwort` FROM `rpUser` WHERE `name` = '".$name."' AND `passwort` = '".$pwd."' LIMIT 1 "; $result = mysql_query($sql) or die(mysql_error()); if( mysql_num_rows($result) > 0 ) { ....
-
Gibt es nun eine möglich keit von der Variable $pwd die md5 summe zu bekommen?
Ja
AND `passwort` = '".md5($pwd)."'
nun wurde das pw in md5 umgerechnet, nun musste den md5 wert
einfach nur vergleichen mit den werten in deiner tabelle, fertig
Geändert von niroxx (19.07.05 um 12:45 Uhr)
-
Hast du meinen Vorschlag schon probiert, Homwer? Ich hab ihn noch einmal überarbeitet und einen Fehler beseitigt.
Markus Wulftange
-
Hi es läuft nun
habe einfach mit
$passwort = md5($pwd);
und dann
`name` = '".$name."'
AND passwort = '".$passwort."'
gemacht
Ähnliche Themen
-
Tabellenbreite stimmt nicht
Von Thomas_Jung im Forum CSSAntworten: 6Letzter Beitrag: 30.06.09, 12:17 -
[MySQL] Was stimmt in meiner Abfrage nicht?
Von Shen84 im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 02.03.09, 14:03 -
MySQL Datenbankdesign - Stimmt so meine Umsetzung?
Von X-Color im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 16.01.07, 11:15 -
Frontpage - MySql Feldtyp stimmt nicht überein
Von ArFiBa im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 26.12.04, 15:23 -
Was stimmt nicht mit de.vu********
Von Yasemin im Forum SmalltalkAntworten: 15Letzter Beitrag: 19.12.01, 13:23





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren