Logincheck
ik heb een applicatie waar een gebruiker zich kan inloggen of registreren op "home.php"
mijn registratieformulier staat op "registration.php" en werkt volledig. alle ingegeven informatie komt terecht in de tabel tblusers in de databank
nu had ik graag nog een logincheck op mijn home.php pagina gehad.
Deze moet nagaan of de gebruikersnaam matcht met het wachtwoord (in de database)
dit is de code van home.php (logincheck)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
//get username , password from user
$Username=$_POST["Username"];
$Password=$_POST["Password"];
//check if that username and password are correct and found in our database
$sql1=mysql_query("SELECT Username, Password FROM tblusers WHERE Username='$Username' AND Password='$Password'");
if (mysql_num_rows($sql1)==0 || mysql_num_rows($sql1)>1)
{
echo "Sorry, the username and password you submitted are not present in our database";
}
if(mysql_num_rows($sql1)==1)
{
include("emotions.php");//pagina waar de user terechtkomt als hij succesvol ingelogd is
?>
//get username , password from user
$Username=$_POST["Username"];
$Password=$_POST["Password"];
//check if that username and password are correct and found in our database
$sql1=mysql_query("SELECT Username, Password FROM tblusers WHERE Username='$Username' AND Password='$Password'");
if (mysql_num_rows($sql1)==0 || mysql_num_rows($sql1)>1)
{
echo "Sorry, the username and password you submitted are not present in our database";
}
if(mysql_num_rows($sql1)==1)
{
include("emotions.php");//pagina waar de user terechtkomt als hij succesvol ingelogd is
?>
dit is de code van het formulier
<div id="formulier">
<form method="post">
<p>Login:<input type="text" name="Username" value="" /></p>
<p>Wachtwoord: <input type="text" name="Password" value="" /></p>
<p><input type="submit" value="Login" id="Submit"/></p>
</form>
<form method="post" action="registration.html" >
<p><input type="submit" value="Registreer" onclick="registration.html" /></p>
</form>
</div>
dit zou ik sowieso anders doen:
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
//get username , password from user
//onnodig variablen kopieeren
$Username=$_POST["Username"];
$Password=$_POST["Password"];
//check if that username and password are correct and found in our database altijd mysql_real_escape_string gebruiken
$sql1=mysql_query("SELECT Username, Password FROM tblusers WHERE Username='".mysql_real_escape_string($Username)."' AND Password='".mysql_real_escape_string($Password)."'");
if($sql1){
//is er 1 result ingelogd, anders fail
if(mysql_num_rows($sql1)==1)
{
include("emotions.php");//pagina waar de user terechtkomt als hij succesvol ingelogd is
}
else{
echo "Sorry, the username and password you submitted are not present in our database";
}
}
else{
//mysql error
}
?>
//get username , password from user
//onnodig variablen kopieeren
$Username=$_POST["Username"];
$Password=$_POST["Password"];
//check if that username and password are correct and found in our database altijd mysql_real_escape_string gebruiken
$sql1=mysql_query("SELECT Username, Password FROM tblusers WHERE Username='".mysql_real_escape_string($Username)."' AND Password='".mysql_real_escape_string($Password)."'");
if($sql1){
//is er 1 result ingelogd, anders fail
if(mysql_num_rows($sql1)==1)
{
include("emotions.php");//pagina waar de user terechtkomt als hij succesvol ingelogd is
}
else{
echo "Sorry, the username and password you submitted are not present in our database";
}
}
else{
//mysql error
}
?>
Gewijzigd op 04/05/2011 11:41:51 door gerhard l
hij zegt dat Username en Password undefines zijn terwijl deze wel degelijk de name attributen zijn die in het formulier zijn ingevuld
er staat ook link to the server could not be established
en dat msql_num_rown() 1 parameter bevat
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
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
<?
//naam van uw host
$host = "localhost";
//naam die u gebruikt bij host
$hostnaam = "root";
//pasword bij host
$hostpw = "";
//naam van de database
$databasenaam = "gebruikers";
$database = mysql_connect("$host","$hostnaam","$hostpw");
if($database){
echo "geconnect met server";
}
else{
//als dit niet lukt
echo "kan niet connecten naar server");
}
//connecten naar database
$database2=mysql_select_db("$databasenaam");
if($database2){
echo "geconnect met database";
}
else{
//als dit niet lukt
echo "kan niet connecten naar database";
}
?>
//naam van uw host
$host = "localhost";
//naam die u gebruikt bij host
$hostnaam = "root";
//pasword bij host
$hostpw = "";
//naam van de database
$databasenaam = "gebruikers";
$database = mysql_connect("$host","$hostnaam","$hostpw");
if($database){
echo "geconnect met server";
}
else{
//als dit niet lukt
echo "kan niet connecten naar server");
}
//connecten naar database
$database2=mysql_select_db("$databasenaam");
if($database2){
echo "geconnect met database";
}
else{
//als dit niet lukt
echo "kan niet connecten naar database";
}
?>
Gewijzigd op 04/05/2011 12:04:39 door gerhard l
bij de meeste queries doe ik dat ook wel maar bij een connect (die als het goed is in 1x werkt) gebruik ik wel or die, want als je weet dat je geconnect bent met de database word die or die toch niet gebruikt.
-hij geeft errors van de mysql escape string
-zegt dat Password en Username undefined indexen zijn
en zegt dat er geen databasecontact kan gemaakt worden
Toevoeging op 04/05/2011 12:24:21:
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
36
37
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
36
37
<?php
$sHost = "localhost";
$sUser = "root";
$sPassword = "";
$sDatabase = "phpproject";
$mysql = @mysqli_connect($sHost, $sUser, $sPassword, $sDatabase);
if(!$mysql){ //Als er geen verbinding is.
echo "Er kan geen verbinding worden gemaakt";
}
else{
$db = mysql_select_db('tblusers', $mysql);
}
if(!$db){ //Als er geen database is gevonden
echo "Er kan geen databasecontact worden gemaakt";
}
//get username , password from user
$Username=$_POST["Username"];
$Password=$_POST["Password"];
//check if that username and password are correct and found in our database
$sql1=mysql_query("SELECT Username, Password FROM tblusers WHERE Username='$Username' AND Password='$Password'");
//is er 1 result ingelogd, anders fail
if(mysql_num_rows($sql1)==1)
{
include("emotions.php");//pagina waar de user terechtkomt als hij succesvol ingelogd is
}
else{
echo "Sorry, the username and password you submitted are not present in our database";
}
?>
$sHost = "localhost";
$sUser = "root";
$sPassword = "";
$sDatabase = "phpproject";
$mysql = @mysqli_connect($sHost, $sUser, $sPassword, $sDatabase);
if(!$mysql){ //Als er geen verbinding is.
echo "Er kan geen verbinding worden gemaakt";
}
else{
$db = mysql_select_db('tblusers', $mysql);
}
if(!$db){ //Als er geen database is gevonden
echo "Er kan geen databasecontact worden gemaakt";
}
//get username , password from user
$Username=$_POST["Username"];
$Password=$_POST["Password"];
//check if that username and password are correct and found in our database
$sql1=mysql_query("SELECT Username, Password FROM tblusers WHERE Username='$Username' AND Password='$Password'");
//is er 1 result ingelogd, anders fail
if(mysql_num_rows($sql1)==1)
{
include("emotions.php");//pagina waar de user terechtkomt als hij succesvol ingelogd is
}
else{
echo "Sorry, the username and password you submitted are not present in our database";
}
?>
dit is wat ik nu heb
(heb even de mysql escapes weggelaten omdat deze errors gaven)
de erors die ik wel krijg:
-Username en Password zijn undefined indexen
-Acces denied for user SYSTEEM@localhost (using password:NO)
-en ik krijg warnings over de mysql_select-db en de mysql_num_rows
- en waarom gebruik je nu weer opeens je oude foute code...
Gewijzigd op 04/05/2011 12:49:04 door gerhard l
ik weet niet wat er fout is aan de connectie, aangezien mijn registratie perfect werkt
ik weet niet wara ik mijn fout moet gaan zoeken
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$dbSql = mysql_query("SELECT Username, Password FROM tblusers
WHERE Username = '" . mysql_real_escape_string($_POST["Username"]) . "'
AND Password='" . mysql_real_escape_string($_POST["Username"]) . "'");
$dbNumRows = mysql_num_rows($dbSql);
if ($dbNumRows == 1)
{
include("emotions.php");
}
else
{
echo "Sorry, the username and password you submitted are not present in our database";
}
?>
$dbSql = mysql_query("SELECT Username, Password FROM tblusers
WHERE Username = '" . mysql_real_escape_string($_POST["Username"]) . "'
AND Password='" . mysql_real_escape_string($_POST["Username"]) . "'");
$dbNumRows = mysql_num_rows($dbSql);
if ($dbNumRows == 1)
{
include("emotions.php");
}
else
{
echo "Sorry, the username and password you submitted are not present in our database";
}
?>
Gewijzigd op 04/05/2011 13:12:13 door PHP Scripter