login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Probleem bij het inloggen

Offline Dement - 28/06/2005 18:01 (laatste wijziging 28/06/2005 18:23)
Avatar van DementNieuw lid Ik heb een login script gemaakt met php en mysql
maar het werkt maar half. ik zal alles effe uitleggen:
in functions staat de functie db_connect om met de db te connecteren en te checken of je al bent ingelogd
FUNCTIONS.PHP
---------------
  1. <?php
  2. function db_connect()
  3. {
  4. $server = "localhost";
  5. $gebruiker = "username";
  6. $wachtwoord = "***";
  7. $db = "monsters_test";
  8.  
  9. $connect = mysql_connect($server,$gebruiker,$wachtwoord)
  10. or die ("Kon niet connecteren met de server");
  11. mysql_select_db($db,$connect)
  12. or die ("Kon de database niet selecteren");
  13. }
  14.  
  15. function check_login()
  16. {
  17. $_SESSION['user'] = $session_user;
  18. db_connect();
  19. $query = 'SELECT * FROM login WHERE user = $session_user"';
  20. $sql = mysql_query($query) or die(mysql_error());
  21. while($record = mysql_fetch_object($sql))
  22. {
  23. if ($record->logged_in == "ja") {
  24. echo"Je bent al ingelogd!";
  25. } else {
  26. echo"Je bent nog niet ingelogd!";
  27. }
  28. }
  29. }
  30. ?>


dan komt het login formulier...is niet nodig denk ik
hier word de invoer gecontroleerd en de sessies aangemaakt
+ in de tabel word logged_in geupdated naar ja
LOGIN.PHP
----------
  1. <?php
  2. if ($_POST['user'] == "" || $_POST['pass'] == "") {
  3. echo"Eerst het formulier invullen!";
  4. } else {
  5.  
  6.  
  7. $dbh=mysql_connect ("localhost", "username", "***") or die ('I cannot connect to the database because: ' . mysql_error());
  8. mysql_select_db ("monsters_test");
  9. $sql = "SELECT * FROM `login` WHERE `user` = '".$_POST['user']."'"; //alle gebruikers met de ingevoerde username ophalen
  10. $ophalen = mysql_query($sql) or die(mysql_error()); // query uitvoeren
  11. $aantal = mysql_num_rows($ophalen); // aantal records met verstuurd username tellen
  12. if($aantal == 0){
  13. //blijkbaar komt de username niet in de database voor!
  14. echo"<font color=red face=verdana size=1>Fout: ingevoerde gebruikersnaam klopt niet!";
  15. }else{
  16. //username staat in de database, we gaan verder!
  17. while($record = mysql_fetch_object($ophalen)){
  18. $password_db = $record->password;
  19. }
  20. //password nu vergelijken met ingevoerd password
  21. if(md5($password_db) != md5($_POST['password'])){
  22. echo"<font color=red face=verdana size=1>Fout: ingevoerd wachtwoord klopt niet!";
  23. }else{
  24.  
  25. $sql2 = "UPDATE login SET logged_in='ja'";
  26. $ophalen2 = mysql_query($sql) or die(mysql_error()); // query uitvoeren
  27. while($record = mysql_fetch_object($ophalen2)){
  28. $post_user = $_POST['user'];
  29. }
  30. //sessie opstarten
  31. echo"Je bent succesvol ingelogd. <a href=index.php?id=bev_pagina>ga verder</a>";
  32. $_SESSION['user'] = '$post_user';
  33. $_SESSION['logged_in'] = 'ja';
  34. }
  35. }
  36. }
  37. ?>


dit gaat ook zonder probs, maar als ik dan op ga verder klik
staat er helemaal geen text die er zou moeten staan:

BEV_PAGINA.PHP
------------------
<?php
include"functions.php";
check_login();
?>


Er zou dan 'Je bent al ingelogd!' moeten staan
maar het is blank :S
hopelijk kan iemand me helpen

5 antwoorden

Gesponsorde links
Offline Stijn - 28/06/2005 18:05
Avatar van Stijn PHP expert $gebruiker = "username;
==>$gebruiker = "username";
Offline smoos - 28/06/2005 18:16
Avatar van smoos PHP gevorderde jah idd
en hier staat weer een overbodige "
$query = 'SELECT * FROM login WHERE user = $session_user"';
die moet dus weg ;)
Offline Dement - 28/06/2005 18:22
Avatar van Dement Nieuw lid mhh bedankt, maar het werkt nog niet...
als er echt een " overbodig of te weinig was zou er een error komen, niet?
Offline Simon - 28/06/2005 19:11
Avatar van Simon PHP expert
  1. <?
  2. $sql2 = "UPDATE login SET logged_in='ja'";
  3. $ophalen2 = mysql_query($sql) or die(mysql_error()); // query uitvoeren
  4. ?>

moet dat niet "mysql_query($sql2)" worden?
dan moet je ook wel nog het WHERE statement toevoegen...
Offline Simon - 28/06/2005 19:11 (laatste wijziging 28/06/2005 19:12)
Avatar van Simon PHP expert sorry, te lang op enter gedrukt 
ik houd deze post dan maar voor commentaar
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.272s