login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Login Script (PhP) met gebruikersnaam en ww uit een MySql (Opgelost)

Offline Ceasar - 25/02/2009 09:16
Avatar van CeasarNieuw lid Hallo allemaal,
Ik ben op zoek naar een simpel, maar goed werkend scrptje om (html) te beveiligen met een login.
Denk dat bovenin de hml pag. iets moet komen van session(check) oid

Het inloggen kan dus alleen als je de correcte gebrukersnaam en ww uit de MySQL hebt ingevoerd

Bvd
C.

24 antwoorden

Gesponsorde links
Offline denniseik - 25/02/2009 09:40
Avatar van denniseik Lid Kijk is bij de scripts: http://www.site...amp;cat=22

Bijvoorbeeld dit script gebruik ik zelf van Maarten: http://www.site...amp;id=450
Offline Ceasar - 25/02/2009 11:23
Avatar van Ceasar Nieuw lid Hallo Dennis,
Komt in de buurt, maar de GEBRUIKERSNAMEN en WACHTWOORDEN staan reeds in een mysql db
Geen idee hoe ikdan config moet aanpassen  
Offline Wim - 25/02/2009 15:43 (laatste wijziging 25/02/2009 15:43)
Avatar van Wim Crew algemeen http://www.cursusphp.be/cursus/Sessies_in_PHP

Misschien dat je dat even kan bekijken, en dan kan je zelf aan de slag gaan?
Offline Ceasar - 27/02/2009 08:54
Avatar van Ceasar Nieuw lid Link doet het niet wimmie !!
Offline Aar - 27/02/2009 09:58
Avatar van Aar PHP interesse kijk anders eens naar:
http://multisess.clayweb.nl
Een mooi kant en klaar loginscript.
Offline Ceasar - 27/02/2009 19:51
Avatar van Ceasar Nieuw lid WinRar, ik ken dit niet, kun je een linkje naar de juiste versie sturen aub
Offline Koen - 27/02/2009 20:56
Avatar van Koen PHP expert http://www.rarlabs.com
Offline Ceasar - 28/02/2009 12:33
Avatar van Ceasar Nieuw lid Helaas.....werkt niet
Offline mothh - 28/02/2009 14:46
Avatar van mothh Onbekend www.google.nl je kan er alles vinden! bijna alles dan
Offline Aar - 02/03/2009 13:32
Avatar van Aar PHP interesse
Ceasar schreef:
Helaas.....werkt niet

Werkt prima hier.

Offline jaronneke - 02/03/2009 13:35 (laatste wijziging 02/03/2009 13:36)
Avatar van jaronneke MySQL interesse om php te draaien kan je niet zomaar net als je html bestanden openen vanaf een willekeurige locatie.. hier moet je een soort van 'webserver' zoals xampp installeren.
Offline Ceasar - 03/03/2009 20:56 (laatste wijziging 04/03/2009 13:40)
Avatar van Ceasar Nieuw lid
  1. <?php
  2. if (!session_is_registered('loginid') || !session_is_registered('username'))
  3. {
  4. // user is not logged in.
  5. if (isset($_POST['cmdlogin']))
  6. {
  7. // retrieve the username and password sent from login form
  8. // First we remove all HTML-tags and PHP-tags
  9. // This step will make sure the script is not vurnable to sql injections.
  10. $u = strip_tags($_POST['username']);
  11. $p = strip_tags($_POST['password']);
  12. //Now let us look for the user in the database.
  13. $query = sprintf("SELECT loginid FROM login WHERE username = '%s' AND password = '%s' LIMIT 1;",
  14. $result = mysql_query($query);
  15. // If the database returns a 0 as result we know the login information is incorrect.
  16. // If the database returns a 1 as result we know the login was correct and we proceed.
  17. // If the database returns a result > 1 there are multple users
  18. // with the same username and password, so the login will fail.
  19. if (mysql_num_rows($result) != 1)
  20. {
  21. // invalid login information
  22. echo "Verkeerde lidcode of logincode ingevoerd!<br><br>";
  23. echo "Gegevens vergeten? Neem even contact op met de webmaster.";
  24. //show the loginform again.
  25. include "loginform.php";
  26. } else {
  27. // Login was successfull
  28. $row = mysql_fetch_array($result);
  29. // Save the user ID for use later
  30. $_SESSION['loginid'] = $row['loginid'];
  31. // Save the username for use later
  32. $_SESSION['username'] = $u;
  33. // Now we show the userbox
  34. show_userbox();
  35.  
  36.  
  37. }
  38. } else {
  39. // User is not logged in and has not pressed the login button
  40. // so we show him the loginform
  41. include "loginform.php";
  42. }
  43.  
  44. } else {
  45. // The user is already loggedin, so we show the userbox.
  46. show_userbox();
  47.  
  48.  
  49. }
  50. ?>



wimmarien schreef:
Gelieve de code-tags te gebruiken!


heb ik toch gedaan ????
Offline Wim - 04/03/2009 13:50
Avatar van Wim Crew algemeen Er stonden geen code-tags... Stond wel [ plaatscode=php]; deze dient echter om een link naar www.plaatscode.be te posten; niet om code in te voeren. Rond php-codes kan je [code ] en [/code] plaatsen om deze te laten weergeven in een code-blok.

Kan je trouwens eventjes vermelden WAT er niet werkt aan dit script? Welke foutmelding krijg je? ...?
Offline Ceasar - 04/03/2009 14:18 (laatste wijziging 04/03/2009 16:32)
Avatar van Ceasar Nieuw lid Sorry, net nieuw op dit forum. Ik heb inmiddels een login script, die data uit mySQL "checked" , alles werkt, maar nu zou ik willen weten, hoe kan ik nu bepaalde pagina's een code meegeven.
Als ik bv
  1. <?php
  2. // Start a session
  3. require_once ('db_connect.inc.php');
  4. require_once ("functions.inc.php");
  5. reguire_once ("login.php")
  6. ?>


Dan zie ik het loginschermpje, terwijl er al was ingelogged, maar ook nog de hele pagina.

Offline Wim - 04/03/2009 16:31
Avatar van Wim Crew algemeen Hiervoor kan je $_SESSION['loginid'] en $_SESSION['username'] voor controleren. Deze bevatten de login gegevens van de gebruiker.

Als deze een waarde hebben en deze is correct, dan heb je het over een geldige, ingelogde gebruiker.

Als deze leeg zijn, of als de waardes niet overeen komen, dan is de gebruiker niet ingelogd, en krijgt hij dus geen toegang.

Wim
Offline Ceasar - 04/03/2009 20:07 (laatste wijziging 04/03/2009 20:59)
Avatar van Ceasar Nieuw lid Dag Wim,
Als ik dit bovenin het hrml doc zet gebeurt er niets.
dus....ik snap het niet of doe iets niet goed 
  1. <?php
  2. if(isset($_SESSION['loginid']) && isset($_SESSION['username'])) {
  3. // ja, gebruiker is ingelogd
  4. }
  5. else {
  6. // je moet inloggen!
  7. }
  8. ?>
Offline Wim - 04/03/2009 20:59
Avatar van Wim Crew algemeen Als je enkel commentaar gaat zetten gaat er inderdaad niets gebeuren :-)

In plaats daarvan kan je er dus beter een echo zetten, zodat je weet in welke lus php komt en in welke niet 

Wil je trouwens ook kleine blokken code tussen de code tags plaatsen aub?
Offline maigel - 04/03/2009 21:13
Avatar van maigel PHP beginner ik denk persoonlijk dat de TS nog geen php kennis heeft, ik zou aanraden om direct een kant en klaar login scriptje te zoeken of zelf php leren en er een te maken
Offline Ceasar - 04/03/2009 21:15 (laatste wijziging 04/03/2009 21:38)
Avatar van Ceasar Nieuw lid Wim
Tussen php tags zetten, ik zie nog steeds niet waar en hoe.
is dit goed zo ??
  1. <?phpif(isset($_SESSION['loginid']) && isset($_SESSION['username'])) { // ja, gebruiker is ingelogd}
  2. else { // je moet inloggen!}?>


Offline Wim - 04/03/2009 21:39
Avatar van Wim Crew algemeen Bewerk een van je berichten, dan heb je een voorbeeld hoe de code tags te gebruiken...

  1. <?php
  2. if(isset($_SESSION['loginid']) && isset($_SESSION['username'])) {
  3. echo 'ja, gebruiker is ingelogd';
  4. }
  5. else {
  6. echo 'je moet inloggen!';
  7. }
  8. ?>


wat is daar de output van?
Offline Ceasar - 04/03/2009 21:49
Avatar van Ceasar Nieuw lid dan krijg ik gewoon de pagina te zien en de tekst je moet inloggen IN deze pagina.
Offline Wim - 04/03/2009 22:13 (laatste wijziging 04/03/2009 22:16)
Avatar van Wim Crew algemeen Je bent zeker dat je de sessie start? (dmv PHP.net: session_start)

Neem trouwens ook eens een kijke op PHP.net: session_is_registered; ik citeer:
Citaat:
Warning
This function has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 6.0.0. Relying on this feature is highly discouraged.

Citaat:
Caution
If you are using $_SESSION (or $HTTP_SESSION_VARS), do not use session_register(), session_is_registered() and session_unregister().


Maw; session_is_registered('session') gebruik je beter niet meer en kan vervangen worden door isset($_SESSION['session']).

Wim


//edit:
Als je de functie "show_userbox();" probeert aan te roepen in je script; wordt deze uitgevoerd of niet?
Zo ja -> de sessions worden geregistreerd; de gebruiker is ingelogd
zo nee -> de gebruiker wordt nooit ingelogd, in dat geval zit er een fout in het script dat je eerder gaf.
Offline Ceasar - 06/03/2009 11:11
Avatar van Ceasar Nieuw lid Allen
Probleem is opgelost, het script en bijbehorende validationchecks etc werken nu prefect !

Dank aan jullie allemaal die mij zo af en toe een duw in de rug hebben gegeven !!    
Offline sima - 01/05/2009 23:46 (laatste wijziging 01/05/2009 23:48)
Avatar van sima Nieuw lid Er zit een beveiligingsfout in 'afmelden.php'!!!!!

De code
if(isset($_COOKIE['wachtwoord'])) {
setcookie("gebruikersnaam", "", time(), "/");
}

moet vervangen worden door
if(isset($_COOKIE['wachtwoord'])) {
setcookie("wachtwoord", "", time(), "/");
}

Oftewel voor nu; dit script nooit gebruiken vanaf een publiek toegankelijke computer.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.288s