[php/sql] Inloggen met sessie geeft foutmelding

Pagina: 1
Acties:

Onderwerpen


  • Foutlook
  • Registratie: Februari 2001
  • Niet online
Ik heb zelf een inlogsysteempje in elkaar geknutseld maar telkens als ik nu probeer in te loggen krijg ik deze fout:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /mnt/host-users/boogaard/index2.php on line 27
Je naam en wachtwoord kloppen niet.


Weet iemand waar het aan ligt?

mijn index2.php:
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
<?php 
    session_start(); 
?> 

<html> 
<body> 
<form method="post" action="http://www.mijnhost.nl/index2.php"> 
<input type="hidden" name="Submit" value="1"> 
<input type="text" name="LoginNaam"> 
<input type="password" name="LoginPassword"> 
<input type="submit" value="Login"> 
</form> 
</font>
<? 

if ($Submit == 1) { 

   $database_server = mysql_connect( "host", "****", "****");
   mysql_select_db("meuk", $database_server);  
   
   $query = "SELECT * FROM gebruikers WHERE LoginNaam = '$LoginNaam' 
   AND LoginPassword = '$LoginPassword'"; 
   $Results = mysql_num_rows($query); 

        if ($Results == '1') {

      $UserSession->login = 1; 
      $UserSession->userID = "$LoginNaam"; 
      $UserSession->userPW = "$LoginPassword"; 
      
      session_register("UserSession"); 
      
          print "<center>Hey $UserSession->loginNaam, je bent ingelogd. 
Klik <a href=\"http://www.mijnhost.nl/vervolg.php3\">hier</a> 
om verder te gaan.</center>\n"; 
         
      } 
     
      else { 

          print "Je naam en wachtwoord kloppen niet.\n"; 
          
      } 
} 

?> 

</body>
</html>


en in elke header van de phptjes daarna die beveiligd moeten zijn:
PHP:
1
2
3
4
<?php 
   session_start(); 
   if ($MySession->Login = 1) { 
?> 

Verwijderd

Je database 'gebruikers' heeft een kolom LoginName en LoginPassword (let op hoofdletters)??

Deze foutmelding betekend dat hij geen rijen terug krijgt op je query.

Verwijderd

mysql_error()

't heeft helemaaaal niets met je sessie te maken
"Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource "

  • snoopy
  • Registratie: December 2000
  • Laatst online: 17-08 08:27
PHP:
1
2
$query = "SELECT * FROM gebruikers WHERE LoginNaam = '$LoginNaam' AND LoginPassword = '$LoginPassword'"; 
$Results = mysql_num_rows($query);


Het is wel zo gebruikelijk om tussen de query-definitie en de functie mysql_num_rows() nog een mysql_query() te plaatsen.

Code zal dus zo worden:
PHP:
1
2
3
$query = "SELECT * FROM gebruikers WHERE LoginNaam = '$LoginNaam' AND LoginPassword = '$LoginPassword'";
$bla = mysql_query($sql, $database_server);
$Results = mysql_num_rows($bla);

  • Foutlook
  • Registratie: Februari 2001
  • Niet online
ja, de db 'meuk' bevat een tabel 'gebruikers' met twee velden 'InlogNaam' en 'InlogPassword' waarbij ik gelet heb op de hoofdletters. Dus dat is het niet?

Wat wordt er bedoelt met die mysql_error()?

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 02-09 11:02

D2k

dat je
bla = mysql_query($sql, $database_server);
moet vervangen door
bla = mysql_query($sql, $database_server) or die(mysql_error());

Doet iets met Cloud (MS/IBM)


  • Foutlook
  • Registratie: Februari 2001
  • Niet online
snoopy schreef op 19 september 2002 @ 19:38:
- wat code -

Het is wel zo gebruikelijk om tussen de query-definitie en de functie mysql_num_rows() nog een mysql_query() te plaatsen.

Code zal dus zo worden:

- wat code -
Helaas, heb dit geprobeerd maar ik krijg dezelfde foutmelding..
Iemand een andere oplossing?

  • Foutlook
  • Registratie: Februari 2001
  • Niet online
D2k schreef op 19 September 2002 @ 19:42:
dat je
bla = mysql_query($sql, $database_server);
moet vervangen door
bla = mysql_query($sql, $database_server) or die(mysql_error());
hm, dat hielp wel iets op weg :)

ik krijg nu: Query was empty terwijl ik echt in de database 'meuk' een tabel 'gebruikers' heb met 2 velden 'InlogNaam' en 'InlogPassword' met daarin twee records. Die twee records vul ik dus in in het formulier. Maar waarom zegt ie dan dat de query leeg is?

  • Foutlook
  • Registratie: Februari 2001
  • Niet online
owkee ik heb het al

PHP:
1
2
$query = "SELECT * FROM gebruikers WHERE LoginNaam = '$LoginNaam' AND LoginPassword = '$LoginPassword'"; 
$bla = mysql_query($sql, $database_server) or die(mysql_error());


die $sql in de 2e regel moest uiteraard $query zijn.
Bedankt voor het zoeken iedereen iig!
Pagina: 1