Prev: Another UNION ALL query
Next: php mysql comparing two rows in two columns for username and passwort
From: Alexander Schunk on 29 Apr 2010 08:25 Hello, i am writing a small login script for a website. The username and passwort are stored in a database in two separate columns. I have it like this: while($dbbenutzer = mysql_fetch_row($sqlbenutzername)) while($dbpasswort = mysql_fetch_row($sqlpasswort)){ echo $dbbenutzer[$i]; echo $dbpasswort[$j]; if($benutzername == $dbbenutzer and $pass == $dbpasswort){ echo '<p>Sie haben sich erfolgreich angemeldet</p>'; echo '<a href="willkommen.html">Willkommen</a>'; } } } Sice the values are entries in rows in two columns, i use mysql_fetch_row to get the entries. Then i want to compare the returned values of the sql statement with the values provided by the user. My problem now is only get the first value pair of username and passwort, not the second. For instance the first value pair is moritz 123456 which i get returned but i dont get returned the second value pair thomas thorr. thank you yours sincerly Alexander Schunk
From: Karl DeSaulniers on 29 Apr 2010 09:00 Hi, Maybe try... $benutzername = $_GET['username']; $pass = $_GET['password']; $result = "SELECT * FROM usertable WHERE sqlbenutzername='$benutzername'"; while($r = mysql_fetch_row($result)) { $dbbenutzer = $r["sqlbenutzername"]; $dbpasswort = $r["sqlpasswort"]; } if($benutzername == $dbbenutzer && $pass == $dbpasswort){ echo '<p>Sie haben sich erfolgreich angemeldet</p>'; echo '<a href="willkommen.html">Willkommen</a>'; Karl On Apr 29, 2010, at 7:25 AM, Alexander Schunk wrote: > Hello, > > i am writing a small login script for a website. > > The username and passwort are stored in a database in two separate > columns. > > I have it like this: > > while($dbbenutzer = mysql_fetch_row($sqlbenutzername)) > while($dbpasswort = mysql_fetch_row($sqlpasswort)){ > > > echo $dbbenutzer[$i]; > echo $dbpasswort[$j]; > if($benutzername == $dbbenutzer and $pass == $dbpasswort){ > echo '<p>Sie haben sich erfolgreich angemeldet</p>'; > echo '<a href="willkommen.html">Willkommen</a>'; > } > } > > } > > Sice the values are entries in rows in two columns, i use > mysql_fetch_row to get the entries. > > Then i want to compare the returned values of the sql statement with > the values provided by the user. > > My problem now is only get the first value pair of username and > passwort, not the second. > For instance the first value pair is moritz 123456 which i get > returned but i dont get returned the second value pair thomas thorr. > > thank you > yours sincerly > Alexander Schunk > > -- > PHP Database Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > Karl DeSaulniers Design Drumm http://designdrumm.com
From: Peter Lind on 29 Apr 2010 10:37 On 29 April 2010 15:00, Karl DeSaulniers <karl(a)designdrumm.com> wrote: > Hi, > Maybe try... > > $benutzername = $_GET['username']; > $pass = $_GET['password']; > > $result = "SELECT * FROM usertable WHERE sqlbenutzername='$benutzername'"; Don't use values from $_GET without sanitizing first. If using mysql_* functions, sanitize with mysql_real_escape_string() first. > while($r = mysql_fetch_row($result)) { > Â Â Â Â $dbbenutzer = $r["sqlbenutzername"]; > Â Â Â Â $dbpasswort = $r["sqlpasswort"]; > } > Â Â Â if($benutzername == $dbbenutzer && $pass == $dbpasswort){ This would work but only if you're storing passwords in the database in clear text - which is a Bad Thing and should be avoided. Hash the passwords before storing and compare with a hashed version, not the cleartext. Regards Peter -- <hype> WWW: http://plphp.dk / http://plind.dk LinkedIn: http://www.linkedin.com/in/plind Flickr: http://www.flickr.com/photos/fake51 BeWelcome: Fake51 Couchsurfing: Fake51 </hype>
From: Peter Lind on 29 Apr 2010 10:49 On 29 April 2010 16:44, Alexander Schunk <aschunk(a)gmail.com> wrote: > Hello, > > i have it now as follows: > > while($dbbenutzer = mysql_fetch_assoc($sqlbenutzername)) > Â Â Â Â while($dbpasswort = mysql_fetch_assoc($sqlpasswort)){ You have things very twisted. Check the code posted by Karl - you only need *ONE* row containing your *TWO* fields. mysql_fetch_assoc() retrieves that *ONE* row from a MySQL result set as an array - so having those two while statements will do you no good. Regards Peter -- <hype> WWW: http://plphp.dk / http://plind.dk LinkedIn: http://www.linkedin.com/in/plind Flickr: http://www.flickr.com/photos/fake51 BeWelcome: Fake51 Couchsurfing: Fake51 </hype>
|
Pages: 1 Prev: Another UNION ALL query Next: php mysql comparing two rows in two columns for username and passwort |