PHP-mysterium
Jag håller på å lära mig PHP och håller just nu på att testa att skriva en enkel login sida.
Eftersom jag mest "leker" så använder jag MySQL-tabellens primary id som användarnamn, och två lösenord.
Nu har jag dock stött på ett problem som jag inte fattar hur det ens kan uppstå.
När jag kollar ett av de inskrivna lösenorden med lösenordet i databasen så tycker den att de både är lika, och inte är lika.
Inloggningssidan är skriven såhär:
<html>
<form action='login.php' method='POST'>
ID: <input type='text' name='id'><br>
Pw1: <input type='password' name='pw1'><br>
Pw2: <input type='password' name='pw2'><br>
<input type='submit' value='Logga in'>
</form>
</html>
Och PHP-koden som jag använder ser ut såhär:
<?php
$user = $_POST['id'];
$pw1 = $_POST['pw1'];
$pw2 = $_POST['pw2'];
if (!$user||!$pw1||!$pw2)
{
die("Saknas text i något av fälten");
}
//Anslut til databasen
include("connstring.php");
if (!$con)
{ die('CONNECT FEL: ' . mysql_error()); }
mysql_select_db($db, $con) or die('SELECT DB FEL: ' . mysql_error());
//Kollar användaren
$query = mysql_query("SELECT * FROM safe WHERE id='$user'");
if (!$query)
{ die("SELECT FEL: " . mysql_error()); }
$numrows = mysql_num_rows($query);
if ($numrows==0)
{ die("Fel id"); }
$test = 0; // SKA BORT
//Kollar lösen
//Skapar en array
while ($row = mysql_fetch_assoc($query))
{
$test = $test + 1; // SKA BORT
//Lägger anv o lösen i variabler
$dbuser = $row['id'];
$dbpw1 = $row['username'];
$dbpw2 = $row['password'];
echo($test . "<p>"); // SKA BORT
}
echo("PW1: " . $pw1 . "<br>dbpw1: " . $dbpw1 . "<br>"); // SKA BORT
if ($pw1===$dbpw1); // SKA BORT
{
echo("Identisk<br>");
}
if ($pw1==$dbpw1); // SKA BORT
{
echo("Samma<br>");
}
if ($pw1!=$dbpw1); // SKA BORT
{
echo("Inte Samma<br>");
}
if ($pw1!==$dbpw1); // SKA BORT
{
echo("Inte Identisk<br>");
}
// kollar om anv o lösen matchar
/*if ($user===$dbuser && $pw1===$dbpw1 && $pw2===$dbpw2);
{
echo("Inloggad");
}
/*else
{
echo("Fel lösenord");
}*/
?>
Det som skrivs ut på sidan är följande:
1
PW1: atgjhfxdhj
dbpw1: abc123
Identisk
Samma
Inte Samma
Inte Identisk
Sidan finns att testa på: http://erikh.se/log/pw.html
Jag fattar inte riktigt hur $pw1!=$dbpw1 och $pw1==$dbpw1 båda kan vara True.
Men som sagt så håller jag på å lär mig, så de e säkert nått jättelätt som jag har missat eller inte ser.
Tacksam för hjälp