Willkommen im #Neuland
Login wie bei quake.ingame.de zuvor, die Passwörter aus der alten Datenbank wurden aber gelöscht - einmal hier neu anfordern.
Wer seine E-Mail-Adresse nicht mehr hat oder kennt, bitte eine Nachricht mit Infos schicken o. im Discord melden.

PQ Discord Server: #planetquake                                                                                                                                         Spenden? Hier entlang!

[PHP allgemein] Seite ins Design inkludieren

Forum für alles rund ums Coden und web.design - HTML, XHTML, XML, CSS, PHP, ASP, Zugriffsrechten, Mods uvm.
Antworten
rancor
Lucy
Lucy
Beiträge: 874
Registriert: Mär 2002
Wohnort: RLP-Germany, pq.de
Kontaktdaten:

[PHP allgemein] Seite ins Design inkludieren

Beitrag von rancor »

Hi, ich arbeite noch nicht lange mit php und suche nun nach Lösungen für meine größeren Probleme.

Auf Bild Nr.1 ist zu erkennen wie meine Seite aufgebaut ist (index.php)
Bild Nr.1

Die Reihenfolge in der Datei:
<div id='branding'> //Logo
<div id='menu_oben'>
<div id='kasten_links'>
<div id='content'>
<div id='site_info'> //Footer

Das Gästebuch (gb.php) wird z.B. mit "index.php?seite=gb" aufgerufen.

Auf Bild Nr.2 ist zu sehen wie die Seite aussehen soll, (jedoch Footer von mir abgeschnitten:
(Seite wird geladen ohne Fehler)
Bild Nr.2

Jetzt ist es natürlich so, dass ich Benutzereingaben abfangen muss, wie z.B.:
Benutzer klickt auf Button "Gästebuch", damit wird Gästebuch im "Contentbereich" inkludiert und angezeigt. Benutzer schreibt ins GB vergisst aber seinen Namen einzutragen, trifft dies ein wird eine Fehlermeldung ausgegeben und mit "exit();" abgebrochen. Der Abbruch findet dann eben in <div id='content'> statt.

Problem dabei ist, dass dann die index Datei nicht weiter geladen wird und das Design schaut dann so unfertig aus wie auf Bild Nr.3
Bild Nr.3

Ich weis im Moment echt nicht wie ich erreichen kann, dass das komplette Design (index.php) geladen wird aber dennoch nach der Fehlermeldung nicht weiter den Code ausführt.

Danke
Und vllt gibt's ja auch noch eine besser Methode wie man die Content-dateien ins Design inkludieren kann.
Bild
----
VAYA CON TIOZ
zeeno
Uriel
Uriel
Beiträge: 2793
Registriert: Nov 2002
Kontaktdaten:

Beitrag von zeeno »

exit() ist sehr hässlich und sollte nur nach einer Anweisung von header() folgen. Das Zauberwort ist "if" falls etwas nicht ausgeführt werden soll WENN irgendwas nicht der Fall ist, dann musst du das abfragen und dementsprechend reagieren.
Bild

Drum & Bass: Hartes oder Weiches

"Demokratie ist, wenn man sich aussuchen kann wer verarscht." - Hagen Rether
[/CENTER]
EviLsEyE
Administrator
Administrator
Beiträge: 23012
Registriert: Jan 2000
Wohnort: NRW
Kontaktdaten:

Beitrag von EviLsEyE »

Grober Ansatz:

Code: Alles auswählen

if ((isset($_POST['username']) && !empty($_POST['username'])) {
  echo "Hier Code, falls Username angegeben.";
} else {
  echo "Hallo Du da, hast Username vergessen!";
}
exit() ist ganz schön radikal, insbesondere mitten im Skript :ugly:
Gewöhn Dir das ganz schnell ab, sowas verwendet man nicht..
Bild
Roughael
Stripe
Stripe
Beiträge: 2498
Registriert: Mär 2002

Beitrag von Roughael »

Ich habs früher mal so gemacht, dass ich beim empfangen von formulardaten die daten geprüft und eingetragen hab und dann weitergeleitet zur fehlerseite oder keine-fehlerseite.
Seit kurzem arbeite ich lieber mit CodeIgniter und gebe fehlermeldungen möglichst im selben formular aus, damit der user sieht wo er was falsch eingegeben hat.
Schau dir mal die tuts an, vieleicht gefällts dir ja auch gut :)
http://net.tutsplus.com/articles/news/c ... tch-day-1/
<-- Ehemaliger TTK-Bandit, bis inquake rumzickte -->

Dict.cc Firefox Addon | Q3Devel | Code3Arena(De) | GameType Revolution | Open Game Libraries
rancor
Lucy
Lucy
Beiträge: 874
Registriert: Mär 2002
Wohnort: RLP-Germany, pq.de
Kontaktdaten:

Beitrag von rancor »

oh man wie peinlich, ich benutze zwar in meinem Projekt if's und else's jedoch hatte ich die nie verschachtelt. Jetzt da ich es korrigiert und die "exits()" rausgekickt habe funtzt es natürlich so wie's soll.

Manchmal braucht man einfach nur einen Denkanstoß. Danke

Und auch vielen Dank für den Beitrag über "CodeIgniter", das schau ich mir mal an.
Bild
----
VAYA CON TIOZ
h4zz4rd
Patriot
Patriot
Beiträge: 1287
Registriert: Jun 2001

Beitrag von h4zz4rd »

Scheint ja gelöst zu sein, aber wenn ich den Quellcode sehe, habe ich trotzdem einige Bedenken. Könnte ja Beispielcode sein, aber ich frage mal nach...

Was passiert wenn der Benutzer spasseshalber index.php?seite=index aufruft? Haben wir eine schöne Endlosschleife?

Ist die Konfiguration gegen Local/Remote File Inclusion gesichert? Unter Umständen kann durch Null Byte Injection auf ungewollte Dateien zugegriffen werden. Im Moment hege ich den Verdacht, dass Du darauf nicht geachtet hast...

Insbesondere
Hi, ich arbeite noch nicht lange mit php
lässt mich dies befürchten.

Google mal nach LFI Vulnerability oder sowas... Du wirst feststellen müssen, dass Deine Lösung bequem ist, aber es ohne eine Whitelist der zu includenden Files zumeist zu Sicherheitslücken kommt.

Ansonsten nochmal hier posten... Schaue relativ selten rein, aber irgendwer kann bestimmt noch was dazu sagen.
Bild
rancor
Lucy
Lucy
Beiträge: 874
Registriert: Mär 2002
Wohnort: RLP-Germany, pq.de
Kontaktdaten:

Beitrag von rancor »

Hi und sorry, hatte ganz vergessen zu antworten.

Ja das mit der Endlosschleife hätte mir auch auffallen müssen ^^
Und eine Whitelist werd ich noch erstellen.

Also vielen Dank für eure Hilfe.
Bild
----
VAYA CON TIOZ
Antworten