Toon posts:

[php] scherm leeg maken

Pagina: 1
Acties:

Verwijderd

Topicstarter
Stel: Een pagina wordt opgebouwd door PHP, maar... opeens gaat er iets mis en komt er een error, die ik weer geef met de functie eenError(). Die eenError() functie print gewoon een hele html pagina uit, met daartussen ergens de error.
Hoe zorg ik nu dat voordat eenError() begint met <html> printen, hij eerst het scherm leeg maakt??

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
niet :)

  • Limhes
  • Registratie: Oktober 2001
  • Laatst online: 19-08 19:06
Op donderdag 21 februari 2002 17:40 schreef Nielsz het volgende:
niet :)
Jawel!

Of met Output Control Functions of je gooit eerst alles in een variabele en pleurt pas alles neer als er geen fouten in de pagina zitten.

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Die volgorde die jij wil kan niet.

Andersom kan wel, oftewel print het pas als je zeker weet dat het goed gegaan is.

Dat kan je doen door zelf een variabele te vullen of met output buffering te werken.
Op donderdag 21 februari 2002 17:43 schreef Limhes het volgende:
Jawel!
Nee, wat hij vraagt kan niet ;)

  • goalgetter
  • Registratie: Juni 1999
  • Laatst online: 25-08 15:24
Je zou je output kunnen bufferen, en als er ergens middenin een fout optreedt die buffer kunnen flushen zonder het te printen. Er is dan nog geen output naar de browser geweest, dus dan kan je vrolijk je error gaan printen.

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op donderdag 21 februari 2002 17:43 schreef Limhes het volgende:

[..]

Jawel!
cls();

werkt niet :'( ;)

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Als met PHP werkt moet je altijd in de gaten houden dat je nooit meer kan opleveren dan een statische HTML pagina. Alleen de inhoud van deze HTML pagina kan dynamisch gegenereerd zijn.

Ingewikkelde interactie is hierdoor onmogelijk.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Bart B
  • Registratie: Juli 2000
  • Laatst online: 06-04 17:55
Het is ook mogelijk om gebruik te maken van Cascading StyleSheets.

Maak een DIV'je en maak deze 100% over lengte en breedtje, absoluut gepositioneerd 0px van boven en links.
De errors komen wel (voor jou zijn die dan ook te zien),

maar de errors blijven onzichtbaar (het DIV'je komt op de voorgrond)

Deze truuk werkt alleen wanneer errors buiten de DIV plaatsvinden.

wanneer je meer over CSS wilt weten kijk dan op http://www.w3schools.com

  • Limhes
  • Registratie: Oktober 2001
  • Laatst online: 19-08 19:06
Op donderdag 21 februari 2002 17:43 schreef ACM het volgende:
Nee, wat hij vraagt kan niet ;)
't Gaat om ut principe hè :)
Op donderdag 21 februari 2002 17:43 schreef goalgetter het volgende:
Je zou je output kunnen bufferen, en als er ergens middenin een fout optreedt die buffer kunnen flushen zonder het te printen. Er is dan nog geen output naar de browser geweest, dus dan kan je vrolijk je error gaan printen.
Let ff op je taalgebruik: flushen betekent de inhoud van de buffer naar de browser sturen, dus moet je NIET flushen, maar cleanen...

Verwijderd

Topicstarter
Me output eerst opslaan in een variabele en indien geen errors pas printen had ik ook al wel bedacht. Maar das me te veel werk, ik verzin nog wel wat.
thx allen, en sluit dit topic wat mij betreft

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op donderdag 21 februari 2002 17:49 schreef mentos het volgende:
Maar das me te veel werk, ik verzin nog wel wat.
Gebruik dan output buffering... Voegt 3 regels toe aan je code ofzo.
thx allen, en sluit dit topic wat mij betreft
Neuh, is niet nodig hoor.

  • Bart B
  • Registratie: Juli 2000
  • Laatst online: 06-04 17:55
Met een DIV kan je er voor zorgen dat de errors onzichtbaar blijven.

WAAR JE OOK voor kan zorgen is dat de error in een speciale DIV worden geschreven, is het mogelijk om de errors d.m.v. het klikken op een plaatje keurig te tonen.

mijn site is ook met CSS gemaakt. Daarin zijn een aantal technieken gebruikt die voor het probleem van de Topicstarten mogelijk te gebruiken zijn :)
http://beumer.xs4all.nl/

Verwijderd

Topicstarter
Ik begrijp dat je met die Output Control Functions eigenlijk hetzelfde doet als al je output pas op het laatst naar de browser sturen, maar dan misschien iets makkelijker omdat je al bestaande functies van PHP gebruikt

Misschien dat ik daar dan toch maar gebruik van ga maken.

Verwijderd

Topicstarter
ha, bedankt lui, het werkt eigenlijk heel goed en makkelijk nu ik het even heb geprobeerd:

Aan het begin van de file: ob_start();
en aan het einde: ob_end_flush();

en aan het begin van die error functie: ob_end_clean();
Pagina: 1