Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

Php / HTML trennen

Diskussion: Php / HTML trennen im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hallo, bin noch relativ neu auf diesem Gebiet und hab deshalb auch ne Frage, die vermutlich leicht zu beantworten ...

Antwort
Alt 10.09.06, 14:08   #1 (permalink)
 
Registriert seit: 03.05.06
CentralWay Leistung: Facit NTK
Likes: 0
Standard Php / HTML trennen

Anzeige

Hallo, bin noch relativ neu auf diesem Gebiet und hab deshalb auch ne Frage, die vermutlich leicht zu beantworten ist :)
Wenn ich auf einer Seite HTML und PHP mische, sieht das sehr verwirrend aus, vorallem wenns mehrere hundert Zeilen sind. Deshalb möchte ich den HTML Code und den PHP Code trennen. Ich weiss aber nicht ob das geht, ich stells mir so vor:

Code:
<html>
<head>
#include <php_code.php>
</head>

<body>
<table>
	<tr>
		<td>coutname()</td>
		<td></td>
	</tr>
	<tr>
		<td></td>
		<td></td>
	</tr>
</table>
</bod>
</html>
Code:
//PHP-TEIL
<?
coutname()
{
echo "hehe";
}
?>

Ich hoffe, aus den Codebeispielen versteht man, was ich meine. Hab in PHP noch nicht mit Funktionen gearbeitet, aber sollte so glaub schon in etwa richtig sein, den Funktionsaufruf in HTML hab ich erfunden, also die Syntax.

LIebe Grüsse,
hehe
CentralWay ist offline   Mit Zitat antworten
Alt 10.09.06, 14:10   #2 (permalink)
LX
Moderator
 
Registriert seit: 14.02.06
LX Leistung: Z3
LX eine Nachricht über ICQ schicken LX eine Nachricht über AIM schicken LX eine Nachricht über Yahoo! schicken
Likes: 21
Lightbulb

Vielleicht hilft dir das Stichwort "Templates". Da gibt's auch schon einige vorgefertigte Systeme. Ein weit verbreitetes und beliebtes Templatesystem für PHP ist z.B. Smarty.
__________________
"Ever tried. Ever failed. No matter.
Try again. Fail again. Fail better."
- Samuel Beckett

JS BB LX UP
LX ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 10.09.06, 14:27   #3 (permalink)
Senior Member
 
Registriert seit: 01.01.04
Prometheus Leistung: Facit NTK
Prometheus eine Nachricht über ICQ schicken
Likes: 0
Standard

Zitat:
Original von LX
Vielleicht hilft dir das Stichwort "Templates". Da gibt's auch schon einige vorgefertigte Systeme. Ein weit verbreitetes und beliebtes Templatesystem für PHP ist z.B. Smarty.
Hatte er etwa nach Templates gefragt? Oder würden sie ihm bei der Trennung von PHP und HTML helfen? Wohl kaum. Vielleicht will er sich mit PHP und HTML auseinandersetzen. Zwar könnte er aus Templates lernen, aber dort ist der PHP und HTML Code auch gemischt und für einen Anfänger würden Templates sehr kompliziert sein, sie zu verstehen.

@LX
Das würde gehen, aber zudem sehr viel Arbeit bedeuten, denn du müsstest für jedes bisschen PHP-Code eine neue PHP-Datei anlegen und da könntest du die Übersicht verlieren.
Aber sehr sinnvoll ist deine Methode dann, wenn du einen bestimmten Script in mehreren HTML-Seiten benötigst. Z.B. nehmen wir mal die Ausgabe, hier würde sich anbieten über einer Variablen etwas Auszugeben. Die Variable kannst du dann aus einer anderen Datei übergeben lassen.
Prometheus ist offline   Mit Zitat antworten
Alt 10.09.06, 15:20   #4 (permalink)
Senior Member
 
Registriert seit: 27.06.04
Cyberm@ster Leistung: Facit NTK
Likes: 0
Standard

Bin auch noch eher PHP Anfänger also korrigiert mich wenn ich mich irre.

Du könntest den PHP-Code in eine externe Datei auslagern und dann per include einbinden.

Du musst nur aufpassen, dass du eine geordnete Ordnerstruktur hast damit du duch zurecht findest! Ich weiss nur nicht was passiert wenn du das gleiche Script ein paar mal gleichzeitig aufrufst oder Variablen übergeben willst, aber eigentlich sollte es da keine größeren Probleme geben
Cyberm@ster ist offline   Mit Zitat antworten
Alt 10.09.06, 15:51   #5 (permalink)
 
Benutzerbild von geronimo89
 
Registriert seit: 05.04.05
geronimo89 Leistung: Facit NTK
Likes: 0
Standard

Du solltest mal einen Blick auf das Tutorial auf www.php-q.net werfen, auch www.schattenbaum.net/php könnte dir helfen.
geronimo89 ist offline   Mit Zitat antworten
Alt 10.09.06, 19:22   #6 (permalink)
LX
Moderator
 
Registriert seit: 14.02.06
LX Leistung: Z3
LX eine Nachricht über ICQ schicken LX eine Nachricht über AIM schicken LX eine Nachricht über Yahoo! schicken
Likes: 21
Lightbulb

Zitat:
Original von Prometheus
Hatte er etwa nach Templates gefragt? Oder würden sie ihm bei der Trennung von PHP und HTML helfen? Wohl kaum.
Ich würde an dieser Stelle einen berühmten Satz von Dieter Nuhr zitieren, aber schätze mal, damit würde ich mir keine Freunde machen. Aber vielleicht kann ich mit Wittgenstein punkten: "Wovon man nicht sprechen kann, darüber muss man schweigen".

Ich fürchte einfach mal, du hast keine Ahnung, was Templates bedeuten, ansonsten hättest du wohl kaum die wirre Behauptung aufgestellt, dass sie nicht dabei helfen, HTML von PHP zu trennen (denn genau das ist der Zweck von Templates). Untermalt wird das von Aussagen wie "du müsstest für jedes bisschen PHP-Code eine neue PHP-Datei anlegen", die schlicht und ergreifend völliger Murks sind.

Die Verwendung eines Template-Systems wie Smarty setzt natürlich voraus, dass man sowohl in HTML als auch in PHP einigermaßen firm ist. Dazu können besagte Tutorials helfen, das bei tut.php-q.net hat sogar einen eigenen Abschnitt zu Smarty.
__________________
"Ever tried. Ever failed. No matter.
Try again. Fail again. Fail better."
- Samuel Beckett

JS BB LX UP
LX ist offline   Mit Zitat antworten
Alt 10.09.06, 19:47   #7 (permalink)
Themenstarter
 
Registriert seit: 03.05.06
CentralWay Leistung: Facit NTK
Likes: 0
Standard

@LX

Danke, ist genau das, was ich gesucht habe. Scheint zwar _etwas_ kompliziert zu sein, aber werd ich schon hinkriegen
Werd mich melden wenn ich fragen hab
CentralWay ist offline   Mit Zitat antworten
Alt 10.09.06, 20:10   #8 (permalink)
 
Registriert seit: 09.07.04
Ar-ras Leistung: Facit NTK
Likes: 0
Standard

Code:
<html>
<head>
#include <php_code.php>
</head>

<body>
<table>
	<tr>
		<td>coutname()</td>
		<td></td>
	</tr>
	<tr>
		<td></td>
		<td></td>
	</tr>
</table>
</bod>
</html>
Da sind doch mind. 2 Fehler drin
Ar-ras ist offline   Mit Zitat antworten
Alt 10.09.06, 21:27   #9 (permalink)
fetzer
Guest
 
Likes:
Standard RE: Php / HTML trennen

PHP-Code:
<html>
<head>
<? include ("php_code.php"); ?>
</head>

<body>
<table>
    <tr>
        <td><? coutname(); ?></td>
        <td></td>
    </tr>
    <tr>
        <td></td>
        <td></td>
    </tr>
</table>
</bod>
</html>
PHP-Code:

<?
//PHP-TEIL
function coutname()
{
echo 
"hehe";
}
?>
Nicht nur 2 Sah für mich nach einen C-Dialekt aus.
  Mit Zitat antworten
Alt 10.09.06, 21:34   #10 (permalink)
 
Registriert seit: 15.08.03
flame Leistung: Facit NTK
flame eine Nachricht über ICQ schicken
Likes: 0
Standard

Also ein Tamplatesystem - insbesondere smarty - eignet sich sehr wohl, um HTMl von PHP zu trennen. aber gerade für anfänger ist es doch recht kompliziert, die php scripte und die html ausgabe so explizit zu trennen.

Ich würde an deiner stelle damit anfangen, ein system in meine php dateien zu bekommen. Und zwar oben wir alles verarbeitet, was mit php abgearbeitet werden muss. und evtl. rückgabewerte in variablen gespeichert. und im unteren teil kommt dann nur die ausgabe in html unter verwendung der oben definierten variablen.

Hier wird es dir am anfang immer wieder passieren, dass du das ganze vermischt.. sprich php anweisungen im unteren teil, und ausgaben im oberen teil.
So kanst du dich langsam an templatesysteme rantasten.
flame ist offline   Mit Zitat antworten
Alt 10.09.06, 21:49   #11 (permalink)
Themenstarter
 
Registriert seit: 03.05.06
CentralWay Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Original von Ar-ras
Code:
<html>
<head>
#include <php_code.php>
</head>

<body>
<table>
	<tr>
		<td>coutname()</td>
		<td></td>
	</tr>
	<tr>
		<td></td>
		<td></td>
	</tr>
</table>
</bod>
</html>
Da sind doch mind. 2 Fehler drin
Ich hab geschrieben, dass der Code "erfunden" ist, ist also so quasi pseudo-code. Wenn du schon postest dann schreib was richtiges und les dir das geschriebene durch!
Sorry ist hart, aber sowas regt mich auf!

@fetzer
Das gleiche wie @ Ar-ras, aber du hast recht, eigentlich bin ich ein C++ianer


@flame
Ja, so kann ichs auch versuchen. Aber hab mir dieses Templat-Tutorial mal angesehen und es sieht eigentlich nicht sondcherlich schwierig aus...werds dann mal abarbeiten
CentralWay ist offline   Mit Zitat antworten
Alt 10.09.06, 22:12   #12 (permalink)
 
Registriert seit: 25.12.04
stone.dr Leistung: Facit NTK
Likes: 0
Standard

@LX

Ich muss mich leider der Meinung von Prometheus anschließen.
Das lernen von Templates sehe ich als auch nicht geeignet an (besonders für Anfänger).
Es gibt ja einige gute Tutorials und Bücher die man mal zu dem Thema lesen kann.

Außerdem finde ich persönlich Dein zitieren von Diether Nuhr als nicht angebracht, da solche Äußerungen nur dazu führen, dass Member sich bald Ihrer Meinung enthalten und das Board nur noch aus "Prolls" besteht.

Meine ganz eigene und persönliche Meinung zu dem Thema !
stone.dr ist offline   Mit Zitat antworten
Alt 10.09.06, 22:40   #13 (permalink)
 
Benutzerbild von $oul
 
Registriert seit: 19.12.04
$oul Leistung: Z3
$oul eine Nachricht über ICQ schicken
Likes: 2
Standard

Er hat Dieter Nuhr nicht zitiert.
__________________
Der eigene Wille müsste stets ein wenig mächtiger sein, als es das eigene Selbst ist.
Aber Wunschdenken stellt ein Risiko dar und so etwas können wir uns in einem Weltkapitalismus nicht leisten.
$oul ist offline   Mit Zitat antworten
Alt 10.09.06, 22:48   #14 (permalink)
Themenstarter
 
Registriert seit: 03.05.06
CentralWay Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Original von $oul
Er hat Dieter Nuhr nicht zitiert.
öhm...langeweile?
---

Ich wollte noch fragen, wie ihr das macht? Mischt ihr HTML/PHP oder macht ihrs mit Templates oder gibt es noch ne andere möglichkeit? Ich kann einfach nicht glauben, dass es da keine einfachere möglichkeit gibt, so wie ich sie oben dargestellt hab...also ohne noch irgendwleche Programme zu installieren oder so...
CentralWay ist offline   Mit Zitat antworten
Alt 10.09.06, 22:55   #15 (permalink)
LX
Moderator
 
Registriert seit: 14.02.06
LX Leistung: Z3
LX eine Nachricht über ICQ schicken LX eine Nachricht über AIM schicken LX eine Nachricht über Yahoo! schicken
Likes: 21
Lightbulb

Ich selbst nutze Smarty, zumindest für größere Sachen. Bei kleineren stört's mich nicht so, wenn HTML und Code vermischt sind.

Smarty ist übrigens nur ein Beispiel. Wenn dir das System zu kompliziert ist, kannst du dich auch an einem eigenen Templatesystem versuchen (was aber als Einstieg in die PHP-Programmierung nicht unbedingt geeignet ist). Vielleicht findest du auch noch alternative Systeme, wenn du die Suchmaschine deiner Wahl mal mit "php template engine" fütterst. Vom Prinzip her werden die aber insofern ähnlich sein, als dass du in den HTML-Code nur Platzhalter einfügst, die dann von PHP ersetzt werden.
__________________
"Ever tried. Ever failed. No matter.
Try again. Fail again. Fail better."
- Samuel Beckett

JS BB LX UP
LX ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » Php / HTML trennen
Themen-Optionen
Ansicht

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 sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Externe Festplatte (trennen) martin19851 Hardware Probleme 3 01.01.06 16:33
Tastatur trennen Nick H. Windows 7 02.10.05 12:31
Filme trennen Goofy Music- & Filmbox 8 20.04.05 12:39
Filme trennen Goofy Die Problemzone 5 19.04.05 07:43


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61