user en pass check

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

K i p

K i p

11/08/2006 15:08:00
Quote Anchor link
Hoe kan ik controleren of de gebruiker een gebruiksersnaam met bijbehorende pass heeft ingevoerd?

Mijn tabel heeft 3 kollommen: id user pass

Zoiets:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if (
while($record = mysql_fetch_object($sql)){
echo '$user == '.$record->user.' && $pass == '.$record->pass.' || ';
}

?>


Ik heb echt geen id...
 
PHP hulp

PHP hulp

17/11/2024 19:36:19
 
Roy Bongers

Roy Bongers

11/08/2006 15:09:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$sql
= "SELECT * FROM users WHERE user='" . $username . "' AND pass = '" . $password . "'";
$result = mysql_query($sql);
if (mysql_num_rows($result) == 1)
{

    echo 'user gevonden en wachtwoord is correct';
}

?>
Gewijzigd op 01/01/1970 01:00:00 door Roy Bongers
 
PHP Newbie

PHP Newbie

11/08/2006 15:10:00
Quote Anchor link
" vergete Roy ;-)

Edit:

opgelost
Gewijzigd op 01/01/1970 01:00:00 door PHP Newbie
 
Arjan Kapteijn

Arjan Kapteijn

11/08/2006 15:11:00
Quote Anchor link
In plaats van één voor één alle gebruikers af te gaan kan je dat beter met een simpele query doen:

SELECT id, user FROM tabel WHERE user = $user AND pass = sha($pass);

Alleen dan netjes :).
 
Ponzi

Ponzi

11/08/2006 15:11:00
Quote Anchor link
Zoiets?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
$query = "SELECT id FROM tabel
                WHERE user = '" . $_POST['user'] . "' &&
                           pass = '" . $_POST['pass'] . "'
                LIMIT 1
";


Edit:
Te traag... ;P !
Gewijzigd op 01/01/1970 01:00:00 door Ponzi
 
K i p

K i p

11/08/2006 15:26:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$sql
= "SELECT * FROM users WHERE user='" . $_POST['user'] . "' AND pass = '" . md5($_POST['pass']) . "'";
$result = mysql_query($sql);
if (mysql_num_rows($result) == 1)
{

    echo 'user gevonden en wachtwoord is correct';
}

?>



Dat werkt! Bedankt allemaal!
 
K i p

K i p

11/08/2006 15:35:00
Quote Anchor link
En hoe kan ik dan een sessie starten als user/pass goed zijn?

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
<?php

   include("connect.php");
   $sql = "SELECT * FROM users WHERE user='" . $_POST['user'] . "' AND pass = '" . md5($_POST['pass']) . "'";
   $result = mysql_query($sql);
   if (mysql_num_rows($result) == 1) {
      echo 'user gevonden en wachtwoord is correct';
      session_start();
      $_SESSION['login'] = "true";
   }
else {
      echo '<h1>Verkeerde gebruikersnaam of verkeerd wachtwoord!</h1> <a href="index.php">Probeer opnieuw</a>';
   }


?>


Als ik dat doe en met een geldige login inlog krijg ik dit:

user gevonden en wachtwoord is correct
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/borisbez/domains/xxx.nl/public_html/login/index.php:11) in /home/borisbez/domains/xxx.nl/public_html/login/index.php on line 42

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/borisbez/domains/xxx.nl/public_html/login/index.php:11) in /home/borisbez/domains/xxx.nl/public_html/login/index.php on line 42


En dat klopt inderdaad want dit staat boven de php-code:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link rel="stylesheet" href="style.css" type="text/css" media="all" />
<title>Log In</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<p>


Ik wilde de pagina namelijk w3c valid maken. Hoe pak ik dit nu aan?
 
Ponzi

Ponzi

11/08/2006 15:46:00
Quote Anchor link
Je moet je sessie starten VOOR je eerste echo ;) ! Dus bovenaan het document...
 
K i p

K i p

11/08/2006 15:50:00
Quote Anchor link
Maar ik wil de sessie alleen starten als de user en pass goed is. Of kan dat niet?
 
K i p

K i p

11/08/2006 16:10:00
Quote Anchor link
Ik ga nu even (kwartiertje) weg en kom straks terug om verder te puzzelen.
 
- wes  -

- wes -

11/08/2006 16:12:00
Quote Anchor link
starten kan geen kwaad, of je moet een header('location:goedingelogd.php'); opgeven waar je sessie word gestart
 
K i p

K i p

11/08/2006 16:37:00
Quote Anchor link
Dat snap ik niet helemaal ......:-( :-$
 
Bo az

Bo az

11/08/2006 16:37:00
Quote Anchor link
Let even op dat als je een select uitvoerd aan de hand van username en password, dat dit in je database Unique moet zijn!
 
K i p

K i p

11/08/2006 16:44:00
Quote Anchor link
Ja, niet twee keer dezelfde username!

Maar goed, ik snap het nog steeds niet...
 
K i p

K i p

11/08/2006 17:16:00
Quote Anchor link
Bump,

Weet iemand een oplossing?

Wat ik wil is een inlog script. (ik maak het zelf)

Dit is wat ik heb tot nu toe:

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
/* Deze sql is uitgevoerd:
CREATE TABLE `users` (
`id` INT( 8 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`user` VARCHAR( 255 ) NOT NULL ,
`pass` VARCHAR( 32 ) NOT NULL
) TYPE = MYISAM ;
*/


if (!isset($_POST['submit'])) {
   echo '<fieldset><legend>Login</legend>';
   echo '<form name="login" action="' . $_SERVER['PHP_SELF'] . '" method="post">';
   echo '<input type="text" class="text" size="12"  name="user" />&nbsp;';
   echo '<input type="password" class="text"  size="12" name="pass" />&nbsp;';
   echo '<input type="submit" name="submit" value="Log in!" class="text" />';
   echo '</form>';
   echo '</fieldset>';
}
else {
   include("connect.php");
   $sql = "SELECT * FROM users WHERE user='" . $_POST['user'] . "' AND pass = '" . md5($_POST['pass']) . "'";
   $result = mysql_query($sql);
   if (mysql_num_rows($result) == 1) {
      echo 'user gevonden en wachtwoord is correct';
      $login = "ingelogd";
   }
else {
      echo '<h1>Verkeerde gebruikersnaam of verkeerd wachtwoord!</h1> <a href="index.php">Probeer opnieuw</a>';
   }
}

?>



Dit bestand wil ik kunnen includen op een pagina zodat die pagina beveiligd is.
Gewijzigd op 01/01/1970 01:00:00 door K i p
 
Roy Bongers

Roy Bongers

11/08/2006 17:21:00
Quote Anchor link
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
<?php
session_start();
/* Deze sql is uitgevoerd:
CREATE TABLE `users` (
`id` INT( 8 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`user` VARCHAR( 255 ) NOT NULL ,
`pass` VARCHAR( 32 ) NOT NULL
) TYPE = MYISAM ;
*/


if (!isset($_POST['submit'])) {
   echo '<fieldset><legend>Login</legend>';
   echo '<form name="login" action="' . $_SERVER['PHP_SELF'] . '" method="post">';
   echo '<input type="text" class="text" size="12"  name="user" />&nbsp;';
   echo '<input type="password" class="text"  size="12" name="pass" />&nbsp;';
   echo '<input type="submit" name="submit" value="Log in!" class="text" />';
   echo '</form>';
   echo '</fieldset>';
}
else {
   include("connect.php");
   $sql = "SELECT * FROM users WHERE user='" . $_POST['user'] . "' AND pass = '" . md5($_POST['pass']) . "'";
   $result = mysql_query($sql);
   if (mysql_num_rows($result) == 1) {
      echo 'user gevonden en wachtwoord is correct';
      $login = "ingelogd";
   }
else {
      echo '<h1>Verkeerde gebruikersnaam of verkeerd wachtwoord!</h1> <a href="index.php">Probeer opnieuw</a>';
   }
}

?>


btw dit script is best vatbaar voor SQL Injection als magic_quotes_gpc() uitstaat.
Gewijzigd op 01/01/1970 01:00:00 door Roy Bongers
 
K i p

K i p

11/08/2006 17:27:00
Quote Anchor link
Is dat goed?
Dat het 'best vatbaar voor SQL Injection' is als magic_quotes_gpc() uitstaat? En wat is dat?
 
K i p

K i p

11/08/2006 17:35:00
Quote Anchor link
Maar als ik nu ingelogd ben, en naar een andere pagina link die ook beveiligd is moet ik weer opnieuw mijn wachtworod invullen. Hoe kan ik dat veranderen?
 
DirkJan Heinen

DirkJan Heinen

11/08/2006 17:41:00
Quote Anchor link
door een safe.php te maken en niet inloggen.php op iedere pagina te includen
 
K i p

K i p

11/08/2006 18:03:00
Quote Anchor link
Mm, ik snap het nog steeds niet, sorry :-(
 



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.