Inlog script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Raoul vd rijt

raoul vd rijt

14/03/2009 16:19:00
Quote Anchor link
hallo, ik heb de tutorial gevolgd, en daar wil ik het volgende script van gebruiken : http://www.phphulp.nl/php/tutorials/10/547/1426/

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
<?php
session_start();

    // maak verbinding met database
include ('connection.php');

    // functie voor random key
function make_rand($length) {
  $chars = "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ1234567890";
  $rand = '';
  for ($i = 1; $i <= $length; $i++) {
    $num = rand(0, strlen($chars));
    $rand .= substr($chars, $num, 1);
    }

  return $rand;
  }


    // kijk of formulier is verzonden
if ($_SERVER['REQUEST_METHOD'] == "POST") {    // indien verzonden
  $query= mysql_query("SELECT * FROM users WHERE username = '" . addslashes($_POST['username']) . "'");
  if (mysql_num_rows($query) > 0) {    // als er een gebruiker is gevonden
    $user = mysql_fetch_object($query);
    if ($user->pass == sha1($_POST['password'])) {  // als het wachtwoord klopt
      $_SESSION['user_id'] = $user->user_id;
      $rand_key = make_rand(50);    // maak een random string voor sessie session_id mbv van functie
      $_SESSION['session_id'] = $rand_key;
      // zet de sessie id in de db zodat we hem later kunnen controleren
      mysql_query("UPDATE users SET session_id = '" . $rand_key . "' WHERE user_id = '" . $_SESSION['user_id'] . "'");
      $_SESSION['user_ip'] = $_SERVER['REMOTE_ADRESS'];
      echo 'Inloggen is gelukt!';
      }
else {  // ongeldig wachtwoord
      echo 'Ongeldig wachtwoord';
      }
    }
else {  // ongeldige gebruikersnaam
    echo 'Ongeldige gebruikersnaam!';
    }
  }
/* else { hier zou je het formulier kunnen zetten } */
?>



alles gaat prima, behalve het inloggen.. volgens dit script word er een session_id aangemaakt in de database, maar als ik mn db open dan zie ik dat helemaal niet. tevens krijg ik de foutmelding dat de gebruikersnaam/w8woord niet klopt. ik heb sha1.js in mn server gegooid, kheb ook ff een register.php pagina aangemaakt om wat waardes in mn db te gooien. mijn db:

user_id : 1
username : test
password : test
session_id : (leeg)

weet iemand hoe dit probleem is op te lossen ??? alvast bedankt!


login form :


<script type="text/javascript" src="sha1.js"></script>

<script type="text/javascript">
function _submit() {
document.getElementById('password_encrypted').value = hex_sha1(document.getElementById('password').value);
document.getElementById('password').value = '';
}
</script>

<form action="login.php" method="post" onsubmit="return _submit();">
Gebruikersnaam:<input type="text" name="username" />
Wachtwoord:<input type="password" id="password" />
<input type="hidden" name="password_encrypted" value="" />
<input type="submit" value="Login" />
</form>
Gewijzigd op 01/01/1970 01:00:00 door Raoul vd rijt
 
PHP hulp

PHP hulp

09/01/2025 17:04:30
 
Jesper Diovo

Jesper Diovo

14/03/2009 16:22:00
Quote Anchor link
Dat is het vervelende als je niet goed je fouten afhandelt.
 
Raoul vd rijt

raoul vd rijt

14/03/2009 16:40:00
Quote Anchor link
ik weet dat de fout is dat ie niet de session update, maar hoe fix ik dat ?
 



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.