login  Naam:   Wachtwoord: 
Registreer je!
 Forum

inloggen php (Opgelost)

Offline T0Mash - 29/01/2008 22:48
Avatar van T0MashNieuw lid Hallo iedereen!
zoals duidelijk mag zijn aan het einde van dit bericht ben ik nog niet erg ver met php maar ik begin ergens te komen!
Maar daar voor heb ik even wat hulp nodig!:P

Ik heb een inlog script gemaakt maar ik wil dat als je inlogt dat je dan op een pagina kan komen waar andere niet kunnen komen!
hoe is dit mogelijk?
ik heb nu gemaakt dat als je ingelogd bent dat je weer naar index gaat maar nou moet ik dus een functie schrijven waardoor je iets ziet als je pas ingelogd bent! maar hoe moet dit?? kan iemand mij helpen??
 

11 antwoorden

Gesponsorde links
Offline Bart - 29/01/2008 22:51
Avatar van Bart PHP expert Bij een succesvolle login maak je SESSIONS aan.
Volg de tutorial van Fangorn hier maar even over Sessies onder de categorie PHP.
Of als je weet hoe sessions werken (wat ik niet verwacht) hoeft dit niet. Als je dus succesvol ingelogd bent maak je sessions aan, en bijvoorbeeld op een pagina doe je dit:
  1. <?php
  2. if(isset($_SESSION['gebruikersnaam']))
  3. {
  4. echo 'ingelogd';
  5. }
  6. else
  7. {
  8. echo 'ga eens snel inloggen, je mag hier niet komen';
  9. }
  10. ?>

Dit is geen veilige manier, maar dit schept een idee hoe je dit eventueel zou kunnen doen.
Offline T0Mash - 29/01/2008 23:00
Avatar van T0Mash Nieuw lid ok dat is gelukt!
maar is het ook mogelijk dat op meerdere pagina's te gebruiken? ik bedoel dat dat je dan vanaf het moment dat je op inloggen hebt gedrukt (en alles true is) op elke pagina een button bewerken kan vinden??

Of kan je op die pagina andere links zetten naar andere pagina's zetten waar je anders niet zou kunnen komen??

b.v. de pagina waar ik wil komen is desite/modellen/bewerken.php
ik kan dus op de pagina (na inloggen) op die link klikken! dat werkt wel maar als ik gewoon in de browser type:
"desite/modellen/bewerken.php" dan kan dat ook gewoon!!

hoe kan ik dat het beste oplossen??
Offline shibble - 29/01/2008 23:10 (laatste wijziging 29/01/2008 23:13)
Avatar van shibble MySQL interesse tuurlijk is dat mogelyk:

nog steeds met:
  1. <?php
  2. if(isset($_SESSION['gebruikersnaam']))
  3. {
  4. echo 'hierdepagina';
  5. }
  6. else
  7. {
  8. echo 'je bent niet ingelogd';
  9. }
  10. ?>


en dan waar echo 'hierdepagina';

moet gewoon de coding van bewerken.php komen 
logisch blijven denken ;)!
Offline Abbas - 29/01/2008 23:26
Avatar van Abbas Gouden medaille

Crew .NET
Je kan ook een pagina 'controle.php' maken met daarin de controle op de Sessions. En deze pagina kan je dan inladen op alle pagina's waar je moet ingelogd zijn. Door het 1x te typen in een aparte pagina en elke keer waar nodig, in te laden, werk je veel gestructureerder en overzichtelijker.

Controle
  1. <?php
  2.  
  3. if(isset($_SESSION['gebruikersnaam']))
  4. {
  5. //alles in orde
  6. //de gebruiker mag de pagina bekijken
  7. }
  8. else
  9. {
  10. header("Location: login.php");
  11. exit();
  12. //het kan ook zonder de exit
  13. //maar met de exit is het al iets veiliger (NIET volledig veilig)
  14. }


Pagina's voor ingelogde mensen
  1. <?php
  2.  
  3. include("controle.php");
  4.  
  5. ?>


?>
Offline T0Mash - 29/01/2008 23:54 (laatste wijziging 30/01/2008 00:57)
Avatar van T0Mash Nieuw lid ok het is nu bijna gelukt met die include maar nu geeft hij een foutmelding dat als ik naar modellen2.php wil dat hij nja hij zecht dit!

"Firefox heeft vastgesteld dat de server het verzoek voor dit adres doorverwijst op een manier die nooit zal eindigen."


hoe kan dit?? ik heb gewoon die "Location:" verandert naar
"Location: modellen2.php"

en de gebruikersnaam verandert naar 'naam, wachtwoord'

?? 

Ik kom er niet uit:(
Ik heb nu 2 uur lopen zoeken naar het antwoord maar er komt niks uit!!
Ik heb het gevoel dat er iets niet afgesloten word omdat hij zecht dat het een on eindige ciclus is!
Correctie *ik heb het gevoel dat hij de pagina opnieuw en opnieuw en opnieuw laad (modellen2.php)*

heeft iemand dit probleem gehad?
En zo ja heeft iemand de oplossing?

Anderen die het probleem niet hebben gehad maar wel de oplossing hebben zijn ook van harte welkom om een oplossing te geven!:P 
Offline Abbas - 30/01/2008 00:54
Avatar van Abbas Gouden medaille

Crew .NET
Laat je huidige code eens zien.
Offline T0Mash - 30/01/2008 00:57 (laatste wijziging 30/01/2008 01:20)
Avatar van T0Mash Nieuw lid
  1. <?php
  2. if(isset($_SESSION['naam, wachtwoord']))
  3. {
  4. //alles in orde
  5. //de gebruiker mag de pagina bekijken
  6. }
  7. else
  8. {
  9. header("Location: modellen2.php");
  10. exit();
  11. //het kan ook zonder de exit
  12. //maar met de exit is het al iets veiliger (NIET volledig veilig)
  13. }
  14. ?>


en bij de pagina modellen2.php zelf staat er dit:
  1. <?php
  2.  
  3. include("controle.php");
  4.  
  5. ?>


titjes schreef:
Codetags!
Offline Abbas - 30/01/2008 01:22
Avatar van Abbas Gouden medaille

Crew .NET
Je session is niet goed! De controle moet zo:
  1. if(isset($_SESSION['naam']) && isset($_SESSION['wachtwoord']))
  2. //...
Offline T0Mash - 30/01/2008 01:54
Avatar van T0Mash Nieuw lid ik heb het verandert maar ik krijg nog steeds dezelfde foutmelding als eerst!

"Firefox heeft vastgesteld dat de server het verzoek voor dit adres doorverwijst op een manier die nooit zal eindigen."

Offline Abbas - 30/01/2008 02:36
Avatar van Abbas Gouden medaille

Crew .NET
Natuurlijk! ik had het eerst zelf niet gezien... Kijk, je gaat naar modellen2.php en daar include je die controle.php, als je niet bent ingelogd verwijst hij vanuit modellen2.php steeds terug naar modellen2.php! Als je al aangemeld bent zal dit niet gebeuren, maar als je niet bent aangemeld zal hij bij de controle altijd naar die modellen2.php blijven gaan. Wat je moet doen is verwijzen naar een login-pagina:

  1. <?php
  2. if(isset($_SESSION['naam, wachtwoord']))
  3. {
  4. //ingelogd
  5. }
  6. else
  7. {
  8. header("Location: login.php");
  9. exit();
  10. }
  11. ?>


Offline T0Mash - 30/01/2008 13:56
Avatar van T0Mash Nieuw lid bedankt man!:)
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.267s