login  Naam:   Wachtwoord: 
Registreer je!
 Forum

pagina/leden systeem

Offline Activeren - 02/12/2006 13:41
Avatar van ActiverenPHP interesse Ik heb een leden systeem..
hier me systeem
Ik heb een pagina systeem,
  1. <?PHP
  2. // we gaan nu het bestand includen met daarin alle toegestane
  3. // paginas
  4. include "paginas.php";
  5.  
  6. // kijken of ?pagina= geset is
  7. if(isset($_GET['pagina']) && $_GET['pagina'] != "begin")
  8. {
  9. // ja
  10. // nu gaan we kijken of de pagina ook voorkomt in onze
  11. // array van toegestane pagina's
  12. if(In_Array($_GET['pagina'], $aPagina))
  13. {
  14. // ja
  15. // de pagina is toegestaan om bekeken te worden
  16.  
  17. // je zou eventueel ook nog kunnen kijken of de pagina
  18. // bestaat, maar dat lijkt me overbodig
  19. $sPagina = $_GET['pagina'];
  20. } else
  21. {
  22. // de error pagina voor als de pagina niet toegestaan
  23. // is om te bekijken
  24. $sPagina = "errors/403";
  25. }
  26. } else
  27. {
  28. // standaard pgina voor als ?pagina= niet geset is
  29. $sPagina = "show_news.php";
  30. }
  31. //en nu de pagina nog includen
  32. include($sPagina);
  33. ?>


Daar komen alle pagina's ook van me ledensysteem.. maar onder het kopje inloggen in me layout, zit de index van me ledensysteem, en die geeft ik zo aan.

  1. <?php
  2. include("leden/index.php");
  3. ?>


Maar als je daar op inloggen klikt, dan kreeg ik een foutmelding, dat had ik al eerder gepost, dat kwam door dat de functie beveiliging 2x uitgevoerd werd, die hele funcite heb ik weggehaald in me include.php
  1. <?
  2. $online_verval = time()-300;
  3. // tijd in seconden dat een gebruiker online blijft
  4.  
  5. $ip = getenv("REMOTE_ADDR");
  6. if($ip == "") { $ip = getenv("HTTP_X_FORWARDED_FOR"); }
  7.  
  8. $time = time();
  9.  
  10. mysql_query("DELETE FROM online WHERE datum < '$online_verval'");
  11.  
  12. if ($_COOKIE["gebruikersnaam"] != "" AND $_COOKIE[memberid] != ""){
  13. $sql = mysql_query("SELECT * FROM online WHERE memberid='" . $_COOKIE[memberid] . "' AND gebruikersnaam='" . $_COOKIE[gebruikersnaam] . "'");
  14. $sql2 = "memberid='" . $_COOKIE[memberid] . "', gebruikersnaam='" . $_COOKIE[gebruikersnaam] . "', ip='$ip'";
  15. $sql3 = "memberid='" . $_COOKIE[memberid] . "' AND gebruikersnaam='" . $_COOKIE[gebruikersnaam] . "'";
  16. } else {
  17. $sql = mysql_query("SELECT * FROM online WHERE ip='$ip' AND memberid='0'");
  18. $sql2 = "memberid='0', ip='$ip'";
  19. $sql3 = "memberid='0' AND ip='$ip'";
  20. }
  21.  
  22. if(mysql_num_rows($sql) == 0) {
  23. mysql_query("INSERT INTO online SET $sql2, datum='$time', datum_start='$time'");
  24. } elseif(mysql_num_rows($sql) != 0) {
  25. mysql_query("UPDATE online SET datum='$time' WHERE $sql3");
  26. }
  27.  
  28. if ($_COOKIE["gebruikersnaam"] == "" AND $_COOKIE["memberid"] == ""){
  29. $select = "SELECT * FROM ban WHERE ip = '" . $ip . "'";
  30. $query = mysql_query($select);
  31. if(mysql_num_rows($query) == 1){
  32. $verbannen = 1;
  33. }
  34. }
  35. else {
  36. $select = "SELECT status FROM leden WHERE gebruikersnaam = '" . $_COOKIE[gebruikersnaam] . "'";
  37. $query = mysql_query($select);
  38. $list = mysql_fetch_array($query);
  39. if($list[status] == "Verbannen"){
  40. $verbannen = 1;
  41. $update = "UPDATE ban SET ip='" . $ip . "'";
  42. $query = mysql_query($update);
  43. }
  44. }
  45. if($verbannen == 1){
  46. echo "<h3>Fout</h3>";
  47. echo "Je bent verbannen van de website. Ben je het hier niet mee eens, neem dan contact op met <a href=\"mailto:$site_webmaster_email\">$site_webmaster_email</a>."; exit;
  48. }
  49.  
  50. if($toegang == 0){
  51. echo "<h3>Fout</h3>";
  52. echo "Om deze pagina te kunnen bekijken is het noodzakelijk dat je inlogd. Als je al bent ingelogd heb je niet genoeg rechten of is er wat mis met je gegevens."; exit;
  53. }
  54. ?>

maar nu werkt het niet meer, kijk maar op me systeem
hier me systeem

Misschien kunnen jullie me verder helpen
alvast bedankt

7 antwoorden

Gesponsorde links
Offline Micron - 02/12/2006 14:38
Avatar van Micron HTML beginner Bij inloggen heb je als error:

Citaat:
Fatal error: Cannot redeclare beveiliging() (previously declared in /storage/mijndomein/users/025504/public/sites/www.sbshabbo.nl/cutenews/leden/include.php:50) in /storage/mijndomein/users/025504/public/sites/www.sbshabbo.nl/cutenews/leden/include.php on line 50


Dat betekent (als ik het goed heb) dat je functie beveiliging() niet bestaat en je hem toch nog gebruikt.
Offline Poepvlek - 02/12/2006 14:57 (laatste wijziging 02/12/2006 14:58)
Avatar van Poepvlek Onbekend Jah, dat geeft dat aan, maar wat activeer zelf zei kan ook..
Offline Activeren - 02/12/2006 14:59 (laatste wijziging 02/12/2006 15:08)
Avatar van Activeren PHP interesse Oke, maar wat moet ik er dan aan doen???
Ik dacht zelf, dat de include functie 2x uitvoerd, en als ik die functie verwijder, dan is het systeem weg, dus ik heb geen idee wat ik moet doen, eignelijk..
Offline Grayen - 02/12/2006 16:11
Avatar van Grayen PHP ver gevorderde
Citaat:
Dat betekent (als ik het goed heb) dat je functie beveiliging() niet bestaat en je hem toch nog gebruikt.


Citaat:
Jah, dat geeft dat aan, maar wat activeer zelf zei kan ook..


Nee het houd in dat de functie beveiliging twee keer bestaat, dus als ik een php script heb met het volgende:

function a(){
echo 'a';
}
function a(){
echo 'a';
}

dan komt hij met een error, want je kan geen twee functies met dezelfde naam hebben.

Citaat:
Ik dacht zelf, dat de include functie 2x uitvoerd


waarschijnlijk komt die melding dus, omdat jij in meerdere pagina's die jij include een functie hebt staan met dezelfde naam, waardoor php 2 keer dezelfde functie (ze hebben dus dezelfde naam) tegenkomt, en dus met een foutmelding komt.
Offline Activeren - 02/12/2006 16:54 (laatste wijziging 02/12/2006 17:54)
Avatar van Activeren PHP interesse Dus, ik moet 1 include.php in incude_once.php veranderen??

of niet.??? want ik snap het probleem wel, maar de oplossing niet echt
Offline Grayen - 02/12/2006 18:53
Avatar van Grayen PHP ver gevorderde nee, er zit gewoon ergens in jouw scripts twee functies met dezelfde naam, verander dit en het werkt.
Offline Ibrahim - 02/12/2006 22:32
Avatar van Ibrahim PHP expert include_once kan wel helpen ja
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.198s