error: Use of undefined constant
http://www.phpfreakz.nl/library.php?sid=20040
maar krijg steeds dezelfde error op de nieuwspagina:
Notice: Use of undefined constant enkelbericht - assumed 'enkelbericht' in c:\phpdev\www\nieuwssysteem\nieuws.php on line 171
line 171 = if($categorie == enkelbericht){
Ik kan de fout echt niet vinden, misschien iemand hier?
Greetz
Lukie
if($categorie == $enkelbericht){
of:
if($categorie == 'enkelbericht'){
als er een error is dan laad je pagina niet eens
de fout zit in je php.ini
; Error handling and logging ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; error_reporting is a bit-field. Or each number up to get desired error
; reporting level
; E_ALL - All errors and warnings (doesn't include E_STRICT)
; E_ERROR - fatal run-time errors
; E_WARNING - run-time warnings (non-fatal errors)
; E_PARSE - compile-time parse errors
; E_NOTICE - run-time notices (these are warnings which often result
; from a bug in your code, but it's possible that it was
; intentional (e.g., using an uninitialized variable and
; relying on the fact it's automatically initialized to an
; empty string)
; E_STRICT - run-time notices, enable to have PHP suggest changes
; to your code which will ensure the best interoperability
; and forward compatibility of your code
; E_CORE_ERROR - fatal errors that occur during PHP's initial startup
; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's
; initial startup
; E_COMPILE_ERROR - fatal compile-time errors
; E_COMPILE_WARNING - compile-time warnings (non-fatal errors)
; E_USER_ERROR - user-generated error message
; E_USER_WARNING - user-generated warning message
; E_USER_NOTICE - user-generated notice message
;
; Examples:
;
; - Show all errors, except for notices and coding standards warnings
;
;error_reporting = E_ALL & ~E_NOTICE
;
; - Show all errors, except for notices
;
;error_reporting = E_ALL & ~E_NOTICE | E_STRICT
;
; - Show only errors
;
;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR
;
; - Show all errors except for notices and coding standards warnings
;
error_reporting = E_ALL & ~E_NOTICE
notice staat aan :)
Dat is geen oplossing voor het probleem. Het is het beste en netste als het op de manier van Jan wordt opgelost.
Verder kan je altijd de isset() functie van PHP gebruiken. Dan krijg je dit soort foutmeldingen niet.
@ Johan: en die zou ik ook zeker aan laten staan.
Hij geeft een undefined constant omdat je gewoon enkelbericht in de code hebt gezet, zonder quotes of dollarteken. Dus hij probeert hem te interpreteren als een constante die met define () gezet is.
dat was hem ;)
@Johan
Ik noem alle ongewenste texten met info over dat iets niet werkt een error, en de meeste weten dan ook wat ik bedoel ;-)
De eerste 10 reacties waren alleen maar zeikreacties, dus ben toen (zo'n 6 maanden geleden dus) hier terecht gekomen. Nouja, kijk nu naar mij... ik doe niks anders dan op phphulp browser ;).
Dat systeem is zeker niet perfect. Alhoewel er wel keurige if issets inzitten was mijn kennisniveau niet zo tof als nu. Vars staan binnen de quotes, en ik gebruikte toen dubbele quotes met \ slashes, want zuigt tov enkele quotes.
V2 word wel aanzienlijk beter ;). Meer functionaliteit en keurig geschreven. Bedoeld om een goed voorbeeld te geven waar (nieuwelingen) veel van kunnen leren.
http://test.i-cey.net/nieuws.php?actie=nieuwsbericht&nieuwsid=1
http://test.i-cey.net/nieuws.php?actie=nieuwsberichten&aantal=5
http://test.i-cey.net/nieuws.php?actie=archief
Helaas heb ik dankzij school enorm last van tijdgebrek, maar als het goed is heb ik over anderhalve week weer vakantie :).
@ Luuk: mooi zo. Case closed :-)
Undefined index:
(en dat heeeel vaak)
waar zou dat aan kunnen liggen, test het lokaal,want online werkt het wel
edit:
dit is ondetussen op een ander pagina, wat niks met het nieuwssysteem heeft te maken
Gewijzigd op 08/02/2006 22:47:00 door Huh bla
Luuk:
Als ik programmeer in C of C++ zet ik (masochist die ik ben ;-)) altijd de optie "treat warnings as errors" aan. Warnings of notices of hoe je die meldingen ook wilt noemen zijn -naar mijn mening- een indicatie dat er iets niet goed zit in je code. En iets dat niet goed is, moet je verbeteren ;-)Ik noem alle ongewenste texten met info over dat iets niet werkt een error, en de meeste weten dan ook wat ik bedoel ;-)
Eens met Willem vp. Ik heb heel vaak meegemaakt dat ik via notices op het spoor kwam van iets waarvan ik anders geen melding gehad zou hebben. Leer lekker strak programmeren, is alleen maar goed.
Quote:
Ik vrees dat je alle array-referencites mag nalopen, want ergens probeert PHP een array-waarde aan te spreken die niet bestaat. undefined index
Let vooral goed op bijvoorbeeld de waarde van $key in een constructie als $array[$key].
referencites? ;-)
maar hoe komt het dan adt hij het lokaal niet doet, maar op mijnhost wel?
Dat heeft te maken met je error_reporting instellingen.
Jan:
Oh, is het alweer zó laat? Dan moet ik maar snel naar bed ;-)referencites? ;-)
deze staat in mijnphp.ini inderdaat op all, maar waar kan ik deze het best opzetten om we de gewone errors te rkijgen, maar niet allemaal
@ Luuk: ik raad je af om de notices uit te zetten. Gewoon error_reporting (E_ALL) blijven gebruiken en goed leren programmeren.
en standaard de gewone errors