Passwortabfrage!

Status
Nicht offen für weitere Antworten.

Lapachon

Mitglied
Hi!

Ich habe vollgendes Problem:

Ich habe ein Script, das einen neuen Eintrag in die Datenbank macht!(MySQL)
Das founktioniert auch tadellos, nur hab ich dass Problem, dass man da ein Passwort und eine ID eingeben muss, was dann abgefragt werden muss, ob die Datensätze vorhanden sind, und sofern sie vorhanden sind, soll er mir ausgeben, dass entweder pwd und oder id bereits verwendet werden.

Ich hab auch schon angefangen, dass ich eine Passwort abfrage mache, ob die Passwörter die man eingegeben hat, auch übereinstimmen! Dass founktioniert auch, nur tragt er denn Datensatz trotzdem ein, obwohl die Passwörter nicht überreinstimmen.

Hier der Code:

<?

include "opendatabase.php";
include "database.php";

$queryselect = "SELECT * FROM regiester";
$result = ExecuteQuery($queryselect);

$pwd = $HTTP_POST_VARS[pwd];
$pwd1 = $HTTP_POST_VARS[pwd1];

if ($pwd == $pwd1) {
echo "";
}
else {
echo "Passwortwiederholung falsch";
}

?>
<html>
<head>
</head>
<title>meinungshaus.com</title>
<body background="bg.jpg" link="#000000" alink="#000000" vlink="#000000">
<?

$hint = "";
if (isset($_POST["gesendet"])) {
mysql_query("INSERT INTO regiester (login,pwd,pwd1) VALUES ('$login','$pwd', '$pwd1')") or die(mysql_error());
$hint = "Eintrag wurde gespeichert!";
}

?>
<form action="master.php" method="post" enctype="multipart/form-data">
<input type="hidden" value="gesendet" name="gesendet">
<table border="0" width="100%">
<tr>
<td colspan="2">
<font color="#000000" size="2" face="aria"><?=$hint;?></font>
</td>
</tr>
<tr>
<td align="center">
<br>
<font color="#000000" size="5" face="arial"><b><u>Neuer Eintrag:</u></b></font>
<br>
<br>
<br>
</td>
</tr>
</table>
<table width="100%" border="0">
<tr>
<td align="center">
<font color="#000000" size="3" face="arial">ID</font><br>
<input type="text" name="login" size="4" maxlength="4">
</td>
</tr>
<tr>
<td align="center">
<font color="#000000" size="3" face="arial">Passwort</font><br>
<input type="password" name="pwd" size="12" maxlength="12">
</td>
</tr>
<tr>
<td align="center">
<font color="#000000" size="3" face="arial">Passwort - wiederholen</font><br>
<input type="password" name="pwd1" size="12" maxlength="12">
</td>
</tr>
<tr>
<td align="center">
<br>
<input type="image" src="senden.jpg">
</td>
</tr>
</form>
</table>
</body>
</html>
 
soweit ich das jetzt überblicken kann, einfach bei der pw überprüfung, also hier:
PHP:
else {
echo "Passwortwiederholung falsch";
}
da unten einfach folgendes dranhängen:
PHP:
else {
echo "Passwortwiederholung falsch";
die();
}

wenn du das machst, dann stoppt er das ganze script und macht den eintrag natürlich auch nicht!
Du kannst auch dafür sorgen, das mysql selber verhindert das ein eintrag 2mal vorkommt, indem du die felder vom usernamen und dem pw auf "uniqe" stellst!
so sorgt mysql selber dafür, das es keinen eintrag 2mal gibt...
(hoffe das war so richtig, wenn nicht schlagt mich:-) )
 
Zuletzt bearbeitet:
warum speicherst Du das passwort ZWEIMAL in der Datenbank?
Wozu? beide sind doch identisch
Also nur eins speichern und das andere Feld löschen
 
wenn man Wert drauf legt, dass sein Code einen sch**** Stil hat, kann man das sicher machen...

du schliesst ja auch alle HTML Tags :rolleyes:

und (kenn dich nur noch unter deinem alten Namen :) ) boom is bestimmt kein Anfaenger mehr und erzaehlt hier Mist!
 
Original geschrieben von Kimble
wenn man Wert drauf legt, dass sein Code einen sch**** Stil hat, kann man das sicher machen...

du schliesst ja auch alle HTML Tags :rolleyes:

und (kenn dich nur noch unter deinem alten Namen :) ) boom is bestimmt kein Anfaenger mehr und erzaehlt hier Mist!

*rotwerd* Danke, du machst mich ja ganz verlegen! :)
Natürlich kann man die() auch so verwenden, aber irgendwie erfüllt es dann seinen zweck nicht mehr, nämlich mit einer Fehlermeldung abzubrechen. :)
 
Status
Nicht offen für weitere Antworten.
Zurück