Pagina 1 van 1

inloggen

Geplaatst: 27 mei 2005, 10:17
door auke
ik heb even een vraagjuh....
ik wil graag dat je vanaf de site kunt inloggen om op het forum te komen, maar ik heb geen idee hoe dit moet.

en is het ook mogelijk dat je een pagina kunt beveiligen op mijn site en dat alleen de mensen die zich geregistreet hebben op mijn forum, die pagina kunnen kijken door middel van hun wachtwoord en inlognaam te gebruiiken die ze ook op mijn forum gebruiken :?: :?: :D

Geplaatst: 27 mei 2005, 10:38
door arievdonk
Gerbuik de zoek optie eens ik heb het al een aantal keer gepost...
Niet meteen voor elk wiswasje een topic openen

Geplaatst: 27 mei 2005, 14:02
door Bee
Login Anywhere

Topic verplaatst naar Mod Aavraag

Geplaatst: 27 mei 2005, 14:27
door w0lfie.be
Ivm met die beveiligde pagina, ja dat is perfect mogelijk. Maar dan moet je wel wat kunnen werken met beginselen van php.

Bovenaan de beveiligde pagina van je website zet je volgende code:

Code: Selecteer alles

<?
$userdata = session_pagestart($user_ip, PAGE_SITE);
init_userprefs($userdata);
?>
Daarna begin je gewoon je pagina in html te typen zoals je altijd doet (maak desnoods je html eerst via dreamwaver ofzo als je niet je code zelf typt, en voeg daarna de php code). Dus na die code volgt: <head><title>...</title></head><body>... enzovoort.

Maak je pagina zoals die zou moeten zijn, maar dan zonder de inhoud. Dus het menu maak je, alles, maar juist de tekst (die dus beschermd moet zijn) zet je er nog niet.

Op de plaats waar je tekst moet komen zet je de volgende code:

Code: Selecteer alles

<? if($userdata['session_user_id'] > 0) { ?>

<? } else { ?>

<? } ?>
Dit ziet er vreemd uit, maar ik zal nu de code nog eens herhalen maar commentaar toevoegen om te verduidelijken.

Code: Selecteer alles

<? if($userdata['session_user_id'] > 0) { ?>
   BLOK 1<br>
   Deze tekst zie je als je <b>ingelogged</b> bent.
<? } else { ?>
   BLOK 2<br>
   Deze tekst zie je als je <i>niet ingelogged</i> bent.
<? } ?>
Blok 1 is enkel en alleen te zien als de persoon die op je site surft is ingelogged. Is die niet ingelogged dan ziet die BLOK2. Je kan de tekst vervangen door eender welke W3C valid code. Dat wil zeggen, javascript, html, dhtml, flash, what so ever, zolang je het in een normale webpagina kan zetten, kan je het tussen die code steken.


Voila, nu heb je een members-only pagina.

Geplaatst: 27 mei 2005, 14:33
door Paul
1. Je kan beter geen short tags gebruiken ;)
2. Je krijgt nu een fatal error, dat de functie niet bestaat, je moet extensions.inc en common.php nog include :)
3. Maak de code wat netter, dan is het nog eens overzichterlijk ook ;)

Geplaatst: 27 mei 2005, 14:40
door w0lfie.be
paulus schreef:1. Je kan beter geen short tags gebruiken ;)
WTF? Short-tags?
paulus schreef:2. Je krijgt nu een fatal error, dat de functie niet bestaat, je moet extensions.inc en common.php nog include :)
Ahja, sorry, alvorens het eerste php commando (dus na <? ) moet dit nog komen:

Code: Selecteer alles

  define('IN_PHPBB', true); 
  $phpbb_root_path = 'forum/'; 
  include($phpbb_root_path . 'extension.inc'); 
  include($phpbb_root_path . 'common.'.$phpEx);
paulus schreef:3. Maak de code wat netter, dan is het nog eens overzichterlijk ook ;)
Netter? Hoe gaat gij die code netter schrijven? Veel staat er niet hé, dus onoverzichtelijk kan dat toch niet zijn mijn gedacht? :?

Geplaatst: 27 mei 2005, 14:53
door Bee
Shorttags zijn dit: Beter is dit:

Code: Selecteer alles

<?php
Omdat shorttags in php standaard uitgeschakeld is, en veel hosts het dus niet ondersteunen.

Geplaatst: 27 mei 2005, 14:57
door Paul
Ik vind dit

Code: Selecteer alles

<? if($userdata['session_user_id'] > 0) { ?> 
niet bepaald overzichtelijk ;)
eerder dit:

Code: Selecteer alles

<?php
if($userdata['session_user_id'] > 0) 
{
?>
 

Geplaatst: 27 mei 2005, 15:03
door w0lfie.be
bee schreef:Shorttags zijn dit:Beter is dit:

Code: Selecteer alles

<?php
Omdat shorttags in php standaard uitgeschakeld is, en veel hosts het dus niet ondersteunen.
Ik moet de eerste host nog tegen komen waarbij dit niet werkt. Mss bij gratis hosts, maar ik betwijfel het. Het wordt trouwens zo aangeleerd op vele scholen... Maar goed, op die kleine details zal ik proberen letten.
paulus schreef:Ik vind dit

Code: Selecteer alles

<? if($userdata['session_user_id'] > 0) { ?> 
niet bepaald overzichtelijk ;)
eerder dit:

Code: Selecteer alles

<?php
if($userdata['session_user_id'] > 0) 
{
?> 
Das een persoonlijke kwestie. Ik vind het makkelijk 1 lijn php te zien, dan een blok html, dan weer 1 lijn php, enz. (toch in dit geval). Het spreiden over verschillende lijnen is vrij belachelijk trouwens. Het levert enkel meerdere bytes op voor je code.

Het belangrijkste hier is de werking, niet het uitzicht, want daar hebben je bezoekers weinig aan. Zolang het volgens bepaalde stijlregels is, en leesbaar blijft.

Geplaatst: 27 mei 2005, 15:05
door Paul
Als ik een code zie, met alles op een regel, die 1000 regels lang is, stop ik er al gauw mee ;)
Ik gebruikte vroeger ook alleen maar short tags, maar sinds ik is goed erin ben gaan verdiepen, kom je erachter dat dat niet slim is ;)

Geplaatst: 27 mei 2005, 15:09
door w0lfie.be
paulus schreef:Als ik een code zie, met alles op een regel, die 1000 regels lang is, stop ik er al gauw mee ;)
Ik gebruikte vroeger ook alleen maar short tags, maar sinds ik is goed erin ben gaan verdiepen, kom je erachter dat dat niet slim is ;)
How how how, ik spreek hier wel niet over de hele code op één lijn hé makker.
Maar, voor druk bezochte sites, kan dat wel helpen in traffiek. Je maakt dan van elk bestand een kopie: eentje met de code normaal in, en eentje met alles op zo weinig mogelijk regels. En je zult zien, als het lange scripts zijn bespaar je al gauw enkele kb's. Maar 't is een feit dat je uit zo enkele regels best niet probeert een fout te halen :)

Maar if structuren schrijf ik altijd zo:

Code: Selecteer alles

if () {
   /// Code
}
Als jij nu die eerste accolade al op een volgende regel zet, vind ik dat "verspilling". Maar zoals ik al zei, 't is een persoonlijke kwestie.

Short tags, ik gebruik ze al m'n hele leven, nog nooit misere gehad. Ofwel heb ik telkens 'deftige' hosting maatschappijen, ofwel geluk :wink: [/code]

Geplaatst: 27 mei 2005, 15:12
door Bee
Ik maak ook veel gebruik van XML, omdat ik van moderne technieken ben, en dan is het juist prettig als shorttags uit staat, omdat anderd <?xml .. ?> niet goed gepakt wordt.

Geplaatst: 27 mei 2005, 15:16
door w0lfie.be
bee schreef:Ik maak ook veel gebruik van XML, omdat ik van moderne technieken ben, en dan is het juist prettig als shorttags uit staat, omdat anderd <?xml .. ?> niet goed gepakt wordt.
Mja, dan is dit te begrijpen, ik zelf werk (nog?) niet echt met XML, ik let wel wat op de W3C standard, maar daar blijft het bij. 't Is nu niet dat dit forum vol XML freaks zit hé (en als het zo is, weten die mensen zelf ook wel dat <? voor verwarring zorgt ;))

Bon, totdaar mijn verschil in mening over die short-tags. 'k Zal er proberen opletten.

Geplaatst: 27 mei 2005, 16:12
door auke
nouw wokey ik zoek het wel even uit!
bedankt!! :thumb:

Geplaatst: 27 mei 2005, 16:23
door auke
hm..... ik heb het even geprobeerd maar ik kom er niet egt uit..
komt misschien omdat ik niet egt verstand heb van php maar meer van html.....maar ik zal het nog even blijven proberen 8)

Geplaatst: 30 mei 2005, 20:52
door w0lfie.be
auke schreef:hm..... ik heb het even geprobeerd maar ik kom er niet egt uit..
komt misschien omdat ik niet egt verstand heb van php maar meer van html.....maar ik zal het nog even blijven proberen 8)
Laat eens weten welke fouten je krijgt...

Hier een klein voorbeeldje met een volledige HTML pagina erbij. Sla het op als test.php

Code: Selecteer alles

<?php
define('IN_PHPBB', true);
  $phpbb_root_path = 'forum/';     // Aanpassen aan het juiste path!!!
  include($phpbb_root_path . 'extension.inc');
  include($phpbb_root_path . 'common.'.$phpEx);
  $userdata = session_pagestart($user_ip, PAGE_SITE);
  init_userprefs($userdata);
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
  <head>
    <title> Test Pagina </title>
  </head>

  <body>
  <?php if($userdata['session_user_id'] > 0) { ?>
    Dit is enkel voor leden
  <?php } else { ?>
    Dit is zichtbaar voor bezoekers en leden die nog niet hebben ingelogged
  <?php } ?>
  </body>
</html>
Als je dit eens goed bekijkt, zul je zien dat je nix van php moet kennen, je moet nu gewoon op de juiste plaats de juiste html plaatsen en 't is in orde.