Vraag & Antwoord

Webprogrammeren & scripting

[PHP] functie werkt niet als deze wordt geinclude...

8 antwoorden
  • Ik heb een functie (get_week_number()). Als ik deze in mijn script zet dan werkt hij perfect bij het aanroepen. Als ik hem opsla in een apart bestand en include of require dan werkt hij niet meer. Ik krijg dan de melding:[quote:f648477a3a]Fatal error: Call to undefined function: get_week_number() in D:\Apache HTTP Server 2.0\htdocs\retailer_sales_factuur.php on line 25[/quote:f648477a3a] Het script ziet de functie dus niet. Maar waarom niet? (De bestandsnaam en path bij het includen/require is goed, dus dat is het niet) P.S. Hier is de functie in een apart bestand[code:1:f648477a3a]<? /* functie om de week uit een datestring te halen */ function is_leap_year($year) { if ((($year % 4) == 0 and ($year % 100)!=0) or ($year % 400)==0) return 1; else return 0; } function iso_week_days($yday, $wday) { return $yday - (($yday - $wday + 382) % 7) + 3; } function get_week_number($timestamp) { $d = getdate($timestamp); $days = iso_week_days($d[ "yday"], $d[ "wday"]); if ($days < 0) { $d[ "yday"] += 365 + is_leap_year(--$d[ "year"]); $days = iso_week_days($d[ "yday"], $d[ "wday"]); } else { $d[ "yday"] -= 365 + is_leap_year($d[ "year"]); $d2 = iso_week_days($d[ "yday"], $d[ "wday"]); if (0 <= $d2) { $days = $d2; } } return (int)($days / 7) + 1; } ?>[/code:1:f648477a3a]
  • Heb je hem geinclude voordat je hem aanroept. Dus dat het include.... statement voor de function aanroep staat?
  • Ja, hij staat zelfs boven aan mijn script samen met een ander geinclude bestand (een loginscript) die wel perfect werkt. Dient met functies ook iets met global gedaan te worden? Zo, ja hoe dan?
  • Ik weet niet of het uitmaakt (denk het haast niet) maar maak van de bovenste <? eens <?php dat heb ik altijd in mijn include/require bestanden en dat werkt.
  • Hier doet de code het wel... Zet anders eens bovenaan je code:[code:1:0a45d7855b]error_reporting(E_ALL);[/code:1:0a45d7855b]dan zie je letterlijk alle fouten. Misschien wordt er dan iets duidelijk? Maar even terzijde: kan je niet gewoon date("W") gebruiken voor het weeknummer of eventueel wat met [url=http://php.nederland.net/manual/en/function.strftime.php]strftime[/url] in elkaar knutselen?
  • [quote:f5d8c90426="Mvlstar"]Ik weet niet of het uitmaakt (denk het haast niet) maar maak van de bovenste <? eens <?php dat heb ik altijd in mijn include/require bestanden en dat werkt.[/quote:f5d8c90426]Als in de config van PHP de 'shorttags' uit staan ([url=http://www.php.net/manual/en/configuration.php#ini.short-open-tag]short_open_tag[/url]) dan zou dat inderdaad het probleem kunnen zijn. De code wordt dan niet als PHP geparsed en letterlijk doorgegeven in de input (deze is in dat geval ook terug te vinden in de source in de browser).
  • Ehhh.... :oops: :oops: :oops: Dat ik dit over het hoofd zie! Short tags staat bij mij uit.... :D Denk ik weer te moeilijk na. (Eerste vraag van een call-center mederwerker hoort ook altijd te zijn "Zit de stekker er wel in?" :D ) [b:c99bfb2310]Bill schreef:[/b:c99bfb2310] [quote:c99bfb2310]Maar even terzijde: kan je niet gewoon date("W") gebruiken voor het weeknummer of eventueel wat met strftime in elkaar knutselen?[/quote:c99bfb2310] Heeft php gewoon een functie om een week te generen? Ik ga de php-manual nog even goed doorspitten...
  • [quote:4c83baca66="Remytje"]Heeft php gewoon een functie om een week te generen?[/quote:4c83baca66]Ja dus ;)

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.