Avatar billede KyPPo89 Nybegynder
15. juli 2013 - 09:38 Der er 4 kommentarer og
1 løsning

Fil opdateres ikke i enkelt fil

Hej alle,

Jeg står over for et rimeligt indviklet problem her: Jeg har en functions.php, som bliver inkluderet i toppen af index.php - det virker helt fint. Men så har jeg én side, hvor der bliver brugt en funktion fra functions.php, og her sker der en fejl.

Jeg bruger en if-then-else statement i funktionen, til at kontrollere nogle ting, og fejlen jeg får er følgende:

Fatal error: Call to undefined function checkGaps() in /home/ajcwebso/public_html/kyppo.net/bahm/functions.php on line 618

Linje 618 er lige efter min if-then-else statement i den relevante funktion, men den funktion, som fejl-meddelelsen ikke kan finde, bliver slet ikke kaldt på den linje. Faktisk overhovedet ikke, da jeg har fjernet den helt.

Ændringer jeg laver i functions.php vises på alle andre sider end den her, og det giver ingen mening.

Spørg endelig ind, hvis jeg ikke har forklaret mit problem ordentligt.. Jeg ved godt, det måske er blevet lidt rodet.

På forhånd tak!
Avatar billede michael_stim Ekspert
15. juli 2013 - 11:03 #1
Vi har desværre ikke en jordisk chance for at hjælpe, uden at se din kode. Men kan sige så meget, at et eller andet sted, kalder du på funktionen checkGaps() som ikke eksisterer.
Avatar billede KyPPo89 Nybegynder
15. juli 2013 - 17:49 #2
Normalt ville jeg være helt enig med dig, men faktum er, at jeg via søgefunktionen har kunne konstatere, at den hverken eksisterer i functions.php eller bliver kaldt nogle steder. Ikke desto mindre får I her det relevante kode.

Fra register.php:

            foreach($_REQUEST['time'] as $time) {
                $hours    .= ".".$time;
            }
           
            $resdata = array(
            'noshow'    => processInput($_REQUEST['noshow']),
            'showid'    => processInput($_REQUEST['showid']),
            'hours'        => $hours,
            'recur'        => processInput($_REQUEST['recur'])
            );
           
            doReserve($resdata);

Og fra functions.php:

function doReserve($data) {
    GLOBAL $user;
   
    if ($data['noshow'] == "") {
        echo "<div class=\"error\">Der skete vist en fejl!?</div><br />";
    } elseif ($data['showid'] == "") {
        echo "<div class=\"error\">Du skal vælge et show.</div><br />";
    } else {

        $noshow = explode('.', $data['noshow']);
        dbquery("INSERT INTO ".DB_SCHED." (show_id, week, day, hours, resby) VALUES ('".$data['showid']."','".$noshow['0']."','".$noshow['1']."','".$data['hours']."','".$user['user_id']."')");

        echo "<div class=\"success\">Din reservation er gået igennem for ".$noshow['2'].".</div>";
    }
}

Desuden ændrer det heller intet hvis jeg helt fjerner funktionen doReserve() fra functions.php - på den pågældende side siger den stadig, at checkGaps() ikke eksisterer, selvom den funktion, der bliver kaldt (doReserve()) slet ikke burde kunne kaldes længere.
Avatar billede mbm2016 Nybegynder
24. juli 2013 - 01:27 #3
Er det et cache problem? Prøv at ryd den :)
Avatar billede KyPPo89 Nybegynder
24. juli 2013 - 04:27 #4
Det er heller ikke et cache problem, har ryddet cache adskillige gange nu.
Avatar billede KyPPo89 Nybegynder
14. oktober 2013 - 18:52 #5
Jeg fandt aldrig et svar på mit problem, så jeg fandt en anden løsning (nemlig helt at undlade at bruge funktionen og så sætte koden direkte ind i den pågældende fil - har jeg måtte gøre flere gange).
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester