Inloggen geeft problemen
Ik probeer in simpel inlog form te maken via informatie uit een database. De informatie uit de database komt door een registratie form die ik heb gemaakt. Er is nu dus een probleem met mijn code waar hij geen foutmelding over geeft. Het enige wat hij doet is de hele tijd "echo "U heeft een onjuist login/wachtwoord ingevoerd";" uitvoeren dus ik heb heel erg het gevoel alsof ik iets ben vergeten. Ik heb op het moment niet iemand dichtbij die misschien wel het probleem ziet, maar daarom hoop ik dat jullie mij kunnen helpen. Hier is mijn code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
session_start();
$connect = new mysqli("localhost",
"root",
"usbw",
"cms");
if($connect ->connect_errno)
{
printf("Connect failed %s", $db->connect_error);
return false;
}
if (isset($_POST['submit']))
{
$loginpost = $_POST['login'];
$wachtwoordpost = $_POST['wachtwoord'];
$loginpost = $_SESSION['login'];
$uitkomst = mysqli_query($connect, "SELECT * FROM auteurs") or die($uitkomst . "<br/><br/>" . mysqli_error());
$row = mysqli_fetch_array($uitkomst);
$login = $row['Login'];
$wachtwoord = $row['Wachtwoord'];
if ($row["Login"] == $loginpost && $row["Wachtwoord"] == $wachtwoordpost)
{
echo "U bent ingelogd!";
}
else
{
echo "U heeft een onjuist login/wachtwoord ingevoerd";
}
}
}
?>
session_start();
$connect = new mysqli("localhost",
"root",
"usbw",
"cms");
if($connect ->connect_errno)
{
printf("Connect failed %s", $db->connect_error);
return false;
}
if (isset($_POST['submit']))
{
$loginpost = $_POST['login'];
$wachtwoordpost = $_POST['wachtwoord'];
$loginpost = $_SESSION['login'];
$uitkomst = mysqli_query($connect, "SELECT * FROM auteurs") or die($uitkomst . "<br/><br/>" . mysqli_error());
$row = mysqli_fetch_array($uitkomst);
$login = $row['Login'];
$wachtwoord = $row['Wachtwoord'];
if ($row["Login"] == $loginpost && $row["Wachtwoord"] == $wachtwoordpost)
{
echo "U bent ingelogd!";
}
else
{
echo "U heeft een onjuist login/wachtwoord ingevoerd";
}
}
}
?>
Ik hoop dat jullie mij hiermee kunnen helpen want ik word er helemaal gek van!
Alvast bedankt!
Edit:
Ik heb de topictitel aangepast van 'Inloggen' naar 'Inloggen geeft problemen'.
Gelieve in het vervolg een duidelijke titel aan het topic mee te geven die je probleem of vraagstelling omschrijft. Alvast bedankt!
Gelieve in het vervolg een duidelijke titel aan het topic mee te geven die je probleem of vraagstelling omschrijft. Alvast bedankt!
Gewijzigd op 01/03/2018 09:44:31 door - Ariën -
Gebruik gewoon WHERE in de query.
Dat gebruikte ik ook eerst maar dat werkte niet... ik heb het er nu weer in gezet en het werkt nog steeds niet. Hij geeft ook verder geen foutmelding dus ik snap er echt niks van.
Gewijzigd op 01/03/2018 12:51:21 door - Ariën -
Laat de relevante code zien.
- SanThe - op 28/02/2018 22:50:02:
Laat de relevante code zien.
Jochem Odendaal op 28/02/2018 22:38:08:
Hallo allemaal!
Ik probeer in simpel inlog form te maken via informatie uit een database. De informatie uit de database komt door een registratie form die ik heb gemaakt. Er is nu dus een probleem met mijn code waar hij geen foutmelding over geeft. Het enige wat hij doet is de hele tijd "echo "U heeft een onjuist login/wachtwoord ingevoerd";" uitvoeren dus ik heb heel erg het gevoel alsof ik iets ben vergeten. Ik heb op het moment niet iemand dichtbij die misschien wel het probleem ziet, maar daarom hoop ik dat jullie mij kunnen helpen. Hier is mijn code:
Ik hoop dat jullie mij hiermee kunnen helpen want ik word er helemaal gek van!
Alvast bedankt!
Ik probeer in simpel inlog form te maken via informatie uit een database. De informatie uit de database komt door een registratie form die ik heb gemaakt. Er is nu dus een probleem met mijn code waar hij geen foutmelding over geeft. Het enige wat hij doet is de hele tijd "echo "U heeft een onjuist login/wachtwoord ingevoerd";" uitvoeren dus ik heb heel erg het gevoel alsof ik iets ben vergeten. Ik heb op het moment niet iemand dichtbij die misschien wel het probleem ziet, maar daarom hoop ik dat jullie mij kunnen helpen. Hier is mijn code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
session_start();
$connect = new mysqli("localhost",
"root",
"usbw",
"cms");
if($connect ->connect_errno)
{
printf("Connect failed %s", $db->connect_error);
return false;
}
if (isset($_POST['submit']))
{
$loginpost = $_POST['login'];
$wachtwoordpost = $_POST['wachtwoord'];
$loginpost = $_SESSION['login'];
$uitkomst = mysqli_query($connect, "SELECT * FROM auteurs") or die($uitkomst . "<br/><br/>" . mysqli_error());
$row = mysqli_fetch_array($uitkomst);
$login = $row['Login'];
$wachtwoord = $row['Wachtwoord'];
if ($row["Login"] == $loginpost && $row["Wachtwoord"] == $wachtwoordpost)
{
echo "U bent ingelogd!";
}
else
{
echo "U heeft een onjuist login/wachtwoord ingevoerd";
}
}
}
?>
session_start();
$connect = new mysqli("localhost",
"root",
"usbw",
"cms");
if($connect ->connect_errno)
{
printf("Connect failed %s", $db->connect_error);
return false;
}
if (isset($_POST['submit']))
{
$loginpost = $_POST['login'];
$wachtwoordpost = $_POST['wachtwoord'];
$loginpost = $_SESSION['login'];
$uitkomst = mysqli_query($connect, "SELECT * FROM auteurs") or die($uitkomst . "<br/><br/>" . mysqli_error());
$row = mysqli_fetch_array($uitkomst);
$login = $row['Login'];
$wachtwoord = $row['Wachtwoord'];
if ($row["Login"] == $loginpost && $row["Wachtwoord"] == $wachtwoordpost)
{
echo "U bent ingelogd!";
}
else
{
echo "U heeft een onjuist login/wachtwoord ingevoerd";
}
}
}
?>
Ik hoop dat jullie mij hiermee kunnen helpen want ik word er helemaal gek van!
Alvast bedankt!
Probeer deze query eens:
als er een result is, vergelijk $_POST['wachtwoord']; met het wachtwoord uit de db.
Ook moet je rekening houden met sql injection. Je moet de string escapen.
Bijvoorbeeld:
Gewijzigd op 28/02/2018 22:53:31 door Jasper Schellekens
Toevoeging op 28/02/2018 22:53:22:
Jasper Schellekens op 28/02/2018 22:51:55:
als er een result is, vergelijk $_POST['wachtwoord']; met het wachtwoord uit de db.
Ook moet je rekening houden met sql injection. Je moet de string escapen.
Bijvoorbeeld:
$wachtwoordpost = mysqli_real_escape_string($connect, $_POST['Wachtwoord'];);
als er een result is, vergelijk $_POST['wachtwoord']; met het wachtwoord uit de db.
Ook moet je rekening houden met sql injection. Je moet de string escapen.
Bijvoorbeeld:
$wachtwoordpost = mysqli_real_escape_string($connect, $_POST['Wachtwoord'];);
Dit is zo, maar als een wachtwoord gehashed is (AANRADER!!!), dan is het niet nodig. Je hebt dan toch altijd een veilige string.
Gewijzigd op 28/02/2018 22:53:42 door - Ariën -
- Ariën - op 28/02/2018 22:51:57:
Ik hoop dat je je wachtwoord wel veilig gehashed hebt!
Dat heb ik zeker! de registratie werkt prima. Alleen de login lukt me maar niet :(
Gewijzigd op 28/02/2018 22:56:31 door Jochem Odendaal
- Ariën - op 28/02/2018 22:51:57:
Ik hoop dat je je wachtwoord wel veilig gehashed hebt!
Toevoeging op 28/02/2018 22:53:22:
Dit is zo, maar als een wachtwoord gehashed is (AANRADER!!!), dan is het niet nodig. Je hebt dan toch altijd een veilige string.
Toevoeging op 28/02/2018 22:53:22:
Jasper Schellekens op 28/02/2018 22:51:55:
als er een result is, vergelijk $_POST['wachtwoord']; met het wachtwoord uit de db.
Ook moet je rekening houden met sql injection. Je moet de string escapen.
Bijvoorbeeld:
$wachtwoordpost = mysqli_real_escape_string($connect, $_POST['Wachtwoord'];);
als er een result is, vergelijk $_POST['wachtwoord']; met het wachtwoord uit de db.
Ook moet je rekening houden met sql injection. Je moet de string escapen.
Bijvoorbeeld:
$wachtwoordpost = mysqli_real_escape_string($connect, $_POST['Wachtwoord'];);
Dit is zo, maar als een wachtwoord gehashed is (AANRADER!!!), dan is het niet nodig. Je hebt dan toch altijd een veilige string.
Inderdaad, ik had mijn wachtwoord input ook niet escaped omdat ik zoiets al had gedacht. Maar de rest wel, want als je een sql injectie krijgt ben je toch wel de sjaak.
Toevoeging op 28/02/2018 22:59:04:
Jochem Odendaal op 28/02/2018 22:55:40:
Dat heb ik zeker! de registratie werkt prima. Alleen de login lukt me maar niet :(
- Ariën - op 28/02/2018 22:51:57:
Ik hoop dat je je wachtwoord wel veilig gehashed hebt!
Dat heb ik zeker! de registratie werkt prima. Alleen de login lukt me maar niet :(
In je code zie ik geen manier van hash.
MD5 werkt bijvoorbeeld zo: (MD5 kan je beter niet gebruiken)
Als ik het goed heb dan, anders vergelijkt hij volgensmij joun ingevulde wachtwoord met een lange code die encrypted is.
Jasper Schellekens op 28/02/2018 22:51:55:
Probeer deze query eens:
als er een result is, vergelijk $_POST['wachtwoord']; met het wachtwoord uit de db.
Ook moet je rekening houden met sql injection. Je moet de string escapen.
Bijvoorbeeld:
Jochem Odendaal op 28/02/2018 22:38:08:
Hallo allemaal!
Ik probeer in simpel inlog form te maken via informatie uit een database. De informatie uit de database komt door een registratie form die ik heb gemaakt. Er is nu dus een probleem met mijn code waar hij geen foutmelding over geeft. Het enige wat hij doet is de hele tijd "echo "U heeft een onjuist login/wachtwoord ingevoerd";" uitvoeren dus ik heb heel erg het gevoel alsof ik iets ben vergeten. Ik heb op het moment niet iemand dichtbij die misschien wel het probleem ziet, maar daarom hoop ik dat jullie mij kunnen helpen. Hier is mijn code:
Ik hoop dat jullie mij hiermee kunnen helpen want ik word er helemaal gek van!
Alvast bedankt!
Ik probeer in simpel inlog form te maken via informatie uit een database. De informatie uit de database komt door een registratie form die ik heb gemaakt. Er is nu dus een probleem met mijn code waar hij geen foutmelding over geeft. Het enige wat hij doet is de hele tijd "echo "U heeft een onjuist login/wachtwoord ingevoerd";" uitvoeren dus ik heb heel erg het gevoel alsof ik iets ben vergeten. Ik heb op het moment niet iemand dichtbij die misschien wel het probleem ziet, maar daarom hoop ik dat jullie mij kunnen helpen. Hier is mijn code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
session_start();
$connect = new mysqli("localhost",
"root",
"usbw",
"cms");
if($connect ->connect_errno)
{
printf("Connect failed %s", $db->connect_error);
return false;
}
if (isset($_POST['submit']))
{
$loginpost = $_POST['login'];
$wachtwoordpost = $_POST['wachtwoord'];
$loginpost = $_SESSION['login'];
$uitkomst = mysqli_query($connect, "SELECT * FROM auteurs") or die($uitkomst . "<br/><br/>" . mysqli_error());
$row = mysqli_fetch_array($uitkomst);
$login = $row['Login'];
$wachtwoord = $row['Wachtwoord'];
if ($row["Login"] == $loginpost && $row["Wachtwoord"] == $wachtwoordpost)
{
echo "U bent ingelogd!";
}
else
{
echo "U heeft een onjuist login/wachtwoord ingevoerd";
}
}
}
?>
session_start();
$connect = new mysqli("localhost",
"root",
"usbw",
"cms");
if($connect ->connect_errno)
{
printf("Connect failed %s", $db->connect_error);
return false;
}
if (isset($_POST['submit']))
{
$loginpost = $_POST['login'];
$wachtwoordpost = $_POST['wachtwoord'];
$loginpost = $_SESSION['login'];
$uitkomst = mysqli_query($connect, "SELECT * FROM auteurs") or die($uitkomst . "<br/><br/>" . mysqli_error());
$row = mysqli_fetch_array($uitkomst);
$login = $row['Login'];
$wachtwoord = $row['Wachtwoord'];
if ($row["Login"] == $loginpost && $row["Wachtwoord"] == $wachtwoordpost)
{
echo "U bent ingelogd!";
}
else
{
echo "U heeft een onjuist login/wachtwoord ingevoerd";
}
}
}
?>
Ik hoop dat jullie mij hiermee kunnen helpen want ik word er helemaal gek van!
Alvast bedankt!
Probeer deze query eens:
als er een result is, vergelijk $_POST['wachtwoord']; met het wachtwoord uit de db.
Ook moet je rekening houden met sql injection. Je moet de string escapen.
Bijvoorbeeld:
Jammer genoeg werkt het alsnog niet maar toch bedankt!
Jochem Odendaal op 28/02/2018 22:55:40:
Dat heb ik zeker! de registratie werkt prima. Alleen de login lukt me maar niet :(
- Ariën - op 28/02/2018 22:51:57:
Ik hoop dat je je wachtwoord wel veilig gehashed hebt!
Dat heb ik zeker! de registratie werkt prima. Alleen de login lukt me maar niet :(
Vertel eens meer. Waar loop je po vast?
Wat heb je geprobeerd?
Hoe staat je wachtwoord opgeslagen in de database?
Enne, md5() is al gekraakt inmiddels en ontoelaatbaar gevonden voor veilig hashen.
Gewijzigd op 28/02/2018 23:01:52 door - Ariën -
Jasper Schellekens op 28/02/2018 22:56:37:
Inderdaad, ik had mijn wachtwoord input ook niet escaped omdat ik zoiets al had gedacht. Maar de rest wel, want als je een sql injectie krijgt ben je toch wel de sjaak.
Toevoeging op 28/02/2018 22:59:04:
In je code zie ik geen manier van hash.
MD5 werkt bijvoorbeeld zo: (MD5 kan je beter niet gebruiken)
Als ik het goed heb dan, anders vergelijkt hij volgensmij joun ingevulde wachtwoord met een lange code die encrypted is.
- Ariën - op 28/02/2018 22:51:57:
Ik hoop dat je je wachtwoord wel veilig gehashed hebt!
Toevoeging op 28/02/2018 22:53:22:
Dit is zo, maar als een wachtwoord gehashed is (AANRADER!!!), dan is het niet nodig. Je hebt dan toch altijd een veilige string.
Toevoeging op 28/02/2018 22:53:22:
Jasper Schellekens op 28/02/2018 22:51:55:
als er een result is, vergelijk $_POST['wachtwoord']; met het wachtwoord uit de db.
Ook moet je rekening houden met sql injection. Je moet de string escapen.
Bijvoorbeeld:
$wachtwoordpost = mysqli_real_escape_string($connect, $_POST['Wachtwoord'];);
als er een result is, vergelijk $_POST['wachtwoord']; met het wachtwoord uit de db.
Ook moet je rekening houden met sql injection. Je moet de string escapen.
Bijvoorbeeld:
$wachtwoordpost = mysqli_real_escape_string($connect, $_POST['Wachtwoord'];);
Dit is zo, maar als een wachtwoord gehashed is (AANRADER!!!), dan is het niet nodig. Je hebt dan toch altijd een veilige string.
Inderdaad, ik had mijn wachtwoord input ook niet escaped omdat ik zoiets al had gedacht. Maar de rest wel, want als je een sql injectie krijgt ben je toch wel de sjaak.
Toevoeging op 28/02/2018 22:59:04:
Jochem Odendaal op 28/02/2018 22:55:40:
Dat heb ik zeker! de registratie werkt prima. Alleen de login lukt me maar niet :(
- Ariën - op 28/02/2018 22:51:57:
Ik hoop dat je je wachtwoord wel veilig gehashed hebt!
Dat heb ik zeker! de registratie werkt prima. Alleen de login lukt me maar niet :(
In je code zie ik geen manier van hash.
MD5 werkt bijvoorbeeld zo: (MD5 kan je beter niet gebruiken)
Als ik het goed heb dan, anders vergelijkt hij volgensmij joun ingevulde wachtwoord met een lange code die encrypted is.
JUP! dat was hem :D. Echt hartelijk bedankt voor uw hulp! Ik heb hier de hele middag aan gezeten en af te vragen wat er nou fout aan is maar nu werkt hij!
Was even als voorbeeld. Ik heb het namelijk ook gebruikt, totdat ik wist waarom het niet veilig is.
Gewijzigd op 28/02/2018 23:03:28 door Jasper Schellekens
Dan zit je altijd veilig.
Jasper Schellekens op 28/02/2018 23:03:09:
Jaa vandaar dat ik zei: (MD5 kan je beter niet gebruiken)
Was even als voorbeeld. Ik heb het namelijk ook gebruikt, totdat ik wist waarom het niet veilig is.
Jaa vandaar dat ik zei: (MD5 kan je beter niet gebruiken)
Was even als voorbeeld. Ik heb het namelijk ook gebruikt, totdat ik wist waarom het niet veilig is.
Het is voor school dus er werd ons uitgelegd waarom we beter geen md5 kunnen gebruiken maar daarna zei onze leraar dat we het moesten gebruiken in de komende paar opdrachten om er mee te leren werken.
md5_file om corruptie van bestanden te detecteren en voor tijdelijke hashes.
md5() is opsich niet afgeschreven als functie, dus ik snap zijn argument wel. Maar voor het hashen van wachtwoorden is het zeer afgeraden. Ikzelf gebruik md5() enkel alleen voor het genereren van filehashes Jochem Odendaal op 28/02/2018 23:06:47:
Het is voor school
Mag ik vragen wat voor opleiding jij volgt?
Heb jij naast enige PHP-theorie ook uitleg gekregen over hoe (My)SQL werkt en hoe je vragen kunt stellen aan de database?
En tot slot, is je ook verteld hoe je veilig DATA invoegt in SQL?
Nu ging jij er van uit dat ze hetzelfde waren en was je verbaast over de uitkomst.
Thomas van den Heuvel op 01/03/2018 00:51:54:
Mag ik vragen wat voor opleiding jij volgt?
Heb jij naast enige PHP-theorie ook uitleg gekregen over hoe (My)SQL werkt en hoe je vragen kunt stellen aan de database?
En tot slot, is je ook verteld hoe je veilig DATA invoegt in SQL?
Jochem Odendaal op 28/02/2018 23:06:47:
Het is voor school
Mag ik vragen wat voor opleiding jij volgt?
Heb jij naast enige PHP-theorie ook uitleg gekregen over hoe (My)SQL werkt en hoe je vragen kunt stellen aan de database?
En tot slot, is je ook verteld hoe je veilig DATA invoegt in SQL?
Jup, dat is ons allemaal geleerd maar heel veel is zelfstudie dus of je het kan ligt eraan of je de opdrachten doet. En voor de opleiding die ik doe, ik doe applicatie en media ontwikkelaar. ERG leuke opleiding. Alleen wel moeilijk haha.
Als de gebruiker de juiste gegevens heeft ingevuld, kan je bijvoorbeeld zijn gebruikersnaam of gebruikers ID uit de database in de $_SESSION['login']-variable stoppen.
Met een hele erge vriendelijke groet,
Maarten uit je klas :p
Haha maarten :D.
Ik heb het al veranderd hoor :) ik had gisteren heel veel variaties gemaakt en deze klopte niet echt helemaal. Ik heb het nu verbeterd en netter gemaakt.
Gewijzigd op 01/03/2018 12:50:01 door - Ariën -