[PHP] Bij include { een foutmelding

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • GekkeCoen
  • Registratie: September 2005
  • Laatst online: 20-02 22:53
Goedeavond,

Waarom werkt php include niet als er een { of een } instaat? En is hier een alternatief voor? Even een voorbeeldje:

PHP:
1
2
3
4
5
<?
include ("header.php");
echo "Hello World.";
include ("footer.php");
?>


Header:
PHP:
1
2
3
<?
if (session_is_registered("sess_gebruikersnaam")) {
?>


Footer:
PHP:
1
2
3
4
5
6
<?
}
else {
echo "U bent niet ingelogd.";
}
?>


Alvast bedankt, :)
Coen

Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Iedere file wordt los ge-evalueerd; met dezelfde variabele scope als het stuk waar hij vandaan wordt geinclude. Alternatief voor wat je hierboven probeert: in je header een $is_ingelogd aanmaken; en de if-statement in je page.php neerzetten. Evt kun je daar in je footer ook weer op controleren :) Let erop dat je code overzichtelijk moet blijven; dat is de reden dat wat jij wilt niet kan :)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

  • prutsger
  • Registratie: Oktober 2001
  • Laatst online: 19-09 08:51
Omdat php een file die je include eerst probeert te parsen? Maar het fijne weet ik daar ook niet van. Maar je kunt het toch ook anders oplossen. Waarom zou je die if per se in een include willen?

Ik zou het zo doen:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<?
include ("header.php"); 

if (session_is_registered("sess_gebruikersnaam")) {
  echo "Hello World.";
}
else {
  echo "U bent niet ingelogd.";
}

include ("footer.php");
?>


En dan in je header en footer waarschijnlijk content die je altijd wilt laten zien? Maar erg veel info geef je niet dus dat kan ik hier niet uithalen...

[ Voor 0% gewijzigd door prutsger op 10-10-2006 20:51 . Reden: note to /me : sneller leren typen... ]


Acties:
  • 0 Henk 'm!

  • EdwinG
  • Registratie: Oktober 2002
  • Laatst online: 22:41
Stel dat, in de opstelling van de TS, de IF-conditie niet waar blijkt te zijn.
Op dat moment zouden, als dit wel zou kunnen, zowel de echo als de include(footer.php) niet worden uitgevoerd. En zou je dus een parse error krijgen.

[ Voor 16% gewijzigd door EdwinG op 10-10-2006 21:24 ]

Bezoek eens een willekeurige pagina


Acties:
  • 0 Henk 'm!

Verwijderd

EdwinG schreef op dinsdag 10 oktober 2006 @ 21:21:

(include gebeurt immers alleen als de uitvoer daarbij komt, in tegenstelling tot require)
require doet niks anders dan include, behalve dan een fatal error genereren als het bestand nie geopend kan worden*

* behalve op antieke systemen dan

[ Voor 7% gewijzigd door Verwijderd op 10-10-2006 21:26 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Ik zou een losse variable maken voor de sessie. Daarna een boolean en je code uitvoeren, dat werkt prima.
Pagina: 1