| 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! Post your PHP questions here! |
 |

08-06-2005, 23:02
|
|
Mundgeruch
Registrierter Benutzer
|
|
Registriert seit: Jan 2004
Ort: Dortmund
Beiträge: 153
|
|
Template neue Seite ?
Guten Abend,
ich habe mal wieder ein Problem und auch die Suchfunktion hat mir diesmal nicht weitergeholfen.
Ich sitze noch immer daran meine Seite in Templates aufzubauen nur leider komme ich im moment nicht mehr weiter.
Die Seite ist wie folgt aufgebaut
| navi links | mitte | login bereich |
Ich habe eine Funktion.php, in der wie sollte es auch anders sein der ganze PHP Quelltext ist.
So rufe ich meine Templates auf
PHP-Code:
function nav_rechts()
{
switch($_GET['navirechts'])
{
case "user_r_eingeloggt": return str_replace("\"","\\\"",implode("",file('templates/user_r_eingeloggt.templ'))); break;
case "login": return str_replace("\"","\\\"",implode("",file('templates/login.templ'))); break;
default: return str_replace("\"","\\\"",implode("",file('templates/login.templ'))); // Startseite als default
}
}
Diesen Block habe ich 3 mal für navi links , mitte und dem login Bereich.
Wenn ich eine neue Seite anzeigen lassen wollte habe ich den Befehl
PHP-Code:
if ....
else
{
header ("Location: ?navigation=user_r_eingeloggt");
}
genutzt und einfach meine Variablen über die URL an das Template weitergegeben. Nun ist es aber so, wenn sich der User einloggt sollen alle drei Ebenen wechseln. Navi links , mitte und der Login Bereich, das geht leider nicht mehr mit dem Befehl header.
Wie komme ich nun an meine Templates ohne diesen Befehl ?
|

09-06-2005, 00:03
|
Wurzel
Master  
|
|
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
|
|
Re: Template neue Seite ?
Zitat:
Original geschrieben von Mundgeruch
Wie komme ich nun an meine Templates ohne diesen Befehl ?
|
kannstdudeinefragepräziserstellen? diemeistenlesenhiernurdielinkehälftewegendemscrollenundallesineinezeilezupackenistauchblöd.
__________________
-
|

09-06-2005, 08:27
|
|
Mundgeruch
Registrierter Benutzer
|
|
Registriert seit: Jan 2004
Ort: Dortmund
Beiträge: 153
|
|
Guten Morgen
Naja ich will das wenn sich der User rechts einloggt alle 3 ich nenne sie mal Blöcke wechseln.
PHP-Code:
if ....
else
{
header ("Location: ?navigation=user_r_eingeloggt");
}
damit klappt es bei einem Block, aber mitte sowie links die navigation soll auch ihren Inhalt wechseln und ich weiss einfach nicht wie ich es hinbekomme.
Habe mal heute Nacht schon von der Seite geträumt und mir kam spontan die idee
PHP-Code:
header ("Location: ?navirechts=user_r_eingeloggt&navigation=kontakt");
zu schreiben. Dummerweise klappt das nun und mein Problem wäre nun behoben  Würde mich allerdings trotzdem Interessieren ob es nicht noch einen anderen Weg gibt ohne das ich mit dem header Befehl arbeiten muss, möchte nicht so gerne alle variablen über die URL verschicken.
|

09-06-2005, 08:36
|
|
RanzigeMilch
Registrierter Benutzer
|
|
Registriert seit: May 2005
Ort: Darmstadt
Beiträge: 757
|
|
definier mal bitte "Block"
frame?
__________________
Die Milch bleibt ranzig!
|

09-06-2005, 09:52
|
|
Mundgeruch
Registrierter Benutzer
|
|
Registriert seit: Jan 2004
Ort: Dortmund
Beiträge: 153
|
|
Hallöchen,
naja es ist kein Frame keine ahnung wie sich das genau nennt wenn man eine Seite mit Templates aufbaut.
Ich habe mir das Design zusammengeschustert und in eine index.php gepackt. In den Tabellen hol ich mir dann die drei Templates einmal wie unten schon geschrieben navi links , mitte und den login Bereich.
Nun wechsel ich immer mit header die einzelnen Blöcke .. Ebenen oder wie auch immer man es nennt. Sagen wir mal Platzhalter
Aber mit header muss ich alle Variablen mit der URL übergeben und das ist nicht wirklich so toll.
Danke für eure Hilfe
|

09-06-2005, 10:05
|
|
RanzigeMilch
Registrierter Benutzer
|
|
Registriert seit: May 2005
Ort: Darmstadt
Beiträge: 757
|
|
sry ich versteh den inhalt deines problems und deiner fragen nicht
vielleicht ma n link oder ne ähnliche seite das man sich das ma bildlich vorstellen kann?
__________________
Die Milch bleibt ranzig!
|

09-06-2005, 10:20
|
|
Mundgeruch
Registrierter Benutzer
|
|
Registriert seit: Jan 2004
Ort: Dortmund
Beiträge: 153
|
|
Guguck,
bin gerade auf der arbeit und kann nicht das neuste Update auf meinen Server laden. Also auf http://www.free-ticker.de/neu/ ist ja Links ein Menü, dann die mitte mit dem Inhalt und rechts kann man sich einloggen. Wenn man sich nun rechts einloggt soll der Inhalt in der Mitte und auch der Memberbereich kommen.
Habe jedes Template über meine Funktionsseite definiert und rufe jedes Template mit header auf und denke das es sicherlich einfacher geht. Mit header muss ich ja bekanntlich alle variablen wie Session oder User-ID über die URL weitergeben, finde diese lösung nicht ganz so nett und hoffe darauf das es eine bessere Lösung gibt.
|

09-06-2005, 11:21
|
|
RanzigeMilch
Registrierter Benutzer
|
|
Registriert seit: May 2005
Ort: Darmstadt
Beiträge: 757
|
|
ich seh da nur tabellen..
wie hast du denn deine "blöcke" erstellt? code?
__________________
Die Milch bleibt ranzig!
|

09-06-2005, 13:56
|
|
Mundgeruch
Registrierter Benutzer
|
|
Registriert seit: Jan 2004
Ort: Dortmund
Beiträge: 153
|
|
Super  so sollte es auch bei Templates sein.
Wenn ich zuhause bin Poste ich mal meinen Quelltext, danke für deine Hilfe.
|

09-06-2005, 19:15
|
|
Mundgeruch
Registrierter Benutzer
|
|
Registriert seit: Jan 2004
Ort: Dortmund
Beiträge: 153
|
|
Hallöchen,
so endlich Feierabend, ich habe wie schon beschrieben eine index.php erstellt und darin mein Design gepackt. In den Tabellen habe ich Platzhalter gepackt wie
PHP-Code:
<?
eval("dooutput(\"".nav_seiten()."\");");
?>
dann habe ich eine Funktion.php erstellt in dem nun folgendes steht.
PHP-Code:
function dooutput($template) # Templates anzeigen
{
echo $template;
}
# bereich mitte
function nav_seiten()
{
switch($_GET['navigation'])
{
case "startseite": return str_replace("\"","\\\"",implode("",file('templates/startseite.templ'))); break;
case "anmelden": return str_replace("\"","\\\"",implode("",file('templates/anmelden.templ'))); break;
case "anmelden1": return str_replace("\"","\\\"",implode("",file('templates/anmelden1.templ'))); break;
case "anmelden_ok": return str_replace("\"","\\\"",implode("",file('templates/anmeldenok.templ'))); break;
case "kontakt": return str_replace("\"","\\\"",implode("",file('templates/kontakt.templ'))); break;
case "hilfe": return str_replace("\"","\\\"",implode("",file('templates/hilfe.templ'))); break;
case"impressum": return str_replace("\"","\\\"",implode("",file('templates/impressum.templ'))); break;
case"agb": return str_replace("\"","\\\"",implode("",file('templates/agb.templ'))); break;
case"userseiten": return str_replace("\"","\\\"",implode("",file('templates/userseiten.templ'))); break;
case"passwort": return str_replace("\"","\\\"",implode("",file('templates/passwort.templ'))); break;
case "passwort_ok": return str_replace("\"","\\\"",implode("",file('templates/passwortok.templ'))); break;
case "login_falsch": return str_replace("\"","\\\"",implode("",file('templates/login_falsch.templ'))); break;
default: return str_replace("\"","\\\"",implode("",file('templates/startseite.templ'))); // Startseite als default
}
}
Wenn ein Formular überprüft wird wie zb beim anmelden schicke ich es wieder an sich selber mit <form action="?navigation=anmelden" method="post" enctype="multipart/form-data">
Damit nun alle eingaben überprüft und ausgewertet werden können, habe ich in meine funktions.php das stehen
PHP-Code:
if ($_POST['anmelde_start'] == "Anmelden")
{
$usernick = $HTTP_POST_VARS["usernick"];
$ticker_tag = $HTTP_POST_VARS["ticker_tag"];
bla bla
Nun ist wieder die Frage wie ich ein Template in eine Tabelle includen kann ohne den Befehl header zu nutzen? Hoffe mit den Infos kann mir jemand weiterhelfen.
|

10-06-2005, 08:11
|
|
RanzigeMilch
Registrierter Benutzer
|
|
Registriert seit: May 2005
Ort: Darmstadt
Beiträge: 757
|
|
sind die templates so gestaltet das sie nur für diese eine tabelle dann gelten oder für die ganze seite?
__________________
Die Milch bleibt ranzig!
|

11-06-2005, 16:20
|
|
Mundgeruch
Registrierter Benutzer
|
|
Registriert seit: Jan 2004
Ort: Dortmund
Beiträge: 153
|
|
Hallöchen,
ja ich kann Templates einer bestimmten Tabelle zuweisen, das mach ich mit Variablen in der URL. Zb. mittlere Tabelle ist ?navigation=anmelden
?navigation ist immer mittlere tabelle und anmelden ist mein Template, daher klappt es auch mit dem Befehl header nur halt das problem mit den Variablen in der URL.
Habe also noch immer keine alternative zu header
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| 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.
HTML-Code ist aus.
|
|
|
|
PHP News
|