login  Naam:   Wachtwoord: 
Registreer je!
 Forum

login met cookie

Offline phpfreak - 17/10/2004 13:52
Avatar van phpfreakPHP beginner hallo, ik heb een loginsysteem(van sitemasters) en ik wou er nog de functie bijzetten dat je kon kiezen hoe lang je ingelogged bleef, maar eender wat ik kies, ik ben altijd terug uitgelogged als ik even naar een andere pagina ga.kan iemand me helpen:?:

13 antwoorden

Gesponsorde links
Offline DRUNK - 17/10/2004 13:54
Avatar van DRUNK PHP gevorderde stukje code zou al wat kunnen helpen, ik kan nu niet zien waar het fout gaat.
Offline phpfreak - 17/10/2004 14:06
Avatar van phpfreak PHP beginner ik heb een list menu gemaakt dus, waar je kan kiezen tussen de verschillende tijden:

  1. <select name="hoelang" id="hoelang">
  2. <option value="60*60">1uur</option>
  3. <option value="60*60*24">1dag</option>
  4. <option value="60*60*24*7">1week</option>
  5. <option value="60*60*24*7*4">1maand</option>
  6. <option value="60*60*24*7*4*12">1jaar</option>
  7. </select>

en dan op de pagina waar alle code staat om ingelogged te geraken, bij de tijd van de cookie dit:
  1. $expiredate = time()+$hoelang;

die $hoelang komt dus van het menu
Offline DRUNK - 17/10/2004 14:10
Avatar van DRUNK PHP gevorderde ok leuk, begin eens met $_POST['hoelang'] te gebruiken (als het goed is staat register_globals op off == veiliger). Waar zet je je cookie ( setcookie('naam', 'value', 'tijd') ) ? En als je controleerd of de sessie bestaat moet je ook controleren op het bestaan van het cookie met '$_COOKIE['name']'.
Offline phpfreak - 17/10/2004 14:16
Avatar van phpfreak PHP beginner Maar ik denk dat dat wel correct is, maar ik denkt dat het zit in de values van de select
Offline Thomas - 17/10/2004 14:17
Avatar van Thomas Moderator HTML kan niet rekenen, hij zal dus "60*60" zien als string.
Rekenen met strings wil niet echt lukken... Zet dus in je HTML-formulier de uitgerekende getallen. Hier kan PHP wel wat mee.
Offline phpfreak - 17/10/2004 14:20
Avatar van phpfreak PHP beginner sorry, ben ik vergeten, die
$expiredate = time()+$hoelang;
staat in php
Offline phpfreak - 17/10/2004 14:22
Avatar van phpfreak PHP beginner als ik 3600 zet, neemt die dat als 60*60, wat betekend dat hij 3600 seconden moet blijven staan als ik het goed begrijp?
Offline SickBoy - 17/10/2004 14:22
Avatar van SickBoy MySQL beginner hij bedoelt dat je
<option value="60*60">1uur</option>
moet veranderen in

<option value="3600">1uur</option>
Offline phpfreak - 17/10/2004 14:23
Avatar van phpfreak PHP beginner ok, maar is dat dan hetzelfde in die php als 3600 seconden?
Offline Maarten - 17/10/2004 14:28
Avatar van Maarten Erelid Jaaaa duuuuh  * = vermenigvuldigen

2*2 = 4... of nie soms? dus 60*60 of 3600 is ook hetzelfde, maar het ene zal niet werken 
Offline Fenrir - 17/10/2004 14:28
Avatar van Fenrir PHP expert dan moet je er ook 3600 in zetten, want php rekent dat niet uit (en html al helemaal niet!)
Offline DRUNK - 17/10/2004 14:29 (laatste wijziging 17/10/2004 14:36)
Avatar van DRUNK PHP gevorderde
  1. <select name="hoelang" id="hoelang">
  2. <option value="1">1uur</option>
  3. <option value="2">1dag</option>
  4. <option value="3">1week</option>
  5. <option value="4">1maand</option>
  6. <option value="5">1jaar</option>
  7. </select>
  8. <?php
  9.  
  10. switch (isset($_POST['hoelang'])) {
  11. case '1' :
  12. $time = 60 * 60;
  13. break;
  14.  
  15. case '2' :
  16. $time = 60 * 60 * 24;
  17. break;
  18.  
  19. // enzenzenz...
  20. }
  21. ?>


kan je altijd je waarden weer makkelijk in je code aanpassen, iemand anders al hier wel iets op tegen hebben ik vind dit altijd wel handig. Dit omdat ik veel met templates -> code & opmaak geschijden werk.
Offline phpfreak - 17/10/2004 15:01
Avatar van phpfreak PHP beginner veel simpeler, al opgelost dus, heb da van sitemasters genomen 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.205s