login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Login systeem met apparte pagina's

Offline Jamiel - 23/06/2009 12:58 (laatste wijziging 23/06/2009 12:58)
Avatar van JamielNieuw lid Hallo,

Ik wil graag een login systeem met gebruikers die ik allen kan aanmaken. en wanneer iemand inlogt dat hij een pagina te zien krijgt met: bla bla. En wanneer iemand anders inlogd krijgt hij een pagina met: hi hi te zien. dus 2 verschillende accounts met 2 verschillende home paginas. hoe doe ik dit of is hier een tutorial over?

Groet,
Jamiel

9 antwoorden

Gesponsorde links
Offline Koen - 23/06/2009 13:22
Avatar van Koen PHP expert Probeer gewoon eens llogisch na te denken: de gebruiker logt in met zijn gebruikersnaam. Hoe zou je dan een aparte homepage per gebruikersnaam kunnen maken?

Juist! je controleert gewoon met het if statement (of een PHP.net: switch) wat de naam is en dan laat je de bijhorende homepage zien. Zo moeilijk is het toch niet?
Offline AgentX - 23/06/2009 13:59
Avatar van AgentX HTML beginner Stappenplan:

1) Maak een <form>
- Gebruikersnaam
- Wachtwoord
- Inloggen-knop

2) Het script er achter:
- Maak verbinding met je database of een andere brom waar gebruikersnamen en wachtwoorden in staan.
- Check of de ingevoerde data overeenkomt met wat er in de database staat en maak een cookie aan met het gebruikersID, of de gebruikersnaam.

3) Je wil verschillende startpagina's maken voor verschillende gebruikers.
- Check met een IF-statement welk(e) gebruikersnaam of gebruikersID de bezoeker heeft.
  1. <?php
  2. if($_COOKIE["gebruikersID"] == 1){
  3. ?>
  4.  
  5. <!-- Dump hier je hele startpagina voor gebruiker 1 -->
  6.  
  7. <?php
  8. }
  9. elseif($_COOKIE["gebruikersID"] == 2){
  10. ?>
  11.  
  12. <!-- Dump hier je hele startpagina voor gebruiker 2 -->
  13.  
  14. <?php
  15. }
  16. ?>


En dat is het wel zo'n beetje denk ik.

Lijkt mij niet zo moeilijk om te maken. Veel succes.

Groeten,
Koen
Offline jc2 - 23/06/2009 17:15
Avatar van jc2 PHP interesse Je kunt zelfs nog in je database een aparte kolom maken waarin je gebruikersnaam, wachtwoord en te tonen homepage aan elkaar koppelt, zodat je via de database de juiste pagina kan inladen.
Offline Jamiel - 23/06/2009 21:21 (laatste wijziging 23/06/2009 21:24)
Avatar van Jamiel Nieuw lid ik heb nu dit:
wat is hier niet goed aan want als ik ben ingelogd krijg ik niets te zien

  1. CREATE TABLE `members` (
  2. `id` int(4) NOT NULL AUTO_INCREMENT,
  3. `username` varchar(65) NOT NULL DEFAULT '',
  4. `password` varchar(65) NOT NULL DEFAULT '',
  5. PRIMARY KEY (`id`) ) TYPE=MyISAM AUTO_INCREMENT=2 ;


Index.php:
  1. <form method="post" action="login.php">
  2. <br />Username: <input type="text" id="username" name="username">
  3. <br />Password: <input type="password" id="password" name="password">
  4. <br /><input type="submit" name="Login" value="Login"> </form>


Login.php:
  1. <?php
  2.  
  3. // Database Connect
  4. $host="localhost"; // Host name
  5. $dbusername="arti"; // Mysql username
  6. $dbpassword="jamiel"; // Mysql password
  7. $db_name="members"; // Database name
  8.  
  9. // Tabel Connect
  10. $tbl="members";
  11.  
  12. // Connect, Member select
  13. mysql_connect("$host", "$dbusername", "$dbpassword")or die("cannot connect");
  14. mysql_select_db("$db_name")or die("cannot select DB");
  15. $username=$_POST['username'];
  16. $password=$_POST['password'];
  17. $sql="SELECT * FROM $tbl WHERE username='$username' and password='$password'";
  18. $result=mysql_query($sql);
  19.  
  20. // Row count
  21. $count=mysql_num_rows($result);
  22.  
  23. // If result matched $username and $password, table row must be 1
  24.  
  25. if($count==1){
  26.  
  27. // Register $myusername, and redirect to file "login_success.php"
  28. $_SESSION["logged"] = 1;
  29. header("location:login_success.php");
  30. }
  31. else {
  32. $_SESSION["logged"] = 0;
  33. header("location:index.php");
  34. }
  35. ?>


Login_success.php
  1. <?php session_start();
  2. if($_POST["id"] == 1){
  3. ?>
  4.  
  5. echo(Hoi);
  6.  
  7. <?php
  8. }
  9. elseif($_POST["id"] == 2){
  10. ?>
  11.  
  12. echo(Welkom);
  13.  
  14. <?php
  15. }
  16. ?>


wat is er nou fout aan?

groet,
Jamiel
Offline bennieboy - 23/06/2009 22:04 (laatste wijziging 23/06/2009 22:05)
Avatar van bennieboy HTML beginner als je in een query een variabele wil hebben, dan moet je die zo zetten:

'".$var."'

en niet

$var
Offline Bart - 23/06/2009 22:15 (laatste wijziging 23/06/2009 22:16)
Avatar van Bart PHP expert Login_success.php:
  1. echo(Welkom);

moet
  1. echo('Welkom');
Offline Joost - 23/06/2009 22:31
Avatar van Joost PHP expert
AgentX schreef:
maak een cookie aan met het gebruikersID, of de gebruikersnaam.
[..code..]

Dat lijkt me geen strak plan, cookies zijn erg gemakkelijk aan te passen. Je stappenplan is goed, maar leer het de TS wel goed aan.. dit is wel een erg gigantisch lek.
Offline anoop - 23/06/2009 22:42 (laatste wijziging 23/06/2009 22:45)
Avatar van anoop Lid <?php session_start();
if($_POST["id"] == 1){
?>

echo(Hoi);

pas sluiten na die echo() en ""vergeten dus wordt:

<?php session_start();
if($_POST["id"] == 1){
echo("Hoi");
}
?>


edit:
bij je form, staat geen ding om id in te vullen, dus dan kan je niet $_POST["id"] gebruiken, moet je ff via database doen
dus meer iets van: $id = `id` where naam = '$_POST["naam"]';
oid
Offline djb - 25/06/2009 10:20 (laatste wijziging 25/06/2009 10:20)
Avatar van djb PHP beginner
  1. header("location:login_success.php");
Stuurt geen $_POST mee.

Dus in je login_sucses.php kan je geen $_POST gebruiken.
  1. if($_POST["id"] == 1){
Dat wat je dus hier doet.

Je kan wel de ID opslaan in een sessie, en $_POST veranderen in $_SESSION, oid.

Ik hoop dat je ermee verder komt  
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.245s