Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.8 veröffentlicht (17.10.16)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
PHP Code einbinden
#1
Hallo,
also ich würde gerne auf http://www.lastchaos.de einen PHP Code über den Flash Countdown einfügen, welcher was aus der Datenbank holt.

Jedoch bekomme ich ja einen Fehler, wenn ich es einfach in das Template einfüge.

Wie genau mach ich das richtig?
#2
Ich würde den php Code in die global.php vor
Code:
eval("\$header = \"".$templates->get("header")."\";");
als Variable einfügen. Also so:

Code:
$variable=echo 'Ich bin ein PHP Code';
eval("\$header = \"".$templates->get("header")."\";");

Dann kannst du im Template einfach die Variable einsetzen, dann sollte das gehen.

Ich schreibe aber bewusst "ich würde", weil ich nicht ganz sicher bin, ob das klappt.
Vantage-Forum: http://vantage-forum.de/
#3
Hmm ich schreib lieber mal den Code den ich in das Template einbinden wollte hier rein Big Grin


PHP-Code:
<table width="250" border="0" cellpadding="0" cellspacing="0">
  <
tr>
    <
td align="center">Letzten 5 Beiträge</td>
  </
tr>
  <
tr>
    <
td align="center">
    <?
include 
"config.php";

    @
mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS) OR die(mysql_error());
    
mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());

 
$num=mysql_result(mysql_query('SELECT COUNT(*) FROM bb1_threads'),0);
 
$show_num=5;
  
$start=isset($_GET["p"])?$_GET["p"]*$show_num:0;
$sql "SELECT tid, subject, lastpost
  FROM lastchaos_threads 
 ORDER BY lastpost DESC LIMIT "
.$start.",".$show_num;

    
$result mysql_query($sql) OR die(mysql_error());
    if(
mysql_num_rows($result)) {
        while(
$row mysql_fetch_assoc($result)) {
        
?>
<a href="showthread.php?tid=<? echo $row['tid'];?>"><? echo $row['subject'];?></a>
<br><?
      }
 } else {
 ?> <table cellpadding="0" cellspacing="0">
   <tr>
     <td><div align="center">Fehler</div></td>
   </tr>
 </table>
 <?php
 
}
 
?>
</td>
  </tr>
</table> 

Ist halt nen "Letzten 5 Beiträge" Script von mir.
#4
Ne Frage am Rande dazu.
Wenn man eigenen PHP Code hat, kann man den doch einfach immer in die global.php schreiben, oder? Dann kann man ihn überall verwenden.

Zweite Frage,
kann man im Template einen Syntax benutzen, der nur je nach Grupppe, Rechte oder sonst was angezeigt wird? Oder muss man das immer über Variable machen?

Jan

#5
@Jan: Keine Ahnung, aber ich denke bei beidem ja...

Dogger:

Füge in der global.php vor
PHP-Code:
eval("$header = "".$templates->get("header")."";"); 

das hier ein:
PHP-Code:
$topics='<table width="250" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td align="center">Letzten 5 Beiträge</td>
  </tr>
  <tr>
    <td align="center">
    <?
include "config.php";

    @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
    mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());

 $num=mysql_result(mysql_query('
SELECT COUNT(*) FROM bb1_threads'),0);
 $show_num=5;
  $start=isset($_GET["p"])?$_GET["p"]*$show_num:0;
$sql = "SELECT tid, subject, lastpost
  FROM lastchaos_threads 
 ORDER BY lastpost DESC LIMIT ".$start.",".$show_num;

    $result = mysql_query($sql) OR die(mysql_error());
    if(mysql_num_rows($result)) {
        while($row = mysql_fetch_assoc($result)) {
        ?>
<a href="showthread.php?tid=<? echo $row['
tid'];?>"><? echo $row['subject'];?></a>
<br><?
      }
 } else {
 ?> <table cellpadding="0" cellspacing="0">
   <tr>
     <td><div align="center">Fehler</div></td>
   </tr>
 </table>
 <?php
 }
 ?>
</td>
  </tr>
</table>'


Dann fügst du im Template an die entsprechende Stelle die Variable $topics ein.

Aber wie gesagt, bin nicht sicher, ob das klappt.
Vantage-Forum: http://vantage-forum.de/
#6
Parse error: parse error, unexpected T_STRING in /homepages/45/d22502282/htdocs/pclerportal/lastchaos/global.php on line 278

:°(
#7
Dann damit.

PHP-Code:
$topics='<table width="250" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td align="center">Letzten 5 Beiträge</td>
  </tr>
  <tr>
    <td align="center">
    <?
include "config.php";

    @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
    mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());

 $num=mysql_result(mysql_query("SELECT COUNT(*) FROM bb1_threads"),0);
 $show_num=5;
  $start=isset($_GET["p"])?$_GET["p"]*$show_num:0;
$sql = "SELECT tid, subject, lastpost
  FROM lastchaos_threads 
 ORDER BY lastpost DESC LIMIT ".$start.",".$show_num;

    $result = mysql_query($sql) OR die(mysql_error());
    if(mysql_num_rows($result)) {
        while($row = mysql_fetch_assoc($result)) {
        ?>
<a href="showthread.php?tid=<? echo $row["tid"];?>"><? echo $row["subject"];?></a>
<br><?
      }
 } else {
 ?> <table cellpadding="0" cellspacing="0">
   <tr>
     <td><div align="center">Fehler</div></td>
   </tr>
 </table>
 <?php
 }
 ?>
</td>
  </tr>
</table>'

Vantage-Forum: http://vantage-forum.de/
#8
Hm

also http://www.lastchaos.de/test.php geht
aber auf der Page steht das Fehler :°(
#9
Ist das derselbe Code? Der Code etwas seltsam aufgebaut, du springst dauernd zwischen html und php. Ich würde einfach immer echo 'irgendwas'; schreiben.
Vantage-Forum: http://vantage-forum.de/
#10
Ja ist der selbe code Smile