Forum » Server-Side scripting » php error en login probleem
i using Notepad++
Berichten: 311
avatar
Offline Stuur privebericht
ik ben zonet begonnen met een login script die ik voor het eerst (dus me eerste script) zelf schrijf en geen kant en klare download.

maar nu stuit ik op 3 problemen

1. Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /home/marco/public_html/Projecten/login-zelfscript/config.php on line 27

2. als ik inlog komt er te staan
Quote

Verkeerde Gebruikersnaam of Wachtwoord



3. opgelost!

config.php -> ****** is alleen voor prive verder is het goed ingevult.
Code | Selecteer Alles
minimaliseren
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
38
39
40
41
42
<?php    
$host
="******";
$username="******";
$password="******";
$db_name="******";
$tbl_name="******";

mysql_connect("$host""$username""$password") or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

$username=$_POST['username'];
$password=$_POST['password'];
$email=$_POST['email'];


$username stripslashes($username);
$password stripslashes($password);
$email stripslashes($email);
$username mysql_real_escape_string($username);
$password mysql_real_escape_string($password);
$email mysql_real_escape_string($email);

mysql_query()
$sql="SELECT * FROM $tbl_name WHERE username='$username' and password='$password'";

$result mysql_query($sql);

$count mysql_num_rows($result);

if(
$count==1){

session_start();
$_SESSION["username"] = 'username';
$_SESSION["password"] = 'password';
$_SESSION["email"] = 'email';

header("location:login_panel.php");
}
else{
    echo 
"Verkeerde Gebruikersnaam of Wachtwoord";
}
?>


login.php
Code | Selecteer Alles
minimaliseren
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
<html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title>Untitled Document</title>
</
head>

<
body>
<
table width="300" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<
tr>
<
form name="form1" method="post" action="config.php">
<
td>
<
table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<
tr>
<
td colspan="3"><strong>Login Systeem (made by marcoboekholt)</strong></td>
</
tr>
<
tr>
<
td width="78">Gebruikersnaam</td>
<
td width="6">:</td>
<
td width="294"><input name="username" type="text" id="username"></td>
</
tr>
<
tr>
<
td>Wachtwoord</td>
<
td>:</td>
<
td><input name="password" type="password" id="password"></td>
</
tr>
<
tr>
<
td>&nbsp;</td>
<
td>&nbsp;</td>
<
td><input type="submit" name="Submit" value="Login"></td>
</
tr>
</
table>
</
td>
</
form>
</
tr>
</
table>
</
body>
</
html>


login-panel.php
Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<? 
session_start
();
if(!
session_is_registered(username)){
header("location:login.php");
}
?>

<html>
<body>
 <p>Welkom <?php echo $_SESSION['username'?></p>
 <p>
 <input type="submit" name="logout" id="logout" value="logout" onClick="logout.php"></p>
 </p>
</body>
</html>


logout.php
Code | Selecteer Alles
minimaliseren
1
2
3
4
<? 
session_start
();
session_destroy();
?>



groetjes,
Marco Boekholt
Laatst gewijzigd door marcofc op 2011-12-23 19:37:00
23-12-2011 17:41
Dit topic is 127 keer bekeken door 23 verschillende leden
Reacties op: "php error en login probleem"
1
Informatica Student
Berichten: 1406
avatar
Offline Stuur privébericht
Google, use it.

Vind het weer van den gekke, copy paste error @ Google = oplossing.
23-12-2011 19:14
Berichten: 2778
avatar
Offline Stuur privébericht
Wat bedoel je met deze zin:

Quote

tja dan weet je het niet meer hier de script me



Snap er niets van?

Ik zie dat je veel in variabele steekt dat is niet nodig en zorgt alleen maar voor meer laadtijd

Van die button moet je werken met een GET bijv. dus http://jouwurl.com/index.php?uitloggen=1 en dan kijk je via GET of dit geldig is etc.
23-12-2011 19:21
i using Notepad++
Berichten: 311
avatar
Offline Stuur privébericht
nee maar weet iemand dan een oplossing heb de logout button gedaan moet alleen nog die andere 2 error`s
23-12-2011 19:25
Vreemd
Berichten: 1246
avatar
Offline Stuur privébericht
Laten we om te beginnen eens de fout lezen: "Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /home/marco/public_html/Projecten/login-zelfscript/config.php on line 27." mysql_num_rows() heeft een verkeerde waarde gekregen voor de eerste parameter op regel 27.

Als we regel 27 er even bij pakken: $count = mysql_num_rows($result); zien we dat het ook nog eens maar een parameter krijgt, namelijk $result. $result is blijkbaar een boolean volgens de foutmelding terwijl mysql_num_rows() een resource verwacht.

Laten we nu eens zoeken wat $result bevat. Ah, gevonden: $result = mysql_query($sql); mysql_query() retourneert blijkbaar een boolean, laten we eens kijken wat het nog allemaal kan retourneren.

Op http://nl2.php.net/manual/en/function.mysql-query.php kunnen we lezen dat mysql_query() voor een SELECT/SHOW/DESCRIBE/EXPLAIN query een resource retourneert wanneer de query succesvol is of anders FALSE.

Ok, is de query die we uit willen voeren een SELECT/SHOW/DESCRIBE/EXPLAIN query? De query die we uit willen voeren is $sql, om laten we $sql er even bij pakken dan maar: $sql="SELECT * FROM $tbl_name WHERE username='$username and password='$password'";

Ja, $sql is een SELECT query dus mysql_query() retouneerd een resource wanneer de query geen fout bevat, en FALSE (een boolean) wanneer deze wel een fout bevat.

Nu je dat allemaal zelf hebt gedaan zie je misschien ook wel dat je een ' mist na $username.

Verder heb ik het volgende te melden:
- Vervang session_is_registered('username' door isset($_SESSION['username'])
- zie http://nl2.php.net/manual/en/function.session-destroy.php
- gebruik <?php in plaats van de kortere maar niet door elke server ondersteunde <?
23-12-2011 19:30
i using Notepad++
Berichten: 311
avatar
Offline Stuur privébericht
Update zie config.php

Nieuwe reactie samengevoegd met originele reactie op 23.12.11 19:39:50:
Parse error: syntax error, unexpected T_VARIABLE in /home/marco/public_html/Projecten/login-zelfscript/config.php on line 24

heb ik nu
23-12-2011 19:37
Vreemd
Berichten: 1246
avatar
Offline Stuur privébericht
Waarom staat er nu een mysql_query() op regel 23? Zonder ; nog wel.

Zie http://www.phphulp.nl/php/tutorial/data-verwerking/foutafhandeling-query-sql/735/
23-12-2011 19:44
i using Notepad++
Berichten: 311
avatar
Offline Stuur privébericht
mag ik iemands msn mischien om zo vragen te stellen, want ik heb iemand op skype maar die is volgensmij weg

L.Groot: Let op!, e-mails uitwisselen is onder eigen verantwoordelijkheid en gebeurd niet in dit onderwerp maar altijd via PB.
23-12-2011 20:30
Vreemd
Berichten: 1246
avatar
Offline Stuur privébericht
Haal regel 23 weg...
23-12-2011 20:40
Reageer op: "php error en login probleem"
1
Je kan niet reageren omdat je niet bent ingelogd. Inloggen of Aanmelden