Beginnend login form

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jan Adriaans

jan Adriaans

23/10/2012 13:39:16
Quote Anchor link
Hallo,
Als ik de foute gegevens intyp wil ik een response dat de gegevens onjuist zijn maar hij geeft altijd gegevens juist terug. Wat doe ik fout?

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
connect("localhost","root","","login");
checkLogin("admin","123");

function
connect($host, $username, $password, $database)
{

    mysql_connect($host, $username, $password) or die("Kan de server niet benaderen!!");
    mysql_select_db($database)or die("Kan database niet vinden!!");
}

function
checkLogin($username, $password)
{

    $query = "SELECT * FROM gebruikers WHERE username  = '$username' and password = '$password'";
    $result = mysql_query($query);
    $grootte = mysql_num_rows($result);
    if ($grootte >0)
    {

        echo "Gegevens Juist!";
    }
else {
        echo "Gegevens Onjuist!";
    }
}


?>
 
PHP hulp

PHP hulp

24/04/2024 02:09:48
 
Roy B

Roy B

23/10/2012 13:45:15
Quote Anchor link
Sowiezo zou ik je functie als volgt doen..
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
function checkLogin($username, $password)
{
  $query = "SELECT * FROM gebruikers WHERE username  = '".$username."' AND password = '".$password."'";
  $result = mysql_query($query);

  if(mysql_num_rows($result) == 1)
  {
    echo "Gegevens juist";
    return true;
  }
  else
  {
    echo "Gegevens onjuist";
    return false;
  }
}
Gewijzigd op 23/10/2012 13:47:01 door Roy B
 
Jan Adriaans

jan Adriaans

23/10/2012 14:17:51
Quote Anchor link
Ik heb hem nu werkend gemaakt maar hoe kan ik ervoor zorgen dat ik bijvoorbeeld door wordt verwezen naar het hoofdmenu?

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
25
26
27
28
29
<?php
connect("localhost","root","","login");


if(isset($_POST['username']))checkLogin($_POST['username'],$_POST['password']);
function
connect($host, $username, $password, $database)
{

    mysql_connect($host, $username, $password) or die("Kan de server niet benaderen!!");
    mysql_select_db($database)or die("Kan database niet vinden!!");
}

function
checkLogin($username, $password)
{

  $query = "SELECT * FROM gebruikers WHERE username  = '".$username."' AND password = '".$password."'";
  $result = mysql_query($query);

  if(mysql_num_rows($result) >0)
  {

    echo "Gegevens juist";
    return true;
  }

  else
  {
    echo "Gegevens onjuist";
    return false;
  }
}


?>
 
Rick van Riel

Rick van Riel

23/10/2012 14:33:29
Quote Anchor link
Je kunt daarvoor de header functie gebruiken.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
header('location: /hoofdmenu');
?>
 
Obelix Idefix

Obelix Idefix

23/10/2012 15:06:47
Quote Anchor link
Waarom * in je query en niet 1 (of meer) veld(en) benoemen?
Je controleert / beveiligd nergens de $_POST waarden --> scrip is lek/onveilig.
Het wachtwoord wordt onversleuteld opgeslagen?!
Je controleert nergens of de query is geslaagd; bouw goede foutafhandeling in (geen 'or die' aub).
Je controleert op meer dan 0 rijen. De query kan naar mijn idee twee resultaten hebben: 0 of 1.
Controleer daarom er 1 gevonden is --> elke andere uitkosmt betekent gegevens onjuist.
 
Andy V

Andy V

23/10/2012 18:30:55
Quote Anchor link
misschien is het beter om ook een voorbeeldje met foutafhandeling/beveiliging te geven ipv alleen maar de negatieve dingen op te sommen een beginner kan natuurlijk niet meteen weten wat je ermee bedoeld..

hier dus een voorbeeldje:
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
connect("localhost","root","","login");


if(isset($_POST['username']))checkLogin($_POST['username'],$_POST['password']);
function
connect($host, $username, $password, $database)
{

    mysql_connect($host, $username, $password) or die("Kan de server niet benaderen!!");
    mysql_select_db($database)or die("Kan database niet vinden!!");
}


function
checkLogin($username, $password)
{

  $query = sprintf(("SELECT * FROM gebruikers WHERE username  = '%s' AND password = '%s'",
mysql_real_escape_string($username),
mysql_real_escape_string($password)
));

  $result = mysql_query($query);// mysql_query geeft 1 (true) terug als hij gelukt is of 0 (false) als hij mislukt is

//controleren of de query gelukt is:

if($result){
//query gelukt
  if(mysql_num_rows($result) == 1)
  {

    echo "Gegevens juist";
    return true;
  }

  else
  {
    echo "Gegevens onjuist";
    return false;
  }
}
else {
    echo "Query mislukt";
return false;
}
}


?>
Gewijzigd op 23/10/2012 18:32:42 door Andy V
 
Jan Adriaans

jan Adriaans

23/10/2012 20:14:54
Quote Anchor link
Super bedankt!
Andy wat bedoel je precies met sprintf en mysql_real_escape_string?Hier had ik eerlijk gezegd nog nooit van gehoord.
Bedankt in ieder geval
 



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.