php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 29-03-2005, 00:16
Creativ
 Junior Member
Links : Onlinestatus : Creativ ist offline
Registriert seit: Jun 2004
Beiträge: 74
Creativ ist zur Zeit noch ein unbeschriebenes Blatt
Creativ eine Nachricht über ICQ schicken
Standard [OOP] return

Hi,
Ich habe schon wieder eine Frage
Meine Seite basiert auf einem Templatesystem mit eval();.
Das will ich auch in der Klasse so machen. Mache gerade testweise eine Kommentar-Klasse und scheiter jetzt schon bei der Ausgabe des fomulars.

Erstmal, um über das Templatesystem eine Seite auszugeben muss man das so machen:

PHP-Code:
eval("\$body.= \"".gettemplate("lala")."\";"); 
Die Endung ist automatisch .html.

Meine Funktion in der Klasse sieht so aus:
PHP-Code:
function show_formular() {
       return eval(
"\$this->body.= \"".gettemplate("templates/".$this->template_ordner."/news_comments_form")."\";");
   } 
die $this->template_ordner ist auch im Konstruktor und funktioniert auch. Wenn sie nicht stimmt wird auch bei der SEite eine Fehlermeldung ausgegeben, dass die Datei nicht existiert(weil ja falscher Ordner oder falsche Datei).

die $this->body habe ich nirgendwo angegeben, hatte es aber eigentlich schon probiert und sie im Konstruktor angegeben.

Ich führe dass dann so aus:
PHP-Code:
echo $news_c->show_formular(); 
$news_c= &new comments("news",$news_comments,$lang,$db_handler,$template_ordner,$body);


<-- Das steht noch nach der klasse.

Wenn ich das jetzt aber ausführe, passiert gar nichts.
Er gibt auch keinen Fehler oder sowas aus.
Aber eigentlich soll er ja ein Formular ausgeben.
Was mache ich falsch?


Hoffe ihr habt es alle verstanden.
Mit Zitat antworten
  #2 (permalink)  
Alt 29-03-2005, 00:36
Shurakai
 Master
Links : Onlinestatus : Shurakai ist offline
Registriert seit: May 2004
Ort: Bergisch Gladbach
Beiträge: 3.084
Shurakai ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hast du überall mal mit echo Testausgaben gemacht?

Z.B. echo $this->body; nach dem eval() [dann aber das return solange weg]
Mit Zitat antworten
  #3 (permalink)  
Alt 29-03-2005, 00:49
Creativ
 Junior Member
Links : Onlinestatus : Creativ ist offline
Registriert seit: Jun 2004
Beiträge: 74
Creativ ist zur Zeit noch ein unbeschriebenes Blatt
Creativ eine Nachricht über ICQ schicken
Standard

Hi,
Wenn ich die Funktion so mache:
PHP-Code:
function show_formular() {
 eval(
"\$this->body.= \"".gettemplate("templates/".$this->template_ordner."/news_comments_form")."\";");
       echo 
$this->body;
   } 
gibt er mir das komplette formular aus.
Aber wieso geht dass nicht über return eval...?
Mit Zitat antworten
  #4 (permalink)  
Alt 29-03-2005, 07:34
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

PHP-Code:
 eval("return \\$this->body.= \\"".gettemplate("templates/".$this->template_ordner."/news_comments_form")."";"); 
oder das eval lasses wie's ist und danach return $this->body
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #5 (permalink)  
Alt 29-03-2005, 11:14
Creativ
 Junior Member
Links : Onlinestatus : Creativ ist offline
Registriert seit: Jun 2004
Beiträge: 74
Creativ ist zur Zeit noch ein unbeschriebenes Blatt
Creativ eine Nachricht über ICQ schicken
Standard

hmm...irgendwie bin ich zu blöd dazu

wenn ich das so mache, wie mrhappiness sagt, also die 1. version, gibt er gar nichts aus.

Wenn ich das eval() ganz normal lasse und ohne return und dadrunter
return $this->body;
mache gibt er das Forumlar zwar aus, aber an der falschen stelle.
Denn ich habe zuerst die navigation über template und den header und die $body ist eigentlich unter dem header und neben der navigation, aber der gibt es als erstes aus. Also ganz oben auf die Seite.

Wieso?
Mit Zitat antworten
  #6 (permalink)  
Alt 29-03-2005, 11:43
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

Zitat:
Original geschrieben von Creativ
Wenn ich das eval() ganz normal lasse und ohne return und dadrunter
return $this->body;
mache gibt er das Forumlar zwar aus, aber an der falschen stelle.
Denn ich habe zuerst die navigation über template und den header und die $body ist eigentlich unter dem header und neben der navigation, aber der gibt es als erstes aus. Also ganz oben auf die Seite.

Wieso?
Weil du das mit echo so festgelegt hast?
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #7 (permalink)  
Alt 29-03-2005, 13:25
Creativ
 Junior Member
Links : Onlinestatus : Creativ ist offline
Registriert seit: Jun 2004
Beiträge: 74
Creativ ist zur Zeit noch ein unbeschriebenes Blatt
Creativ eine Nachricht über ICQ schicken
Standard

sry wenn ich nerve, aber wie muss ich dass dann machen?
Verstehe das nicht ganz.
Mit Zitat antworten
  #8 (permalink)  
Alt 29-03-2005, 13:33
Milian
 Junior Member
Links : Onlinestatus : Milian ist offline
Registriert seit: Sep 2004
Beiträge: 152
Milian ist zur Zeit noch ein unbeschriebenes Blatt
Standard

musst mit preg_replace arbeiten.
Mit Zitat antworten
  #9 (permalink)  
Alt 29-03-2005, 20:46
Creativ
 Junior Member
Links : Onlinestatus : Creativ ist offline
Registriert seit: Jun 2004
Beiträge: 74
Creativ ist zur Zeit noch ein unbeschriebenes Blatt
Creativ eine Nachricht über ICQ schicken
Standard

hmmm.....was soll ich denn da mit preg_replace?
Verstehe nicht ganz, was ich da ersetzten soll.


EDIT:
Hat sich erledigt. Habe es jetzt hingekriegt. Danke für eure Hilfe!

Geändert von Creativ (29-03-2005 um 22:21 Uhr)
Mit Zitat antworten
  #10 (permalink)  
Alt 29-03-2005, 22:21
Shurakai
 Master
Links : Onlinestatus : Shurakai ist offline
Registriert seit: May 2004
Ort: Bergisch Gladbach
Beiträge: 3.084
Shurakai ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Dann schreib doch auch hin was du jetzt gemacht hast.. dann ham auch andere die das vllt. interessiert was davon....!
Mit Zitat antworten
  #11 (permalink)  
Alt 30-03-2005, 17:32
Creativ
 Junior Member
Links : Onlinestatus : Creativ ist offline
Registriert seit: Jun 2004
Beiträge: 74
Creativ ist zur Zeit noch ein unbeschriebenes Blatt
Creativ eine Nachricht über ICQ schicken
Standard

ok hier meine lösung:

Die funktion in der class:
PHP-Code:
function show_formular() {
       eval(
"\$this->form.= \"".gettemplate("templates/".$this->template_ordner."/news_comments_form")."\";");
        return 
$this->form;
    } 
und die ausgabe in der news_comments.php
PHP-Code:
$body.=$news_c->show_formular($body); 
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

zechat ansehen zechat

Willst du Chat-Admin in deinem eigenen kostenlosen Chat mit vielen Funktionen sein, und soll der Chat dazu noch schnell und stabil auf alles Webservern sein? Wenn ja, ist deine Suche jetzt vorbei!

07.06.2018 Manuel1986 | Kategorie: AJAX/ Chat
bootstrapzero

kostenlose Bootstrap-Themes

05.06.2018 Berni | Kategorie: HTML5/ CSS-Responsive
Entwicklung einer Chat-Webanwendung mit Node.js

Einfacher Chat mit Node.js

26.05.2018 Berni | Kategorie: Node.js/ nodejs-Tutorials
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:54 Uhr.