Hoi,
Ik het zo goed als mogelijk aangepast maar krijg de volgende foutmelding:
De query is niet gelukt: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE username=' ed' AND password=' abc '' at line 1
Bijgaand de code
<!DOCTYPE html>
<html>
<head>
<title>Inloggen</title>
</head>
<body>
<center>
<br>
<h1>Inloggen</h1>
<br>
<div style= "background-color: grey; width: 1000px">
<br>
<br>
<form action =# method="POST">
<div>
<label>Wachtwoord</label>
<input type="text" name="username" required>
</div>
<br>
<br>
<div>
<label>Password</label>
<input type="password" name="password" required>
</div>
<br>
<br>
<div>
<input type="submit" value="Login">
</div>
</form>
<br>
</div>
</center>
<?php
$host = "localhost";
$user = "root";
$password ="usbw";
$db = "login";
$data = mysqli_connect($host, $user, $password, $db);
if($data==false)
{
die ("Connection error");
}
if($_SERVER ["REQUEST_METHOD"]=="POST")
{
$username = $_POST["username"];
$password = $_POST["password"];
$sql = "SELECT * FROM login WHERE username= ' ".$username. "' AND password= ' ".$password. " ' WHERE username=' ed' AND password=' abc '";
$result = mysqli_query($data, $sql);
}
if( $result = mysqli_query($data,$sql) )
{
$row = mysqli_fetch_array($result);
if( $row["usertype"]=="user" )
{
echo "user";
}
elseif($row["usertype"]=="admin")
{
echo "admin";
}
else
{
echo "username or password incorrect";
}
} else {
echo "De query is niet gelukt: ".mysqli_error($data);
}
?>
zover ik weet gebruik versie 5 van ik weet of dat daar al mis gaat, maar mijn inziens niet. Wat gaat er nu mis?
Groetjes
Ed
Link gekopieerd
WHERE AND en daarna WHERE AND?
Wat is volgens jouw het nut om eerst te kijken naar je invoer, en daarna opeens hardcoded te controleren op 'ed' en 'abc'? Dit lijkt mij een gevalletje van een foute copy-paste?
Sowieso kan je nooit WHERE AND WHERE AND als volgorde gebruiken.
Link gekopieerd
hallo,
Bijna alle fouten weggewerkt maar deze blijft over:
username or password incorrect
Wat is nog het probleem?
[size=xsmall]
Toevoeging op 05/11/2021 16:39:28: [/size]
<!DOCTYPE html>
<html>
<head>
<title>Inloggen</title>
</head>
<body>
<center>
<br>
<h1>Inloggen</h1>
<br>
<div style= "background-color: grey; width: 1000px">
<br>
<br>
<form action =# method="POST">
<div>
<label>Wachtwoord</label>
<input type="text" name="username" required>
</div>
<br>
<br>
<div>
<label>Password</label>
<input type="password" name="password" required>
</div>
<br>
<br>
<div>
<input type="submit" value="Login">
</div>
</form>
<br>
</div>
</center>
<?php
$host = "localhost";
$user = "root";
$password ="usbw";
$db = "login";
$data = mysqli_connect($host, $user, $password, $db);
if($data==false)
{
die ("Connection error");
}
if($_SERVER ["REQUEST_METHOD"]=="POST")
{
$username = $_POST["username"];
$password = $_POST["password"];
$sql = "SELECT * FROM user WHERE username = ' ".$username. "' AND password = ' ".$password. " '";
$result = mysqli_query($data, $sql);
}
if( $result = mysqli_query($data,$sql) )
{
$row = mysqli_fetch_array($result);
if( $row["usertype"]=="user" )
{
echo "user";
}
elseif($row["usertype"]=="admin")
{
echo "admin";
}
else
{
echo "username or password incorrect";
}
} else
{
echo "De query is niet gelukt: ".mysqli_error($data);
}
?>
Link gekopieerd
Het gaat nog steeds niet goed!
het geval met spaties heb ik even als commentaar gezet
Hoe los ik het probleem nu op??
ik heb als gbn user gebruikt en als wachtwoord 1234
Link gekopieerd
- Ariën -
05-11-2021 17:12
gewijzigd op 05-11-2021 17:13
Jij voert als username ed in, en omdat je in je query een spatie hebt staan, zoekt MySQL dus naar [spatie] ed . En die gebruiker bestaat dus niet.
En dat geldt ook voor je wachtwoord.
Link gekopieerd
Hoi Arien
Dat doe ik niet!
ik vul in user en 1234!!
Link gekopieerd
ok, dan bedoelt Ariën dus
zoekt MySQL dus naar [spatie]user.
en voor password vraag jij aan de database naar [spatie]1234[spatie]
een beeetje begrijpend lezen is misschien wel handig....
Link gekopieerd
Ja Ed, dat doe je.
Maar in de query staan er SPATIES VOOR EN ACHTER.
Als je goed kijkt kan je ze zien.
$sql = "SELECT * FROM user WHERE username = ' ".$username. "' AND password = ' ".$password. " '";
[size=xsmall]
Toevoeging op 05/11/2021 17:27:16: [/size]
HBO denknivo
Link gekopieerd
Oeps sorry niet gezien maar ik kom nu bij user uit!! Yippie
Link gekopieerd