Antworten auf deine Fragen:
Neues Thema erstellen

Erledigt - Hilfe beim include

ackermaennchen

Normalo

Teammitglied
Hallo Freunde der php Strings :D

Bin mal wieder am verzweifeln. Folgendes, Ich möchte auf meiner startseite gerne einen Blog für einen newsfeed einfügen.

der sich hier befindet:

Bisher habe ich auf meiner index.php im Root eine start.php eingebunden, die als erstes geladen werden soll. In der start.php wurde per iframe ein externer Blog geladen (Blogger) hat super funktioniert.
Da sich der iframe aber nicht dynamisch angepasst hat sondern ne feste größe hatte, war es irgendwie lästig, mit jeder news die ich veröffentlicht habe auch wieder den Iframe anzupassen um unötige scrollerei zu vermeiden.

So nun hab ich meine start.php soweit abgeändert das ich den iframe rausgeschmissen habe und nun den Blog oben intigrieren möchte.

PHP:
<?php include"/flatpress-1.0.2/index.php"; ?>

Der Code der index lautet:
HTML:
<body>
<div id="header">
<h1><a href="http://www.tc.lofer.at" title="www.tc.lofer.at" class="notetxt">www.tc.lofer.at</a></h1>
    <?php include "navi_top.php"; ?>
    <?php include "navi.php"; ?>
</div>
<div id="contentcontainer">
<div id="content">
           
            <?php
ini_set('display_errors', 1);
if(!isset($_GET['page'])){

$checkpage = "start";

}else{

$erlaubt = array( "start" => 1,
                 "termine" => 1,
                 "vorstand" => 1,
                 "bespannung" => 1,
                 "impressum"=>1,
                 "sitemap"=>1,
                 "kontakt"=>1,
                 "mitglied"=>1,
                 "gebuehr"=>1,
                 "trainer"=>1,
                 "/flatpress-1.0.2/index"=>1,);
$checkpage = isset($erlaubt[$_GET["page"]]) ? $_GET["page"] : "start";
}
include ($checkpage .".php");
?>
</div></div>
<div id="space" class="clear"></div>
<div id="footercontainer" class="clear">
<div id="footer"></div>
</div>
<script type="text/javascript" src="http://www.tc.lofer.at/stat/track.php?mode=js"></script>
<noscript><img src="http://www.tc.lofer.at/stat/track_noscript.php" border="0" alt="" width="1" height="1"></noscript>
</body>

Rufe ich nun diie seite auf bekomme ich folgende Fehlermeldung:

Warning: include(/flatpress-1.0.2/index.php) []: failed to open stream: No such file or directory in /usr/home/ on line 9

Warning: include() []: Failed opening '/flatpress-1.0.2/index.php' for inclusion (include_path='.:/usr/local/share/pear') in /usr/home/ on line 9

Änder ich den Pfad in der start php.
in
PHP:
<?php include"flatpress-1.0.2/index.php"; ?>
Dann ruft er nicht mehr meine index.php im root auf, sondern die setup.php aus dem flatpress. Die er aber nicht finden kann, obwohl sie auf dem server liegt. Bzw er sucht die setup.php im root wo sie ja auch nicht ist.

ich füge mal noch den Code der index.php vom Blog ein:
PHP:
<?php
   
    include 'defaults.php';
    include INCLUDES_DIR . 'includes.php';
    include SMARTY_DIR . 'SmartyValidate.class.php';
   
    define('MOD_INDEX', 1);


    if (!file_exists(CONFIG_FILE))
        utils_redirect('setup.php');



    /* local function defines follow */
   
    function index_permatitle($val, $sep) {
        global $fpdb;
        $q =& $fpdb->getQuery();
        list($id, $e) = @$q->peekEntry();
        if ($e)
            return "{$e['subject']} {$sep} $val ";
        else return $val;
    }

    function index_gentitle($val, $sep) {
        global $title;
        return "$val $sep $title";
    }

    function index_404error() {
        global $smarty, $lang;
        @utils_status_header(404);
        $module='default.tpl';
   
        $smarty->assign('subject', $lang['404error']['subject']);
        $smarty->assign('content', $lang['404error']['content']);


        $smarty->assign('rawcontent', true);

        return $module;
    }
   
   
    function index_singlepost(&$params, &$module) {
       
        global $fpdb, $theme, $fp_params;
       
        $params['id'] = $fp_params['entry'];
        $params['fullparse']=true;
        $fpdb->query($params);

        if (@$theme['hassingle'])
            $module='single.tpl';   
       
        add_filter('wp_title', 'index_permatitle', 10, 2);
       
        if (isset($fp_params['comments'])) {
       
            $module = 'comments.tpl';
            $params['comments'] = true;
           
            include('comments.php');
       
        }
       
    }
   
    function index_staticpage($page, $explicit_req,  &$params, &$module) {
   
        global $smarty, $title;

        if (static_exists($page)) {
            $arr = static_parse($page);
            $title = $arr['subject'];

            if ($explicit_req)
                add_filter('wp_title', 'index_gentitle', 1, 2);
           
            $smarty->assign('static_id', $page);
            $smarty->assign('static_page',$arr);
           
            return $module='static.tpl';
        }
   
        if (user_loggedin())
            utils_redirect('admin.php?p=static&action=write&page='.$page);
        else
            $module = index_404error();

        return $module;
           
    }
   
    function index_showposts(&$params, &$module) {
   
        global $fp_params;
   
        if (isset($fp_params['d']) && $fp_params['d'])
            $params['d'] = $fp_params['d'];
   
        if (isset($fp_params['m']) && $fp_params['m'])
            $params['m'] = $fp_params['m'];
   
        if (isset($fp_params['y']) && $fp_params['y'])
            $params['y'] = $fp_params['y'];
   
        if (isset($fp_params['start']) && $fp_params['start'])
            $params['start'] = intval($fp_params['start']);
   
        if (isset($fp_params['count']) && $fp_params['count'])
            $params['count'] = intval($fp_params['count']);
        if (isset($fp_params['category']) && is_numeric($fp_params['category']))
            $params['category'] = intval($fp_params['category']);
           
        if (isset($fp_params['cat']) && is_numeric($fp_params['cat']))
            $params['category'] = intval($fp_params['cat']);
       
        if (isset($fp_params['not']) && is_numeric($fp_params['not']))
            $params['exclude'] = intval($fp_params['not']);
       
       
        if (isset($fp_params['random'])) {
            if (empty($fp_params['random']))
                $params['random'] = 1;
            elseif (is_numeric($fp_params['random']))
                $params['random'] = intval($fp_params['random']);
        }
       
        if ((isset($fp_params['paged'])) && is_numeric($fp_params['paged']) && $fp_params['paged']>0)
            $params['page']=$fp_params['paged'];
        else
            $params['page'] = 1;

    }
   
    function index_main() {
   
        global $fpdb, $smarty, $fp_config, $fp_params;
        $params = array();
        $module = 'index.tpl' ;
        $can404 = true;
       
       
        if (!empty($fp_params['entry'])) {
       
            index_singlepost($params, $module);
           
        } elseif (
           
            ($explicit_req = $page = @$fp_params['page']) ||
            (empty($fp_params) && $page = @$fp_config['general']['startpage'])
           
            ) {
           
                index_staticpage($page, $explicit_req, $params, $module);
                return $module;
       
        } elseif (!empty($_GET['q'])) {
            include('search.php');
            $module = search_main();
        } else {
       
            if (!empty($fp_params['feed'])){

                    $can404=false;
               
                    switch($fp_params['feed']) {
                        case 'atom':
                            header('Content-type: application/atom+xml');
                            $module = SHARED_TPLS . 'atom.tpl';
                            break;
                        case 'rss2':
                        default:
                            header('Content-type: application/rss+xml');
                            $module = SHARED_TPLS . 'rss.tpl';
                    }
                   
                   
            }
       
            index_showposts($params, $module);
       
        }
       
        $params['fullparse'] = true;
       
        $fpdb->query($params);

        $q =& $fpdb->getQuery();
        list($id, $e) = $q->peekEntry();

        /* no entry found : 404 */

        if (!$e && $can404)
            $module = index_404error();
       
        return $module;
                       
    }

    function index_display() {
        global $smarty;
       
       
        $module = index_main();
       
        theme_init($smarty);
       
        $smarty->display($module);
           
        unset($smarty);
           
        do_action('shutdown');
           
    }

   
    system_init();
    index_display();
   

   
?>

Ich hoffe ihr könnt mir da irgendwie auf die sprünge helfen.

Danke
 

Dudlhofer

Aktives Mitglied

Bist Du Dir sicher, dass Deine INCLUDE-Befehle richtige Syntax haben? Eigentlich gehören doch da Klammern um die Dateinamen, also so: <?php include('navi.php'); ?>
 

ackermaennchen

Normalo

Teammitglied
Bisher gabs keine Probleme, wenn ich aufrufe wird ja der Rest richtig angezeigt. Also menü wird includiert. Und auch alle anderen Seiten funktionieren tadellos.

Habs jetzt aber mal ausprobiert. Leider das gleiche Ergebnis.
 

Duddle

Posting-Frequenz: 14µHz

Der Pfad "/flatpress-1.0.2/index.php" ist absolut, deshalb findet das Script die Datei nicht. Du könntest absolut "/usr/home/" nutzen, aber das ist das gleiche wie der relative Pfad "flatpress-1.0.2/index.php" zu dem Verzeichnis "". Dein zweiter Ansatz ist besser.

Ein include() ist das gleiche wie den Inhalt der Datei in das Script zu kopieren und dieses weiter zu interpretieren. Da diese index.php aber mit ein paar relativen Pfaden arbeitet, sucht es relativ zu "" - dort ist ja das ausführende Script drin. Ergo kann es die notwendigen Dateien nicht finden und nichts funktioniert mehr.

Es gibt mehrere Lösungsansätze, keiner davon wirklich trivial. Ich habe mal in den Code von flatpress geschaut und versucht, das Verhalten zurück zu verfolgen. Leider ist es nicht konsistent in den Pfadangaben (und das Projekt scheint nicht mehr gepflegt zu werden). Auch das erzeugte Ergebnis selbst ist eine Mischung aus relativen und absoluten Pfaden.

Die einzige relativ einfache Methode (die mir einfällt) ist auch die unsauberste, aber sie sollte funktionieren: kopiere alle Dateien und Unterverzeichnisse aus "flatpress-1.0.2" in das Verzeichnis darüber, also "". Überscheibe dabei keine Dateien. Es sollte mindestens ein Konflikt für index.php entstehen. Hier nennst du die von flatpress um, in "flatpress-index.php" oder so. Diese nutzt du dann im include(). Falls weitere Dateien gleich heißen, musst du diese ebenfalls umbenennen und im Code von flatpress suchen und umbenennen.


Duddle
 

ackermaennchen

Normalo

Teammitglied
Super Danke, das hat geholfen. Jetzt muss ich nur nich schauen das es mir mein Layout nicht zerschießt. aber das solle weniger das Problem sein.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Statistik des Forums

Themen
118.614
Beiträge
1.538.349
Mitglieder
67.525
Neuestes Mitglied
mgtaucher
Oben