PHP Funktion wird nicht aufgerufen

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Guten Abend zusammen,
    ich habe mir einen Raspberry PI mit Apache2, php, mysql, phpmyadmin nach dieser Anleitung (http://www.manfred-steger.de/de/tuts/20-der…em-raspberry-pi) erstellt.
    Ich habe vor, lokal auf dem Rechner, eine HP angefangen. Dort ist auf der Index.php eine Funktion eingebunden, welche prüft ob die übergebene Seite (Mit hilfe von GET) aufgerufen werden soll und ob diese existiert. Notfalls wird eine Default Page in die Index geladen. Lokal auf dem Rechner läuft alles so wie es soll. Wenn ich die HP mit den PHP Klassen auf den Raspberry hochlade und die Seite aufrufe, wird das Menu, Style alles angezeigt. Nur die Funktion, welche für die Überprüfung und Aufruf der Seiten da ist, steht so lesbar auf der HP. Alle anderen PHP Requires und Quellcode läuft wie es soll. Nur diese eine Funktion einfach nicht.
    Gruß,
    Abraxas
    #edit:
    Quellcode von der index.php (unverändert, auf MAMP lokal funktioniert alles und auf dem Raspbi nicht)
    [code=php]<!DOCTYPE html>
    <?php
    require_once("config.php");
    require_once(CSS_GLOBAL_FILE_PATH.CSS_GLOBAL_FILE);
    require_once(CSS_PATH."menu_css.php");
    require_once("_assets/_classes/User.class.php");
    require_once("_assets/_classes/ReadPages.class.php");
    require_once("_assets/_classes/Menu.class.php");
    ?>
    <html>
    <head>
    <?php
    $page = new ReadPages(PAGE_PATH);

    if(isset($_SESSION['userIsLogin']))
    {
    $pageName = "login";
    }
    else
    {
    $pageName = $_GET['p'];
    }
    $page->checkPage($pageName);
    ?>
    <title><?php echo CONF_TITLE; ?></title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!--<link rel="stylesheet" href="_assets/css/style.css" type="text/css" media="all" />-->
    <script src="https://ajax.googleapis.com/ajax/libs/jque…1/jquery.min.js"></script>
    <link rel="icon" href="http://i.epvpimg.com/3wRtg.png" type="image/png" sizes="32x32">
    <script>
    $(document).ready(function(){
    $("#menubutton").click(function(){
    $("#submenu").toggle(1500);
    });
    });

    var myVar = setInterval(myTimer ,1000);
    function myTimer() {
    var d = new Date();
    document.getElementById("liveClock").value = d.toLocaleTimeString();
    }
    </script>
    <script>
    function playMenuAudio() {
    var audio = document.getElementById("menuaudio");
    audio.play();
    }
    </script>
    </head>
    <body>
    <div id = "header" class = "sample">
    <?php
    if(!isset($_SESSION['userIsLogin']))
    require_once(MENU_PATH.MENU_FILE);
    ?>
    <input type = "submit" class = "" name = "liveClock" id = 'liveClock' value = ""/>
    </div>
    <?
    require_once($page->openPage());
    ?>
    </body>
    </html>[/php]

    Die rot gekennzeichnete Stelle wird nicht ausgeführt (auf de Raspbi) aber die genau selbe index.php läuft bei MAMP einwandfrei.

    So sollte es aussehen (MAMP)
    iRCQd.png
    O114d.png


    So sieht es auf dem Raspbi aus:
    JjkKd.png

    Einmal editiert, zuletzt von AbraxasxD (4. Januar 2017 um 13:48)


  • Nur die Funktion, welche für die Überprüfung und Aufruf der Seiten da ist, steht so lesbar auf der HP.

    Das klingt für mich so als wäre einfach nur das PHP Module für apache2 nicht installiert...

    Code
    sudo apt-get install libapache2-mod-php5
    sudo service apache2 restart

    Vielleicht wurde die Datei aber auch falsch übertragen?
    Oder falsch unter Windows gespeichert so von wegen Zeilenumbruchszeichen? FAQ => Nützliche Links / Linksammlung => Linux kompatible Editoren


    ..ansonsten: Code zeigen!
    FAQ => Nützliche Links / Linksammlung => HowTo: CODE / PHP Code im Forum posten

  • Das klingt für mich so als wäre einfach nur das PHP Module für apache2 nicht installiert...

    Code
    [color=#33cc33]sudo apt-get install libapache2-mod-php5[/color]
    [color=#33cc33]sudo service apache2 restart[/color]

    Vielleicht wurde die Datei aber auch falsch übertragen?
    Oder falsch unter Windows gespeichert so von wegen Zeilenumbruchszeichen? FAQ => Nützliche Links / Linksammlung => Linux kompatible Editoren


    ..ansonsten: Code zeigen!
    FAQ => Nützliche Links / Linksammlung => HowTo: CODE / PHP Code im Forum posten

    Das grün markierte ist auf der neusten Version, welche du dort beschrieben hast, danke, ist aber noch wie vorher. Ich benutze auf Win10 Notepad++ und hatte damit noch nie Probleme gehabt. All die Wochen nicht, nur jetzt.

  • Ziemlich unleserlich programmiert... Einrückungen sind nichts böses, auch nicht in HTML ;)
    Dazu kommt ein kleines Chaos... Im <head> hast du PHP Verarbeitungen drin, und dann noch mal im <body> ? Im Grunde egal wo der PHP Code steht, es steigert aber ebenso wie die Einrückungen die Übersicht

    Farb-Codes funktionieren nicht in CODE Blöcken - steht aber auch in meiner Beschreibung.

    Vielleicht erkennst du es selbst... Worin unterscheidet sich
    [code=php]
    <?php
    if(!isset($_SESSION['userIsLogin']))
    require_once(MENU_PATH.MENU_FILE);
    ?>
    [/php]
    Von:
    [code=php]
    <?
    require_once($page->openPage());
    ?>
    [/php]..wär jetzt mein erster Ansatz

  • Zitat von AbraxasxD


    Die Index.php ist oben (erster Beitrag) im php Tab enthalten, komplett. Genauso wie die Bilder oben.

    Wird aber nicht geparst?
    Die Fehlermeldung oder Screenshot?

  • meigrafd , vielen Dank für die Hilfe. Genau das war die Stelle und ich habe nach allem anderen gesucht. Und die eigentliche Index ist eingerückt, keine Ahnung warum das im Tag nicht so war. Trotzdem vielen Dank für die Hilfe :)
    Kann geschlossen werden.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!