in beiden scripten ist kein fehler, nach includen ist einer da ...

-GS-Master

Erfahrenes Mitglied
Hallo ^^ ich habe mir ja wie jetzt schon viele wissen ein Script mit php gecodet was für mich als fast schon totalen Anfänger eine sensation ist ^^ nur ist es jetzt so, dass ich beide sachen nicht in daten bekomme, da ich sonst das design nicht richtig machen kann, hab da nen kleinen Fehler ins Template System gehauen ^^ mir geht es jetzt darum, wenn ich beide jetzt mit disem Code hier include

PHP:
<body link="#C0C0C0" vlink="#C0C0C0" alink="#C0C0C0" bgcolor="#808080">

<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
  <tr>
    <td width="100%" align="center"><?php include ("GS/besondere.php"); ?></td>
  </tr>
  <tr>
    <td width="100%" align="center"></td>
  </tr>
  <tr>
    <td width="100%" align="center"><?php include ("GS/normale.php"); ?></td>
  </tr>
</table>

es zwar, es steht jedoch unterhalb des Scriptes dann das hier

Fatal error: Cannot redeclare gettemplate() (previously declared in /usr/export/www/vhosts/funnetwork/hosting/thekiller/test/GS/besondere.php:3) in /usr/export/www/vhosts/funnetwork/hosting/thekiller/test/GS/normale.php on line 44

Obwohl alles from Script zu sehen ist ... und beide dateien wunderbar funktionieren und sogar ohne Fehler, wenn man sie nicht includet.
ich glaube es hengt mir einer funktion zusammen die ich in beiden scripten hab ... weiß aber nicht was ich dagegen tun kann, weil ich die funktion schon mal rausgetan hab ^^ aber dann ging garnichts mehr.

normale.php
------------------
PHP:
<?php 
define("PER_PAGE", 4); 
$datei = "GS/files/termine.txt";  

if(file_exists($datei)) { 
    $termin = file($datei);  
    $anzahl = count($termin); 
    $ende = ceil($anzahl/PER_PAGE); 
    echo getPageContent($termin, $anzahl); 
    $navi = naviGenerator($ende); 
    eval ("dooutput(\"".gettemplate("GS/templates/Layout")."\");");  
} else {  
    echo"Es wurde keine Datei gefunden";  
} 
function getPageContent($fl, $cnt) { 
    $continue = ($_GET['page']-1) * PER_PAGE; 
    $i=0; $j=0; $entries = ""; 
    while($i<$cnt) { 
        if(is_numeric($_GET['page'])) { 
            if($j < $continue) { 
                $j++; 
                continue; 
            } 
            if($j >= PER_PAGE * $_GET['page']) {  
                break; 
            } 
        } 
        if($fl[$j] != null) { 
            list($Zeile1, $Zeile2, $Zeile3) = explode("|-|", $fl[$j]); 
            eval ("\$entries .= \"".gettemplate("GS/templates/wiederholung")."\";");  
        } else { 
            break; 
        } 
        $i++; $j++; 
    } 
    return $entries; 
} 
function naviGenerator($end) { 
    for($i=1; $i<=$end; $i++) { 
        $nav .= "<a href=\"?page=".$i."\">".$i."</a> "; 
    } 
    return "< ".$nav." >"; 
} 
function gettemplate($template,$endung="html")  
{ 
    $f = file($template.".".$endung); 
    return str_replace("\"","\\\"", implode("", $f));  
}  
function dooutput($template) {  
    echo $template;  
} 
?>


besondere.php
------------------
PHP:
<?php

function gettemplate($template,$endung="html") 
{ 
return str_replace("\"","\\\"",implode("",file($template.".".$endung))); 
} 
function dooutput($template) { 
echo $template; 
} 

$datei = "GS/files/besondere.txt"; 

if(file_exists($datei)) 
{ 
$termin = file($datei); 
$anzahl = count($termin); 
for($index = 0; $index < $anzahl; $index++) 
{ 
$eintrag = explode("|-|",$termin[$index]); 
$Zeile1 = $eintrag2[0];
$Zeile2 = $eintrag2[1];
$Zeile3 = $eintrag2[2];
$Zeile4 = $eintrag2[3];
eval ("\$str .= \"".gettemplate("GS/templates/wiederholung2")."\";"); 
} 
eval ("dooutput(\"".gettemplate("GS/templates/Layout2")."\");"); 
} 
else 
{ 
echo"Es wurde keine Datei gefunden"; 
} 


?>
 
Schreib die Funktion gettemplate() in eine extra Datei, die du dann einmal einfügen lässt.

Warum benutzt du eigentlich soviele eval()s? Die sind doch total unnötig.

greetz
daddz
 
Ein Teil davon ist mir von einem Freund geschrieben worden und ich habs einfach so geschrieben wies am leichtesten ist ^^ wie gesagt bin Anfänger
 
Hab jetzt das ganze hier in die funktion.php

PHP:
<?php

function gettemplate($template,$endung=html) 
{ 
return str_replace(,,implode(,file($template...$endung))); 
} 
function dooutput($template) { 
echo $template; 
}

?>


Dann eben durch
PHP:
include ("GS/funktion.php");
bei den Beiden Scripten reingesetzt und nun kommt das

Fatal error: Cannot redeclare gettemplate() (previously declared in /usr/export/www/vhosts/funnetwork/hosting/thekiller/test/GS/funktion.php:3) in /usr/export/www/vhosts/funnetwork/hosting/thekiller/test/GS/funktion.php on line 3

http://thekiller.th.funpic.de/test/?page=4
 
Zuletzt bearbeitet:
Doch nicht in beide Dateien einfügen lassen!
Sondern nur in die Erste. Und da am besten auch schon wie von flippo85 gesagt mit [phpf]include_once[/phpf].

greetz
daddz
 
daddz hat gesagt.:
Doch nicht in beide Dateien einfügen lassen!
Sondern nur in die Erste. Und da am besten auch schon wie von flippo85 gesagt mit [phpf]include_once[/phpf].

greetz
daddz

Habe es jetzt geschaft, mit der funktion in einem der beide Scripte, ich habe das eine Script in das andere includet und dann war ja die Funktion schon da ^^ naja danke schon mal für die Hilfe ...
 
Zurück