WinFuture-Forum.de: Suche Eine Lösung Für Get-/include Problem - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Suche Eine Lösung Für Get-/include Problem


#1 Mitglied ist offline   K050V4 

  • Gruppe: aktive Mitglieder
  • Beiträge: 788
  • Beigetreten: 13. August 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Stuttgart
  • Interessen:(X)HTML<br />CSS2+<br />PHP 4/5<br />MySQL 5<br />Symfony 1.2+<br />JavaScript / AJAX<br />jQuery<br />C++<br />C#<br />Java<br />...

  geschrieben 21. Oktober 2006 - 20:11

Guten Abend liebe Community,

Ich habe ein Problem mit meiner Homepage besser gesagt mit einer PHP-Funktion. Ich habe eine einheitliche index.php und die Contents werden per include() im mittleren Div angezeigt. Die Auswahlt & der Aufruf einer Seite erfolgt über die GET-Funktion. (z.B.: <a href="?p=about.php">about me</a>)

In mein Gästebuch werden pro Seite 10 Einträge dargestellt. Weiter unten kann man dan zur nächsten bzw zur vorherigen Seite navigieren aber die Gästebuchseite benutzt auch wieder eine GET-Funktion. (so: gb.php?start=1.10).

Mein Problem: <a href="?p=gb.php?start=1.10">G-Book</a>
• Der Link besitzt 2 GET-Aufrufe und das funktioniert aber nicht ...

Kennt ihr eine Lösung für diese Problem?
Ich möchte aber weiterhin mit der include()-Funktion arbeiten also keine keine Extraseite für mein Gästebuch erstellen oder mit Frames arbeiten.

Danke im Vorraus!

Dieser Beitrag wurde von keny bearbeitet: 21. Oktober 2006 - 20:12

Zitat

"In der Welt des Erkennbaren ist die Idee des Guten die höchste." - Platon

Spritify! Easy CSS-Sprite-Generator | Albanisch Deutsch Wörterbuch
0

Anzeige



#2 Mitglied ist offline   axx 

  • Gruppe: aktive Mitglieder
  • Beiträge: 487
  • Beigetreten: 19. Mai 05
  • Reputation: 0

geschrieben 21. Oktober 2006 - 20:20

http://tut.php-q.net/get.html#u2

?p=gb.php&start=1.10
0

#3 Mitglied ist offline   Gitarremann 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.263
  • Beigetreten: 04. Juni 06
  • Reputation: 3
  • Geschlecht:Männlich
  • Wohnort:Trebnitz

geschrieben 21. Oktober 2006 - 20:23

bzw. im quellcode maskiert also &amp; statt &. allerdings sollten keine kompletten dateinamen und pfade usw. übergeben werden. das öffnet ja tür und tor für manipulationen.

Dieser Beitrag wurde von Gitarremann bearbeitet: 21. Oktober 2006 - 20:25

Der Pessimist sagt: "Das Glas ist halb leer,"
Der Optimist sagt: "Das Glas ist halb voll."
Der Realist sagt: "Bedienung, zwei Neue!"
0

#4 Mitglied ist offline   K050V4 

  • Gruppe: aktive Mitglieder
  • Beiträge: 788
  • Beigetreten: 13. August 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Stuttgart
  • Interessen:(X)HTML<br />CSS2+<br />PHP 4/5<br />MySQL 5<br />Symfony 1.2+<br />JavaScript / AJAX<br />jQuery<br />C++<br />C#<br />Java<br />...

geschrieben 21. Oktober 2006 - 20:33

axx Danke für die schnelle Antwort werden mich gleich informieren!

Gitarremann Das ist mir natürlich ist mir das klar es soll doch nur für den Anfang so sein. Ich mach dan die ganzen Links neu und mache z.B.: nur gb anstatt gb.php und im php frage ich dan per switch ab welche seite er einfügen soll.

Dieser Beitrag wurde von keny bearbeitet: 21. Oktober 2006 - 20:34

Zitat

"In der Welt des Erkennbaren ist die Idee des Guten die höchste." - Platon

Spritify! Easy CSS-Sprite-Generator | Albanisch Deutsch Wörterbuch
0

#5 Mitglied ist offline   [Elite-|-Killer] 

  • Gruppe: aktive Mitglieder
  • Beiträge: 762
  • Beigetreten: 02. Oktober 05
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Passau

geschrieben 21. Oktober 2006 - 22:55

Beitrag anzeigenZitat (keny: 21.10.2006, 19:33)

Gitarremann Das ist mir natürlich ist mir das klar es soll doch nur für den Anfang so sein.

Mir ist es rätselhaft wieso man es nicht von Anfang an richtig macht O_o
wo ist der Unterschied ob ich
include($page);

mache oder
include($folder.$page.".php");

Dieser Beitrag wurde von [Elite-|-Killer] bearbeitet: 21. Oktober 2006 - 22:55

0

#6 Mitglied ist offline   NightTiger 

  • Gruppe: aktive Mitglieder
  • Beiträge: 701
  • Beigetreten: 19. März 06
  • Reputation: 0
  • Wohnort:Bern
  • Interessen:Webdesign -&gt; (X)HTML, CSS, ein bisschen PHP und ein bisschen JavaScript ;))

geschrieben 22. Oktober 2006 - 16:44

Zitat

' date='21.10.2006, 23:55' post='759457']
Mir ist es rätselhaft wieso man es nicht von Anfang an richtig macht O_o
wo ist der Unterschied ob ich
include($page);

mache oder
include($folder.$page.".php");


auf falschen Thread geantwortet? :lol:

wenn ich dich wäre, würde ich einfach folgendes machen:

$page = $_GET['page'];
require("ORDNER MIT ALLEN PAGES\".$page.".php");


Require ist das gleiche wie include, nur wird bei require keine Fehlermeldung angezeigt, falls das includen nicht klappt.. (bin mir nicht ganz sicher, ob das so ist)

aber ich begreife gerade nicht, wieso du $folder auch noch hast.. wo wird das definiert? über GET? dann wäre es wieder sicherheitsgefährdend.. leg einfach alle pages.php in einen Ordner und lass von dort includen, bzw. requiren.. :)

@Mod

bitte diese Antwort und die Frage von Elite in den entsprechenden Thread verschieben ;)
0

#7 Mitglied ist offline   K050V4 

  • Gruppe: aktive Mitglieder
  • Beiträge: 788
  • Beigetreten: 13. August 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Stuttgart
  • Interessen:(X)HTML<br />CSS2+<br />PHP 4/5<br />MySQL 5<br />Symfony 1.2+<br />JavaScript / AJAX<br />jQuery<br />C++<br />C#<br />Java<br />...

geschrieben 22. Oktober 2006 - 16:44

[Elite-|-Killer] Ja ich hab es zuvor noch nicht so gemacht ... und musste erstmal 'rumexperimentieren' und später bin ich auf die Idee gekommen. Ich machs so:

Aufruf:
<a href="?p=home">Home</a>

'includen' & Anzeigen:
if($p=="home") {
include(ordner/home.html);
}

Das "ordner/home.html" ist nur ein Beispiel ich hab natürlich die Seiten wo anderst gespeichert.

Dieser Beitrag wurde von keny bearbeitet: 22. Oktober 2006 - 16:45

Zitat

"In der Welt des Erkennbaren ist die Idee des Guten die höchste." - Platon

Spritify! Easy CSS-Sprite-Generator | Albanisch Deutsch Wörterbuch
0

#8 Mitglied ist offline   NightTiger 

  • Gruppe: aktive Mitglieder
  • Beiträge: 701
  • Beigetreten: 19. März 06
  • Reputation: 0
  • Wohnort:Bern
  • Interessen:Webdesign -&gt; (X)HTML, CSS, ein bisschen PHP und ein bisschen JavaScript ;))

geschrieben 22. Oktober 2006 - 16:48

Beitrag anzeigenZitat (keny: 22.10.2006, 17:44)

[Elite-|-Killer] Ja ich hab es zuvor noch nicht so gemacht ... und musste erstmal 'rumexperimentieren' und später bin ich auf die Idee gekommen. Ich machs so:

Aufruf:
<a href="?p=home">Home</a>

'includen' & Anzeigen:
if($p=="home") {
include(ordner/home.html);
}

Das "ordner/home.html" ist nur ein Beispiel ich hab natürlich die Seiten wo anderst gespeichert.


wenn, dann bitte mit einem switch.. spart viel Code :lol:
0

#9 Mitglied ist offline   Gitarremann 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.263
  • Beigetreten: 04. Juni 06
  • Reputation: 3
  • Geschlecht:Männlich
  • Wohnort:Trebnitz

geschrieben 22. Oktober 2006 - 16:51

Beitrag anzeigenZitat (NightTiger: 22.10.2006, 17:44)

auf falschen Thread geantwortet? :lol:

Require ist das gleiche wie include, nur wird bei require keine Fehlermeldung angezeigt, falls das includen nicht klappt.. (bin mir nicht ganz sicher, ob das so ist)


ja so ähnlich - falls es bei require zu einem fehler kommt, wird das script nicht weiter abgearbeitet.
Der Pessimist sagt: "Das Glas ist halb leer,"
Der Optimist sagt: "Das Glas ist halb voll."
Der Realist sagt: "Bedienung, zwei Neue!"
0

#10 Mitglied ist offline   K050V4 

  • Gruppe: aktive Mitglieder
  • Beiträge: 788
  • Beigetreten: 13. August 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Stuttgart
  • Interessen:(X)HTML<br />CSS2+<br />PHP 4/5<br />MySQL 5<br />Symfony 1.2+<br />JavaScript / AJAX<br />jQuery<br />C++<br />C#<br />Java<br />...

geschrieben 22. Oktober 2006 - 16:53

Ja das hatte ich vorher aber das klappt irrgendwie nicht :)

switch($p) {

case home : $page = "URL"; echo "Herzlich Willkommen!"; include($page); break;
case about : $page = "URL"; echo "Über mich"; include($page); break;
case vote : $page = "URL"; echo "Vote!"; include($page); break;
...
}


URL ersetzte ich natürlich aber es funktioniert nicht :lol:

Dieser Beitrag wurde von keny bearbeitet: 22. Oktober 2006 - 17:10

Zitat

"In der Welt des Erkennbaren ist die Idee des Guten die höchste." - Platon

Spritify! Easy CSS-Sprite-Generator | Albanisch Deutsch Wörterbuch
0

#11 Mitglied ist offline   Gitarremann 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.263
  • Beigetreten: 04. Juni 06
  • Reputation: 3
  • Geschlecht:Männlich
  • Wohnort:Trebnitz

geschrieben 22. Oktober 2006 - 17:03

jo also ich mach das immer so:

in der index definiere ich am anfang ein paar sachen als konstamnten, die ich überall und immer wieder mal brauche

if (!$site=@$_GET['seite']) {$site="startseite";}
define(site, $site);


der link index.php?seite=hauptseite

und dann einfach

require_once("seitenwahl.php");

und die datei "seitenwahl.php" sieht so aus

<?php
switch (site)
{
	case "hauptseite" 	: $link = "Seiten/start.php"; 		break;
	case "links" 		: $link = "Seiten/links.php"; 		break;
	case "gbuch" 		: $link = "Seiten/gb.php"; 		break;
	case "login" 		: $link = "Seiten/login.php"; 			break;
	case "impressum" 	: $link = "Seiten/impressum.php"; 	break;
}

require_once($link);


man kann natürlich auch das

if (!$site=@$_GET['seite']) {$site="startseite";}

am anfang weglassen und schreibt die startseite als default in das switch-dingen mit rein.

?>
Der Pessimist sagt: "Das Glas ist halb leer,"
Der Optimist sagt: "Das Glas ist halb voll."
Der Realist sagt: "Bedienung, zwei Neue!"
0

#12 Mitglied ist offline   [Elite-|-Killer] 

  • Gruppe: aktive Mitglieder
  • Beiträge: 762
  • Beigetreten: 02. Oktober 05
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Passau

geschrieben 22. Oktober 2006 - 21:20

Beitrag anzeigenZitat (NightTiger: 22.10.2006, 15:44)

auf falschen Thread geantwortet? :)

wenn ich dich wäre, würde ich einfach folgendes machen:

$page = $_GET['page'];
require("ORDNER MIT ALLEN PAGES\".$page.".php");


Require ist das gleiche wie include, nur wird bei require keine Fehlermeldung angezeigt, falls das includen nicht klappt.. (bin mir nicht ganz sicher, ob das so ist)

aber ich begreife gerade nicht, wieso du $folder auch noch hast.. wo wird das definiert? über GET? dann wäre es wieder sicherheitsgefährdend.. leg einfach alle pages.php in einen Ordner und lass von dort includen, bzw. requiren.. ;)

@Mod

bitte diese Antwort und die Frage von Elite in den entsprechenden Thread verschieben ;)

Hä?
Das ist schon da wo es hingehört^^
0

#13 Mitglied ist offline   NightTiger 

  • Gruppe: aktive Mitglieder
  • Beiträge: 701
  • Beigetreten: 19. März 06
  • Reputation: 0
  • Wohnort:Bern
  • Interessen:Webdesign -&gt; (X)HTML, CSS, ein bisschen PHP und ein bisschen JavaScript ;))

geschrieben 22. Oktober 2006 - 21:45

Zitat

' date='22.10.2006, 22:20' post='760308']
Das ist schon da wo es hingehört^^


ich meinte, du sollst alle Dateien zum includen in einen eigenen Ordner tun :) dann können nur Dateien aus diesem Ordner includet werden ;)
0

#14 Mitglied ist offline   [Elite-|-Killer] 

  • Gruppe: aktive Mitglieder
  • Beiträge: 762
  • Beigetreten: 02. Oktober 05
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Passau

geschrieben 22. Oktober 2006 - 21:52

Das bezog sich auf das Post verschieben -.-
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0