---
title: "Eigenes PHP_Script"
url: "https://www.typo3.net/d/6011-eigenes-php-script"
source: "typo3.net"
tags: ["Allgemein","Frage"]
created: "2003-09-26"
last_reply: "2003-09-26"
replies: 4
solved: false
page: 1
pages: 1
lang: "de"
---

# Eigenes PHP_Script

Allgemein · 4 Antworten · gestartet 2003-09-26

## Eröffnungsbeitrag

**timzim** · 2003-09-26 · [Beitrag #1](https://www.typo3.net/d/6011-eigenes-php-script/1)

Hallo,

ich hab' jetzt wirklich alle Tipps & Tricks, alle Tuts & Dokus durch und komme nicht wirklich weiter. Ich möchte ein eigenes PHP-Skript verwenden. In meiner Vorlage verwende ich dafür die Marker BEGRUESSUNG. Im einzelnen:
ich werd' noch verrückt! Ich hab jetzt wirklich alles probiert. Meine Datei begruessung.php:

<?php
class begruessung {
var $cObj;

function hallo() {
global $TSFE;
$TSFE->set_no_cache();
$stunde = date("H");
switch($stunde){
case 19:
case 20:
case 21:
echo "<p>Guten Abend!";
break;

case 22:
case 23:
case 0:
case 1:
case 2:
case 3:
echo "<p>Gute Nacht!";
break;

case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
echo "<p><font face='Arial' size='3'>Guten Morgen!</font></p>";
break;

default:
echo "<p>Guten Tag!";
}
$monat = array("Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November", "Dezember");
$tag = array("Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag","Sonntag");
$datum=getdate();
$monatszahl = $datum['mon']-1;
$tageszaehler = $datum['wday']-1;
}
}
?>

und mein TS im Template:

includeLibs.begruessung = fileadmin/begruessung.php
marks.BEGRUESSUNG = USER
marks.BEGRUESSUNG.userFunc = begruessung->hallo

Warum funzt das nicht. Es sollte sich hier eigentlich nur um ein kleines Feature der Seite handeln und nicht um das Hauptproblem, das alles aufhält. Kann mit BITTE jemand helfen!!!

- Timo Zimmermann (timzim)

## Antworten

### [#2](https://www.typo3.net/d/6011-eigenes-php-script/2) · jayripper · 2003-09-26

Ok, pass auf hier ein kleines Beispiel (getestet es funktioniert!):

In meinem Template:

```typoscript
includeLibs.my_file = fileadmin/sven/js/my_file.inc
```

Das heisst bei mir im Fileadmin ist das Ordner Verzeichnis sven/js/´, dort wiederum liegt die Datei my_file.inc

Im selben Template wo die Marker definiert werden:

```typoscript
marks.footer = TEXT
marks.footer.value = EYYYYYYYYYYYYYYYYYYYYY
marks.footer.postUserFunc = user_myclass->myfunc
```

Bei mir wird der Marker "footer" benutzt. Die Zeile mit der "value" Zuweisung ist eigentlich überflüssig (sofern die INC Datei funktioniert), andernfalls erhälst Du "EYYYYYYYYY" als Ausgabe.

Der Inhalt der my_file.inc:

```php
<?php 

class user_myclass { 

  function myfunc() { 
     $output = "Hi wie gehts?";
     return $output;
  } 
} 
?>
```

Achte darauf das deine Class mit user_ beginnt. Alles klar ?

### [#3](https://www.typo3.net/d/6011-eigenes-php-script/3) · timzim · 2003-09-26

Also ich hab' wieder einmal alles getan:
includeLibs.begruessung = fileadmin/begruessung.inc
und auuserdem:
marks.BEGRUESSUNG = TEXT
# marks.BEGRUESSUNG.value = Servus
marks.BEGRUESSUNG.postUserFunc = user_begruessung->hallo
ins Template eingefügt
Mein PHP-Quelltext:
<?php
class user_begruessung {

function hallo() {

$stunde = date("H");
switch($stunde){
case 19:
case 20:
case 21:
echo "<p>Guten Abend!";
break;

case 22:
case 23:
case 0:
case 1:
case 2:
case 3:
echo "<p>Gute Nacht!";
break;

case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
echo "<p><font face='Arial' size='3'>Guten Morgen!</font></p>";
break;

default:
echo "<p>Guten Tag!";
}
}
}
?>

Wenn ich im TS die Zuweisung mit dem .value mache, bekomme ich an der Stelle des markers die entsprechende Ausgabe. Kann es vielleicht sein, dass in meinem Code ein Fehler ist? Ich hab' ihn in einer normalen PHP-Seite aber schon am Laufen gehabt. HIIIILFEEEE![/quote]

### [#4](https://www.typo3.net/d/6011-eigenes-php-script/4) · jayripper · 2003-09-26

Ok, ich habe deine Funktion einfach mal bei mir eingesetzt und ausgebessert:

```php
<?php 

class user_myclass { 

  function myfunc() { 
     
 $stunde = date("H"); 
switch($stunde){ 
case 19: 
case 20: 
case 21: 
$ausgabe = "<p>Guten Abend!"; 
break; 

case 22: 
case 23: 
case 0: 
case 1: 
case 2: 
case 3: 
$ausgabe = "<p>Gute Nacht!"; 
break; 

case 4: 
case 5: 
case 6: 
case 7: 
case 8: 
case 9: 
$ausgabe = "<p><font face='Arial' size='3'>Guten Morgen!</font></p>"; 
break; 

default: 
$ausgabe = "<p>Guten Tag!"; 
} 


 return $ausgabe;
}  // ENDE func



} // ENDE CLASS
?>
```

So, der Unterschied als statt echo schreibst Du deine Ausgabe in eine Variable und lässt diese gaaaanz am Ende mit "return $variable" aus der Funktion an den Marker zurück liefern. Also ersetz hier den Klassen Namen und den Funktionsnamen und es sollte funktionieren.

### [#5](https://www.typo3.net/d/6011-eigenes-php-script/5) · timzim · 2003-09-26

Super. Vielen Dank! Ein zweiwochenlanges Problem hat heute sein Ende gefunden. Das Wochenende wird gut! VIELEN DANK!
Lag wohl an den echo-Befehlen

---

Quelle: „Eigenes PHP_Script“, typo3.net, https://www.typo3.net/d/6011-eigenes-php-script
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
