• 27.04.2024, 07:10
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

PHP Question // Walum kapütt ? ;)

Sonntag, 20. Juni 2004, 15:03

Es geht um nen Portal einer Website. Da habe ich in einer Box den Status der PN Nachrichten ausgegeben:
Nachrichten Box
---------------------
Status:

Neu: 0
Ungelesen: 0
Insgesamt: 1

Zum Posteingang
---------------------
So siehts aus, und dazu der Code:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
<?php
/*
templatepackid: 0
templatename: sponsor_portalboxen_pn_member
*/
$this->templates['sponsor_portalboxen_pn_member']="{\$lang->items['LANG_JGSPORTAL_PN1']}:<br /><br />

{\$lang->items['LANG_JGSPORTAL_PN2']}: <b>\$pn_neu</b><br />
{\$lang->items['LANG_JGSPORTAL_PN3']}: <b>\$pn_ungelesen</b><br />
{\$lang->items['LANG_JGSPORTAL_PN4']}: <b>\$pn_insgesamt</b><br /><br />
<a href=\\\"pms.php?sid=\$session[hash]\\\"><b>{\$lang->items['LANG_JGSPORTAL_PN5']}</b></a>";
?>


So dele, funzt wunderbar alles.
Jetzt möchte ich in die leere Zeile zwischen "Status" und "Neu" ein Bild einfügen (kleines aniimiertes gif) dass man nur dann sieht, wenn man ungelesene PN´s hat, sprich wenn die Variable $pn_neu größer als Null ist.
Da liegt mein Problem, ich bekomm es nicht hin.
Hierbei bekomme ich nen Parse Error:

Quellcode

1
<if($pn_neu >0)><then><img src="blabla.gif"></then></if>

Und bei sowas bekomm ich nen unexpected T_STRING in der echo Zeile:

Quellcode

1
2
3
if($pn_neu>0){ 
  echo "<img src=\"blabla.gif\">";
  }


Das kann doch nicht so schwer sein oder ?

Re: PHP Question // Walum kapütt ? ;)

Sonntag, 20. Juni 2004, 15:15

ouch
du hast das einfach mitten in den string (die unteren 5 zeilen sind KEIN php code sondern ein string der an ne funktion der template engine übergeben wird!) geschrieben?
das erklärts dann wohl ;)

hier müsstest das etwas anders mache...

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
/*
templatepackid: 0
templatename: sponsor_portalboxen_pn_member
*/

 if($pn_neu>0){  
  $pn_bild = "<img src=\"blabla.gif\">";
  }   
  else
  {
  $pn_bild = "";
  }

$this->templates['sponsor_portalboxen_pn_member']="{\$lang->items['LANG_JGSPORTAL_PN1']}:<br /><br />
$pn_bild
{\$lang->items['LANG_JGSPORTAL_PN2']}: <b>\$pn_neu</b><br />
{\$lang->items['LANG_JGSPORTAL_PN3']}: <b>\$pn_ungelesen</b><br />
{\$lang->items['LANG_JGSPORTAL_PN4']}: <b>\$pn_insgesamt</b><br /><br />
<a href=\\\"pms.php?sid=\$session[hash]\\\"><b>{\$lang->items['LANG_JGSPORTAL_PN5']}</b></a>";
?>

quick&dirty, könnt aber gehn ;)
ausser natürlich die variable pn_neu gibts an dieser stelle nicht... ::) ;)

Re: PHP Question // Walum kapütt ? ;)

Sonntag, 20. Juni 2004, 15:19

nö auch nich. Ich bekomm zwar keine Fehlermeldungen mehr, aber da wird auch kein Bild angezeigt, wenn $pn_neu =1 ist

edit: die Variable gibts, weil sie ja bereits mit dem alten Code auch arbeitet

Re: PHP Question // Walum kapütt ? ;)

Sonntag, 20. Juni 2004, 15:30

im alten code wird nicht die variable benutzt sondern nur der string '$pn_neu' als text übergeben
kann genausogut ne interne variable einer anderen funktion sein
DIE würd dann an dieser stelle aber nicht zwangsläufig auch zur verfügung stehen
gugg doch einfach ma ob die template engine nicht schon ne funktion für solche fälle hat die du benutzen kannst... ;)

Re: PHP Question // Walum kapütt ? ;)

Sonntag, 20. Juni 2004, 16:16

habs hinbekommen.
so sieht die File aus

Quellcode

1
2
3
4
5
6
{$lang->items['LANG_JGSPORTAL_PN1']}:<br />
<if($pn_neu > 0)><then><img src='[url]http://www.fabia4fun.de/images/rul.gif'></then></if><br[/url] />
{$lang->items['LANG_JGSPORTAL_PN2']}: <b>$pn_neu</b> <br />
{$lang->items['LANG_JGSPORTAL_PN3']}: <b>$pn_ungelesen</b><br />
{$lang->items['LANG_JGSPORTAL_PN4']}: <b>$pn_insgesamt</b><br /><br />
<a href="pms.php?sid=$session[hash]"><b>{$lang->items['LANG_JGSPORTAL_PN5']}</b></a>

Der Fehler war, dass ich es lokal im Editor gemacht habe und nicht im Script online im Admin Control Panel. Denn dort wird die Datei teilweise umgeschrieben, nachdem sie gecachet wird.
Klappt einwandfrei jetzt