PHP login script help

Pagina: 1
Acties:

  • Zjemm
  • Registratie: Februari 2001
  • Laatst online: 14-09 20:16
met dit script krijg ik de volgende fout: supplied argument is not a valid mysql result resource in pass.php line 11

wie kan mij hiermee helpen?


<?
if ($login){
$DBASE_ADDR="localhost";
$DBASE_USER="****";
$DBASE_PASS="****";
$DBASE_NAME="forumsc";


@mysql_select_db("$DBASE_NAME") or die("Unable to select database");
$result = mysql_query("Select login,password,email,url from users where login='$username'");
$row = mysql_fetch_array($result);
$salt = substr($row[password],0,2);
$match_password = crypt($authpassword, $salt);
if ($match_password == $row[password]) {
setcookie ("cookie",$login, 0);

echo "Ingelogt... ga naar het <a href='*******'> forum..</a> \n";

}
else {

echo "Jammer dan \n";
}

}
?>

<? if(!$cookie){
echo "
<table width=35% border=1>
<tr>
<th bgcolor=#050974 align=center><small><font color=#FFFFFF>Login</font></small></th>
</tr>
<tr>
<td align=center bgcolor=#bfbfbf>
<table>
<form action='pass.php' method='post'>
<tr>
<td><small>Username:</small>
</td><td><input class=small size=30 type=text name=username></td>
</tr>
<tr>
<td><small>Password:</small></td>
<td><input class=small size=30 type=password name=authpassword></td>
</tr>
<tr>
<td colspan=2><input class=small type=submit value=Login name=login></td>
</tr>
</form>
</table>
</table>
</td>
</tr>
</table>
\n";
}
?>


alvast bedankt

opensecure.nl


Verwijderd

connecten met de database zou wel eens kunnen helpen

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 11:21

Janoz

Moderator Devschuur®

!litemod

"supplied argument is not a valid mysql result resource" betekend "Query ging niet goed"...

Remedie:

echo mysql_error();

en dan verder zelf zoeken, als je het dan nmog neit wet kun je het heir vragen (staat ook in de Faq)


nofi, maar ik wordt ene beetje raar van al die mensen die hier een topic openen die deze foutmelding krijgen.....

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

mjah zet er eens [/php] en [php] (in omgekeerde volgorde) omheen

Doet iets met Cloud (MS/IBM)


Verwijderd

Volgens mij kan hij gewoon de geselecteerde database niet vinden, of de tabel users bestaat niet, of de kolommen in de tabel bestaan niet (allemaal)..

  • Zjemm
  • Registratie: Februari 2001
  • Laatst online: 14-09 20:16
jawel DB enzo bstaan allemaal
het gaat puur om dat stukje code....

dr is iets met line 11 maar ik krijg het er niet uit

opensecure.nl


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op woensdag 16 januari 2002 13:18 schreef Zjemm het volgende:
jawel DB enzo bstaan allemaal
het gaat puur om dat stukje code....

dr is iets met line 11 maar ik krijg het er niet uit
:O

$result = mysql_query("Select login,password,email,url from users where login='$username'") or die(mysql_error());

en de uitvoer hier posten ajb

Doet iets met Cloud (MS/IBM)


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?
if ($login)
{
    $DBASE_ADDR="localhost";
    $DBASE_USER="****";
    $DBASE_PASS="****";
    $DBASE_NAME="forumsc";
    
    
    @mysql_select_db("$DBASE_NAME") or die("Unable to select database");
    
    $query="Select login,password,email,url from users where login='$username'";
    $result = mysql_query($query) or die(mysql_error());
    $row = mysql_fetch_array($result);
    $salt = substr($row[password],0,2);
    $match_password = crypt($authpassword, $salt);
    if ($match_password == $row[password]) 
    {
        setcookie ("cookie",$login, 0);
        echo "Ingelogt... ga naar het <a href='*******'> forum..</a> \n";
    }
    else 
    {
        echo "Jammer dan \n";
    }

}
if(!$cookie)
{
    echo "
        <table width=35% border=1>
        <tr>
        <th bgcolor=#050974 align=center><small><font color=#FFFFFF>Login</font></small></th>
        </tr>
        <tr>
        <td align=center bgcolor=#bfbfbf>
        <table>
        <form action='pass.php' method='post'>
        <tr>
        <td><small>Username:</small>
        </td><td><input class=small size=30 type=text name=username></td>
        </tr>
        <tr>
        <td><small>Password:</small></td>
        <td><input class=small size=30 type=password name=authpassword></td>
        </tr>
        <tr>
        <td colspan=2><input class=small type=submit value=Login name=login></td>
        </tr>
        </form>
        </table>
        </table>
        </td>
        </tr>
        </table>
        \n
    ";
}
?>

en zo is het wat leesbaarder :)

Doet iets met Cloud (MS/IBM)


  • Zjemm
  • Registratie: Februari 2001
  • Laatst online: 14-09 20:16
unknown column 'email' in field list

aha...

opensecure.nl


Verwijderd

Op woensdag 16 januari 2002 13:13 schreef mbitnl het volgende:
of de kolommen in de tabel bestaan niet (allemaal)..
Op woensdag 16 januari 2002 13:33 schreef Zjemm het volgende:
unknown column 'email' in field list
Ahaaaa....zie je wel :)

Verwijderd

je moet de mysql_fetch_array in een loop zetten:

while($row = mysql_fetch_array($sql_result)) {
$salt = $row["PASSWORD"];
}

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 11:21

Janoz

Moderator Devschuur®

!litemod

Op woensdag 16 januari 2002 13:38 schreef Pietah het volgende:
je moet de mysql_fetch_array in een loop zetten:

while($row = mysql_fetch_array($sql_result)) {
$salt = $row["PASSWORD"];
}
Hij haalt hier maar 1 row uit de result set, dus een loop is helemaal niet nodig...

(Ik neem aan dat er in het script ondertussen wel een mysql_connect(...); staat?)

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Op woensdag 16 januari 2002 13:41 schreef Janoz het volgende:

[..]

Hij haalt hier maar 1 row uit de result set, dus een loop is helemaal niet nodig...

(Ik neem aan dat er in het script ondertussen wel een mysql_connect(...); staat?)
nou...dacht t niet, want hij gebruikt mysql_fetch_ARRAY...dus hij zegt dat $row een array wordt...dus zal je toch echt een loop moeten gebruiken op deze manier

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Pietah: nou...dacht t niet, want hij gebruikt mysql_fetch_ARRAY...dus hij zegt dat $row een array wordt...dus zal je toch echt een loop moeten gebruiken op deze manier
noopz
wrong
$row is altijd een array >:)

Doet iets met Cloud (MS/IBM)


Verwijderd

Op woensdag 16 januari 2002 13:41 schreef Janoz het volgende:

[..]


(Ik neem aan dat er in het script ondertussen wel een mysql_connect(...); staat?)
Op woensdag 16 januari 2002 13:33 schreef Zjemm het volgende:
unknown column 'email' in field list
Me dunkt?

  • Zjemm
  • Registratie: Februari 2001
  • Laatst online: 14-09 20:16
thnx for the help...

alleen nu kom ik bij het volgende:
ik voer username en password in....en krijg dan het volgende op mn schrem: weer het login scherm + dat erbij staat "jammer dan" ...leuk maar hij komt er dus niet door heen...
geen errors deze keer maar op de een ofandere manier mag ik er dus niet in

opensecure.nl


Verwijderd

kijk hier is ff...staat wel wat uitleg over veilige login met sessies en mysql.

http://www.phpfreakz.nl/artikelen.php?aid=60

  • chris
  • Registratie: September 2001
  • Laatst online: 11-03-2022
Dus je hebt een script geschreven dat een login checkt maar je komt er zelf niet in?
|:(
Misschien moet je eerst een useraccount aanmaken...

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op woensdag 16 januari 2002 14:26 schreef dev-null het volgende:
Dus je hebt een script geschreven dat een login checkt maar je komt er zelf niet in?
ej is wel goed beveiligd voor een n00b :+

Doet iets met Cloud (MS/IBM)


  • chris
  • Registratie: September 2001
  • Laatst online: 11-03-2022
Op woensdag 16 januari 2002 14:30 schreef D2k het volgende:

[..]

ej is wel goed beveiligd voor een n00b :+
Ja het is behoorlijk hackerproof.
Je kan het helemaal veilig maken door gewoon NIEMAND door te laten...

  • Zjemm
  • Registratie: Februari 2001
  • Laatst online: 14-09 20:16
duh ik ben niet helemaal achterlijk....

ik doe dit allen nog niet zo lang :)

opensecure.nl


Verwijderd

je moet in plaats van:

$salt = substr($row[password],0,2);

$salt = substr($row['password'],0,2);

'k denk dat dit moet werken. en nog even over die reply van mij hiervoor over die loop....ik heb t ff nagekeken, maar je hoeft inderdaad geen loop te gebruiken.
Pagina: 1