Vollstndige Version anzeigen : mp5 verschlsselung
hi, wie kann ich am besten einer mp5 password verschlsselung aus einer variablen mit einer aus der datenbank vergleichen?
Original geschrieben von joker
hi, wie kann ich am besten einer mp5 password verschlsselung aus einer variablen mit einer aus der datenbank vergleichen?
mp5? Du meinst wohl md5.
<?php
//$var enthlt ein mit md5 verschlsseltes Passwort
$sql = "SELECT
feld
FROM
tabelle
ORDER BY
feld2";
$result = mysql_query($sql);
$row = mysql_fetch_array($result, MYSQL_ASSOC);
if($row['feld'] == $var) {
echo "Passwort ist richtig!";
} else {
echo "Passwort ist nicht richtig!";
}
?>
danke hat mir schon mal weitergeholfen ein wenig, aber was ist wenn ich es aus einer bestimmten zeile haben will, tabelle ist z.b. so aufgebaut:
userid | username | password
1 xy 1223
2 x 2354
3 zx 7543
und ich will das password mit dem aus der zeile 2 vergleichen?
und noch ne frage, wofr steht das
ORDER BY feld2 ? was ist mit feld 2 gemeint?
Huhu,
und noch ne frage, wofr steht das
ORDER BY feld2 ? was ist mit feld 2 gemeint?
userid | username | password <- Das sind Deine Feldnamen
1 xy 1223
2 x 2354
3 zx 7543
Was ORDER BY bedeutet weisst Du doch, oder?
und ich will das password mit dem aus der zeile 2 vergleichen?
$sql = "SELECT
userid, username ,password
FROM
tabelle
WHERE
userid=2";
Grsse
ja denk schon zum sortieren, kenn aber nur dir arten ASC und DESC un versteh nicht warum es`sortiert werden soll und was xabbuh mit
"field2" meint?!
SELECT
feld
FROM
tabelle
ORDER BY
feld2
Und was ist mit feld? Irritiert Dich das nicht?
Wenn Du nur einen Datensatz abfragen willst, knntest Du Dir die Sortierung unter Umstnden schenken. ;-)
xabbuh hat halt irgend ein Bsp. genommen...
hi, ok dann bedanke ich mich mal :)
hab mal noch dazu ne andere frage zur optimierung des scriptes, kann man den folgenden code noch verkrzen oder ist er so gut?
if (isset($_COOKIE['forum_userid'])) {
$userid = $_COOKIE['forum_userid'];
$retid = mysql_query("SELECT * FROM users WHERE userid = '{$userid}'");
$row = mysql_fetch_assoc($retid);
$userpw = $_COOKIE['forum_userpassword'];
$retid_pw = mysql_query("SELECT * FROM users WHERE password = '{$userpw}'");
$row_pw = mysql_fetch_assoc($retid_pw);
$sql = "SELECT
userid, password
FROM
users
WHERE
userid=$userid";
$result = mysql_query($sql);
$row_pw = mysql_fetch_array($result, MYSQL_ASSOC);
if($row_pw['password'] == $userpw) {
print_r ($row['username']);
echo "<br />n<a href="login.php">User Panel</a><br />n";
} else {
echo "Gast (<a href="login.php">Login</a>)<br />n";
echo "<a href="login.php">Registrieren</a><br />n";
echo "<a href="login.php">Info</a><br />n";
}
}else {
echo "Gast (<a href="login.php">Login</a>)<br />n";
echo "<a href="login.php">Registrieren</a><br />n";
echo "<a href="login.php">Info</a><br />n";
}
huhu,
es ist nicht immer alles gut was kurz ist. Schreib deine Scripte lieber so, dass DU berblick hast, dass kann dir einiges an Zeit sparen. *klugscheiss* *gg*
GreetZ Domi
Da muss man noch ein bisschen dahinter...
if (isset($_COOKIE['forum_userid'])) {
$userid = $_COOKIE['forum_userid'];
$retid = mysql_query("SELECT * FROM users WHERE userid = '{$userid}'");
$row = mysql_fetch_assoc($retid);
$userpw = $_COOKIE['forum_userpassword'];
$retid_pw = mysql_query("SELECT * FROM users WHERE password = '{$userpw}'");
$row_pw = mysql_fetch_assoc($retid_pw);
hmmm. was ist, wenn 2 user das gleiche passwort haben? Das ganze ist berhaupt nicht optimal...
erst alles auslesen, dann vergleichen. du liest die tabelle unntigerweise 3 mal aus, und nicht immer von der ID her (was langsamer geht, da die ID sortiert ist und somit in logarithmischer zeit gefunden wird, statt linear, wie beim PW)
so in etwa:
if (isset($_COOKIE['forum_userid'])) {
$userid = $_COOKIE['forum_userid'];
$result = mysql_query("SELECT username, password FROM users WHERE userid = '".$userid."'");
$row = mysql_fetch_row($result);
if ($_COOKIE['forum_userpassword'] != $row[1])
{//tuwas - pw falsch
}
else
{
$logged_in = 1;
$username = $row[0];
// erfolgreich eingeloggt.
}
$sql = "SELECT
userid, password
FROM
users
WHERE
userid=$userid";
$result = mysql_query($sql);
$row_pw = mysql_fetch_array($result, MYSQL_ASSOC);
if($row_pw['password'] == $userpw) {
print_r ($row['username']);
echo "<br />n<a href="login.php">User Panel</a><br />n";
} else {
echo "Gast (<a href="login.php">Login</a>)<br />n";
echo "<a href="login.php">Registrieren</a><br />n";
echo "<a href="login.php">Info</a><br />n";
}
}else {
echo "Gast (<a href="login.php">Login</a>)<br />n";
echo "<a href="login.php">Registrieren</a><br />n";
echo "<a href="login.php">Info</a><br />n";
}
ich wrde immer so eine $logged variable machen, die man im header include immer machen kann, somit weiss man immer ob jemand eingeloggt ist, sonst musst du immer wieder von neuem mhsam die datenbank auslesen etc. hoffentlich hab ich's verstndlich ausgedrckt ;)
ich habs so gemacht nun:
$userid = $_COOKIE['forum_userid'];
$userpw = $_COOKIE['forum_userpassword'];
$ret = mysql_query("SELECT username, password, lastvisit FROM users WHERE userid = '".mysql_escape_string($userid)."' AND password = '".mysql_escape_string($userpw)."'") or die (mysql_error());
if(mysql_num_rows($ret) == 1) {
$row = mysql_fetch_array($ret, MYSQL_ASSOC);
print_r ($row['username']);
echo "<br />n<a href=".$back.""login.php">User Panel</a><br />n";
} else {
echo "Gast (<a href=".$back.""login.php">Login</a>)<br />n";
echo "<a href=".$back.""login.php">Registrieren</a> <a href=".$back.""misc/faq.php#1">?</a><br />n";
echo "<a href=".$back.""login.php">Info</a><br />n";
}
ist das auch so gut? bin der $loget is ne gute idee, und dan mit ner abfrage nur die variable abfragen odeR?
sieht schon viel besser aus, sollte so klappen.
habs nun es mit deinem vorschlag ( $loged variable ) eingefgt und arbeite ber die variable, funzt super und entlasted den server, war nen super vorschlag danke :)
vBulletin v3.0.7, Copyright ©2000-2005, Jelsoft Enterprises Ltd.