login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Memberpage aan inlog linken.

Offline DieHard - 30/07/2008 22:34
Avatar van DieHardPHP interesse Ik heb nu een goed werkend log-in script + password veranderen en opvragen als men het kwijt is.

Maar ik wil graag dat na de inlog de persoon naar zijn/haar persoonlijke pagina gaat.

Hoe kan ik dit voor elkaar krijgen?
Moet ik dan nog punten toevoegen in het php script of alleen in MySql?

Alvast bedankt  

11 antwoorden

Gesponsorde links
Offline Bart - 30/07/2008 23:10 (laatste wijziging 30/07/2008 23:10)
Avatar van Bart PHP expert Dit kan je doen d.m.v. header(). Nadat de persoon is ingelogd (sessies/cookies aangemaakt) gelijk header() toepassen.

Zie PHP.net: header
Offline DieHard - 30/07/2008 23:20
Avatar van DieHard PHP interesse Oke dat snap ik ik heb ook al een header.php
Maar ik begrijp niet hoe ik voor member1 dan memberpage1 kan instellen en member2 --> memberpage2 etc..
Offline Babak - 30/07/2008 23:45
Avatar van Babak MySQL interesse Je kan toch gewoon het opslaan in Sessies en gewoon doorverwijzen naar profiel.php

En daar de gegevens uit de database halen, voor elk persoon verschillend. Of is dat niet wat je wilt?
Offline kickasgamer - 31/07/2008 00:25
Avatar van kickasgamer PHP ver gevorderde ja je link in de header naar zijn of haar pagine

  1. header("Refresh: 3; ULR=profiel.php?id=".$id."");
Offline DieHard - 01/08/2008 18:38 (laatste wijziging 01/08/2008 18:45)
Avatar van DieHard PHP interesse oke kickasgamer ik heb er niet heel veel verstand van, maar hieruit maak ik op dat ik dan een aparte profiel.php moet maken en in MySql een aparte id?

//edit

Ik heb nu na de inlog er een link ingezet

  1. // Dit is het gedeelte wat de ingelogde persoon ziet.
  2. echo "<div id='userbox'>
  3. Welcome $u
  4. <ul>
  5. <li><a href='./memberpage.php'>Member page</a></li>
  6. <li><a href='./changepassword.php'>Change Password</a></li>
  7. <li><a href='./logout.php'>Logout</a></li>
  8. </ul>
  9. </div>";
  10. }


Dus dan kan ik via de memberpage.php een check uitvoeren voor de persoonlijke pagina? Zo ja, wat moet er dan in dat php file'tje komen te staan?
Offline kickasgamer - 01/08/2008 19:00
Avatar van kickasgamer PHP ver gevorderde ja op profiel.php haal je de id uit de url

en haal je alle gegevens uit de DB via "SELECT * FROM leden WHERE id='".$_get['id'].'"

en als dan alle info echoën 
Offline DieHard - 01/08/2008 19:09 (laatste wijziging 01/08/2008 19:16)
Avatar van DieHard PHP interesse Ik snap eigenlijk de uitleg wel, maar ik heb geen id hoe ik dit in kan voegen in MySql.

Deze SQL code gebruik ik nu;

  1. CREATE TABLE `login` (
  2. `loginid` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `username` varchar(30) NOT NULL,
  4. `password` varchar(50) NOT NULL,
  5. `email` varchar(255) NOT NULL,
  6. `actcode` varchar(45) NOT NULL,
  7. `disabled` tinyint(1) NOT NULL DEFAULT '0',
  8. `activated` tinyint(1) NOT NULL DEFAULT '0',
  9. PRIMARY KEY (`loginid`)
  10. );
Offline Squid - 01/08/2008 23:06
Avatar van Squid Nieuw lid DieHard je begrijpt het verkeerd.
Elke sessie is anders voor elke ID.
Als ik een account bij jou aan maak, krijg ik ID 1, de 2de krijgt weer ID 2 etc etc etc...
Als jij vanaf je php een query maakt waarbij je alles selecteert. Bij de ID waar de username en password matchen dan kan het niet fout gaan. Je selecteert van loginid tot activated waardoor je dus kan Updaten, Ik zal je een voorbeeld laten zien van mijn eigen script:
  1. $sql = "SELECT acct,login,password,email,gm FROM accounts WHERE login ='$user_name'";
  2. $result = mysql_query($sql) or die(error(mysql_error()));
  3.  
  4. //make sure we return only 1 acct
  5. if (mysql_num_rows($result) == 1) {
  6. $acc = mysql_fetch_row($result) or die(error(mysql_error()));
  7. $output .= "<center>
  8. <fieldset style=\"width: 550px;\">
  9. <legend>Edit Your Account</legend>
  10. <form method=\"GET\" action=\"edit.php\">
  11. <input type=\"hidden\" name=\"action\" value=\"doedit_user\" />
  12. <table width=\"400\" class=\"flat\">
  13. <tr>
  14. <td>ID</td>
  15. <td>$acc[0]</td>
  16. </tr>
  17. <tr>
  18. <td>Username</td>
  19. <td>$acc[1]</td>
  20. </tr>
  21. <tr>
  22. <td>Password</td>
  23. <td><input type=\"text\" name=\"new_pass\" size=\"43\" maxlength=\"25\" value=\"$acc[2]\" /></td>
  24. </tr>
  25. <tr>
  26. <td>Mail</td>
  27. <td><input type=\"text\" name=\"new_mail\" size=\"43\" maxlength=\"225\" value=\"$acc[3]\" /></td>
  28. </tr>
  29. <tr>
  30. <td>GMlevel</td>
  31. <td>$acc[4]</td>
  32. </tr>
  33. <tr>
  34. <td>Characters</td>
  35. <td>";

Zoals je ziet, in de bovenste stukje code, selecteert hij de gegevens die hij nodig heeft. Kijkt of deze opgehaald kunnen worden. Is dit zo, laat hij een menu zien. Het is echt heel makkelijk. Mocht je toch nog moeite hebben, wees dan niet te bescheiden om mij even een PM te sturen 

mvg,

Jaivy.
Offline Mica - 02/08/2008 17:32
Avatar van Mica Lid Ik denk dat hij het niet goed begrijpt van die header() functie.. mss ben je iets met een meta refresh?

<meta http-equiv="refresh" content="2;url=profiel.php">

2 = na hoeveel seconden hij moet gaan naar de specifieke pagina.
profiel.php = de pagina die de persoon in kwestie tezien meot krijgen.
Offline DieHard - 04/08/2008 21:46
Avatar van DieHard PHP interesse oke, ik heb je gemaild en nee ik bedoel neit meta refresh.
Offline cr1mp - 04/08/2008 21:56 (laatste wijziging 04/08/2008 21:57)
Avatar van cr1mp Nieuw lid
kickasgamer schreef:
ja op profiel.php haal je de id uit de url

en haal je alle gegevens uit de DB via "SELECT * FROM leden WHERE id='".$_get['id'].'"

en als dan alle info echoën 


moet
  1. "SELECT * FROM login WHERE loginid='".$_get['id'].'"

zijn
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.229s