hulp Inlog script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Tim asdf

tim asdf

14/12/2011 19:47:04
Quote Anchor link
hallo,

ik ben bezig met een inlogscript maar het werkt niet.

weten jullie waar het aan kan liggen.
inlog gegevens enzo heb ik weggehaald
----------------------------------------------------------------------------


<form action="?pagina=6s" method="post">
naam: <br /><input type="text" size="8" style="background-color:#153E7E;" name="name" /><br />
wachtwoord: <br /><input type="password" size="8" style="background-color:#153E7E;" name="password" /><br />
<input name="Log In" type="submit" value="Log In"/>
</form>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$con
= mysql_connect("host","username","password");
if (!$con)
  {

  die('Could not connect: ' . mysql_error());
  }

  mysql_select_db("database");
 
 $username=$_POST['name'];
 $password=$_POST['password'];
 $sql="SELECT * FROM users WHERE username='$username' and password='$password'";
  
 $result= mysql_query($sql);
 $count= mysql_num_rows($result);
  echo $count;
    if($count==1)
    {

    echo "u heeft de goede inlog gegevens gebruikt";
    }

    mysql_close();
    ?>
Gewijzigd op 14/12/2011 19:50:40 door Tim asdf
 
PHP hulp

PHP hulp

28/11/2024 22:33:40
 
- Ariën  -
Beheerder

- Ariën -

14/12/2011 19:51:37
Quote Anchor link
Lekker duidelijk dus?
vertel anders voortaan even wat er niet werkt?

Zoals ik zie ontbreekt een controle of er gepost is:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if($_SERVER['REQUEST_METHOD']=="POST") {
Gewijzigd op 14/12/2011 19:52:41 door - Ariën -
 
Tim asdf

tim asdf

14/12/2011 19:56:53
Quote Anchor link
sorry, het probleem is dat $count nooit 1 word. oftewel dat er nooit "u heeft de goede ..." staat.

waar zou dat moeten komen te staan
Gewijzigd op 14/12/2011 20:38:18 door tim asdf
 
- Ariën  -
Beheerder

- Ariën -

14/12/2011 19:59:33
Quote Anchor link
Halo Tim, deze moet op de plek staan waar na je POST variabelen gebruikt worden.

Verder ontbreekt ook foutafhandeling op je query.
Gewijzigd op 14/12/2011 20:00:15 door - Ariën -
 
Nick Dijkstra

Nick Dijkstra

14/12/2011 20:01:03
Quote Anchor link
<form action="?pagina=6s" method="post">
naam: <br /><input type="text" size="8" style="background-color:#153E7E;" name="name" /><br />
wachtwoord: <br /><input type="password" size="8" style="background-color:#153E7E;" name="password" /><br />
<input name="Log In" type="submit" value="Log In"/>
</form>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
if($_SERVER['REQUEST_METHOD']=="POST") {
$con = mysql_connect("host","username","password");
if (!$con)
  {

  die('Could not connect: ' . mysql_error());
  }

  mysql_select_db("database");
 
 $sql="SELECT * FROM users WHERE username='".mysql_real_escpae_string($_POST['name'])."' AND password='".mysql_real_escpae_string($_POST['password'])."'";
  
     if($result= mysql_query($sql)){
 $count= mysql_num_rows($result);
  echo $count;
    if($count==1)
    {

    echo "u heeft de goede inlog gegevens gebruikt";
    }
    }
else{
echo "Error in de query";
    }

mysql_close();
}

    ?>
Gewijzigd op 14/12/2011 20:03:59 door Nick Dijkstra
 
Tim asdf

tim asdf

14/12/2011 20:04:32
Quote Anchor link
Geen verbetering.
ik krijg ook de warning:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in ...../public_html/6s.php on line 72
 
Erwin H

Erwin H

14/12/2011 20:06:46
Quote Anchor link
Hoe is het password opgeslagen, encrypted of gewoon als string?
 
Nick Dijkstra

Nick Dijkstra

14/12/2011 20:09:44
Quote Anchor link
hoe ziet je database eruit?
 
- SanThe -

- SanThe -

14/12/2011 20:09:53
Quote Anchor link
- Aar - op 14/12/2011 19:59:33:
Verder ontbreekt ook foutafhandeling op je query.


Inbouwen dus, want je query mislukt blijkbaar.
Dan weet je direct wat er fout gaat met jouw query.
Gewijzigd op 14/12/2011 20:10:52 door - SanThe -
 
Tim asdf

tim asdf

14/12/2011 20:15:26
Quote Anchor link
mijn password is nu nog gewoon als string opgeslagen,
id smallint(20) No auto_increment
gebruikersnaam varchar(20) latin1_general_ci No
wachtwoord varchar(20) latin1_general_ci No
 
- Ariën  -
Beheerder

- Ariën -

14/12/2011 20:17:34
Quote Anchor link
Tim schurink op 14/12/2011 20:15:26:
mijn password is nu nog gewoon als string opgeslagen,

Snel door SHA1 gooien, en het liefst een goede salt. mocht je database ooit uitlekken (en SQL injection is mogelijk) dan zijn je leden flink de pineut...
Gewijzigd op 14/12/2011 20:18:13 door - Ariën -
 
Tim asdf

tim asdf

14/12/2011 20:19:44
Quote Anchor link
ja maar dat veranderd niets aan het feit dat het script niet werkt.
 
- Ariën  -
Beheerder

- Ariën -

14/12/2011 20:20:41
Quote Anchor link
Maar het is wel erg belangrijk.

Plus dat je foutafhandeling toe moet voegen. Nu hoor je van PHP alleen dat de query mislukt, terwijl je van MySQL niet hoort wat er mis is.
 
Nick Dijkstra

Nick Dijkstra

14/12/2011 20:26:33
Quote Anchor link
En als het gebruikersnaam en wachtwoord is dan is het:

$sql="SELECT * FROM users WHERE gebruikersnaam='".mysql_real_escpae_string($_POST['name'])."' AND wachtwoord='".mysql_real_escpae_string($_POST['password'])."'";
 
- SanThe -

- SanThe -

14/12/2011 20:26:35
 
Tim asdf

tim asdf

14/12/2011 20:37:33
Quote Anchor link
ja oke, ik ga het meteen veranderen. maar voor de duidelijkheid, ik ben net begonnen met databases en dit is meer om te leren. het word niet direct voor een werkende site gebruikt.
 
- Ariën  -
Beheerder

- Ariën -

14/12/2011 20:49:43
Quote Anchor link
Dan alsnog zou ik het wel goed doen, al is het maar om er van te leren.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.