![]() |
PHP HILFFFEEEE!!!!! :-)
Hallo Leute!
Ich bin gerade mal wieder am Verzweifeln :cry: Hab folgende PHP-Klasse geschrieben:
Code:
Irgendwie haben plötzlich alle Variablen den gleichen Inhalt wie $bildbeschreibung... Ich hab mittlerweile festgestellt, dass es damit zusammenhängt, dass sie im Konstruktor an letzter Stelle steht... packt man was anderes nach unten, so wird das als allgemeiner Wert verwendet... WARUM??? Wo hat sich da was eingefräst????????? :wiejetzt:
class EinArtikel
{ var $datum; var $titel; var $untertitel; var $text; var $bildbeschreibung; var $bild; /*Konstruktor*/ function EinArtikel($dat , $ti , $untertit , $te , $bildbe , $bil) { $this->$datum = $dat; $this->$titel = $ti; $this->$untertitel=$untertit; $this->$text =$te; $this->$bild = $bil; $this->$bildbeschreibung = $bildbe; } function create() { ?> <table border=0 width="500"> <tr> <td colspan="3" background="pics/classpics/titel.jpg" align="center" valign="top" width="500" height="50"> <?php print "<h1>"; print $this->$titel; print "</h1>"; if ($this->$untertitel) { print "<h2>"; echo $this->$untertitel; print "</h2>"; } else { print "Leck du mich am Arsch"; } ?> </td> </tr> <tr> <td align="left" background="pics/classpics/leftright.jpg" width="4" valign="top"></td> <td align="justify" width="492" valign="top"><?php print " ";print $this->$datum;print" ";print $this->$text; print " "; if ($this->$bildbeschreibung && $this->$bild) { print "<a href=\"index.php?mainframe="; print $this->$bild; print "\">"; print $this->$bildbeschreibung; print "</a>"; } ?></td> <td align="right" background="pics/classpics/leftright.jpg" width="4" valign="top"></td> </tr> <tr> <td colspan="3" background="pics/classpics/unten.jpg" align="center" valign="top" width="500" height="6"></td> </tr> </table> <?php } } Danke schonmal im Vorraus!!! IOAH |
Re: PHP HILFFFEEEE!!!!! :-)
Hai IOAH,
gebe "bitte" deinem Thread einen aussagekräftigen Titel. Mit PHP kann so keiner etwas anfangen und Hilfe sucht hier eigentlich jeder. |
Re: PHP HILFFFEEEE!!!!! :-)
Hallo,
in Deinem Code taucht immer wieder ?> auf, ohne dass das entsprechende Gegenstück <php vorhanden ist. An Deiner Stelle würde ich noch einmal die Funktion Create überarbeiten. Ich denke, dass das Objekt durch die Umschaltung PHP - HTML etwas durcheinanderkommt. |
Re: PHP HILFFFEEEE!!!!! :-)
Hallo,
Code:
Du verwendest das falsch. Das muss so heissen:
$this->$datum = $dat;
$this->$titel = $ti; $this->$untertitel=$untertit; $this->$text =$te; $this->$bild = $bil; $this->$bildbeschreibung = $bildbe;
Code:
Eigenschaften eines Objekts haben kein Dollarzeichen beim Referenzieren.
$this->datum = $dat;
$this->titel = $ti; $this->untertitel=$untertit; $this->text =$te; $this->bild = $bil; $this->bildbeschreibung = $bildbe; Gruß xaromz |
Re: PHP HILFFFEEEE!!!!! :-)
Moin,
ausserdem würde ich nicht HTML- und PHP-Ausgaben mischen. Bau doch alles in einer PHP-Umgebung zusammen und gib es über einen Rückgabeparameter zurück. Beim Aufruf deiner Klasse kannst du dann das Echo machen. Dann wird dein Code gleich viel sicherer, erweiterbarer, stabiler, sprechender, strukturierter, testbarer, ...
Code:
MfG
<?php
class EinArtikel { var $DATUM; var $TITEL; var $UNTERTITEL; var $TEXT; var $BILDBESCHREIBUNG; var $BILD; /*Konstruktor*/ function EinArtikel($datum, $titel, $untertitel, $text, $bildbeschreibung, $bild) { $this->DATUM = $datum; $this->TITEL = $titel; $this->UNTERTITEL = $untertitel; $this->TEXT = $text; $this->BILD = $bild; $this->BILDBESCHREIBUNG = $bildbeschreibung; } function create() { $result = "<table border=\"0\" width=\"500\">\n" . " <tr>\n" . " <td colspan=\"3\" background=\"pics/classpics/titel.jpg\" align=\"center\" valign=\"top\" width=\"500\" height=\"50\">\n". " <h1>" . $this->TITEL . "</h1>\n"; if ($this->UNTERTITEL) { $result = $result . "<h2>" . $this->UNTERTITEL . "</h2>\n" } else { $result = $result . "Hier stand etwas völlig blödsinniges\n"; } $result = $result . " </td>\n" . " </tr>\n" . " <tr>\n" . " <td align=\"left\" background=\"pics/classpics/leftright.jpg\" width=\"4\" valign=\"top\">\n" . " </td>\n" . " <td align=\"justify\" width=\"492\" valign=\"top\">\n" . " " . $this->DATUM . " " . $this->TEXT . " \n"; if ($this->BILDBESCHREIBUNG && $this->BILD) { $result = $result . "<a href=\"index.php?mainframe=" . $this->BILD . "\">" . $this->BILDBESCHREIBUNG . "</a>\n"; } $result = $result . " </td>\n" . " <td align=\"right\" background=\"pics/classpics/leftright.jpg\" width=\"4\" valign=\"top\">\n" . " </td>\n" . " </tr>\n" . " <tr>\n" . " <td colspan=\"3\" background=\"pics/classpics/unten.jpg\" align=\"center\" valign=\"top\" width=\"500\" height=\"6\">\n" . " </td>\n" . " </tr>\n" . "</table>\n"; return $result; } } ?> Thorsten |
Re: PHP HILFFFEEEE!!!!! :-)
ich empfehle für die ausgabe immer eine template engine zu nutzen!
![]() ![]() gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz