login  Naam:   Wachtwoord: 
Registreer je!
 Forum

q: Loginscript bevat voor parser geen fouten maar werkt niet.

Offline Johaninho - 05/09/2004 23:22 (laatste wijziging 05/09/2004 23:29)
Avatar van JohaninhoNieuw lid Wel ik ben afgelopen dagen bezig geweest met heel wat research etc voor eindelijk eens php en mysql onder de knie te krijgen. Echter een contactform of een gb is geen probleem (raar maar waar) maar een login blijkt dus niet te gaan mijn script is:


de database naam is : jdesign
table : admin

query:
CREATE TABLE admin (
id int(1) NOT NULL auto_increment,
naam varchar(50) NOT NULL default '',
passwd varchar(100) NOT NULL default '',
PRIMARY KEY (id),
KEY id (id)
) TYPE=MyISAM;



****login.php*****
***************
  1. <?php
  2.  
  3. //start output buffering
  4. ?>
  5.  
  6. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  7. <html>
  8. <head>
  9. <title>firstphp</title>
  10. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  11. </head>
  12.  
  13. <body>
  14.  
  15.  
  16.  
  17. <?php
  18. //hier word de connectie gelegd naar de db voor de admin
  19. mysql_connect("localhost","johan","johan");
  20. mysql_select_db("jdesign");
  21.  
  22. //nu gaan we de query uit de db halen die we nodig hebben
  23.  
  24. $naam = $_POST['naam'];
  25. $pwd = $_POST['wachtwoord'];
  26. $ok = $_POST['ok'];
  27. $table = 'admin';
  28. $redirect = 'admin.php';
  29.  
  30.  
  31. if($ok)
  32. {
  33. $resultaat = mysql_query("SELECT *
  34. FROM ".$table."
  35. WHERE naam = $naam");
  36. $gegevens = mysql_fetch_array($resultaat);
  37.  
  38. if($gegevens['naam'] != $naam) //controle van de username
  39. {
  40. echo '<center><font color="red"><b>Username ' .$naam. ' niet gevonden!!</b></font><center>';
  41. }
  42. else if(md5($pwd) == $gegevens['passwd'])
  43. {
  44. //registreren van de sessie
  45. session_start(); //functie gebruikt voor het registreren van een sessie, gebruikmakend van een cookie (zie verder)
  46. $_SESSION['user'] = $naam;
  47.  
  48. //nu moeten we dus de beveiligde page weergeven, een redirection gebeurt met de functie "header"
  49. header("Location: " .$redirect);
  50. }
  51. else
  52. {
  53. echo '<center><font color="red"><b>Password incorrect for' .$naam. '</b></font></center>';
  54. }
  55. }
  56. ?>
  57. <form method="post" action="<?php echo $PHP_SELF; ?>">
  58. <input name="naam" type="text" id="naam">
  59. <br>
  60. <input name="wachtwoord" type="password" id="wachtwoord">
  61. <br>
  62. <input name="zenden" type="submit" value="OK" width="50" id="ok">
  63. </form>
  64.  
  65.  
  66. </body>
  67. </html>



De toekomstige admin page bevat nog geen functionaliteit, maar de hoofdzaak is dat deze beveiligd is voorlopig.

***admin.php***
*************
  1. <?php
  2. if(!session_is_registered('user')) die ('protected page!!!');
  3. ?>
  4.  
  5. <html>
  6. <head>
  7. <title>adminpage</title>
  8. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  9. </head>
  10.  
  11. <body>
  12. dit is de admin page
  13. </body>
  14. </html>


Ik hoop dat een van jullie mij kan verder helpen met mijn probleem wat ik krijg er kop nog staart aan waarom het niet bold, het is dus de bedoeling dat ik kan inloggen en dat mn page dan redirect naar admin.php.

4 antwoorden

Gesponsorde links
Offline SS4U - 06/09/2004 01:20
Avatar van SS4U Nieuw lid Voorbeeld?

En moet:
  1. $ok = $_POST['ok'];

Niet
  1. $ok = $_POST['zenden'];

zijn??
Offline Thomas - 06/09/2004 07:03
Avatar van Thomas Moderator En het moet
SELECT *
FROM <table>
WHERE naam='<naam>'
zijn

(quotes om text)

session_is_registered() was verouderd geloof ik.
Gebruik
if(isset($_SESSION['je_sessievar'])) {
...
}
Offline sasser - 06/09/2004 16:46 (laatste wijziging 06/09/2004 16:51)
Avatar van sasser PHP interesse ik dacht dat je niet hele scripts op forum mocht posten;-)

3. Geen geflood:

Er mag niet geflood worden op Sitemasters.be. Hiermee bedoelen we geen overbodige of herhalende teksten, geen volledige scripts posten in het forum, ...
;-)
Offline Johaninho - 06/09/2004 17:26
Avatar van Johaninho Nieuw lid ok ok sasser ;) zo is het ook. Maar stel nu dat je script geen parse errors of mysql fouten geeft, dan is het toch logisch dat je het volledige script ff post want hoe kan men anders je redenering van je scripten volgen door daar even een stukje te zetten terwijl de fout (tijpfout, verkeerde var op de verkeerde plaats...) overal kan zitten.

Nuja anyway thnx voor de verwittiging 
En vooral bedankt aan degene die me geholpen hebben it works fine now.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.199s