Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
SmokyMcPot Newcomer
Angemeldet: 11.02.2005 Beiträge: 9 Wohnort: Landsberg a. Lech
|
Verfasst am: 25.02.2005, 22:17 Titel:
Get_Requests |
|
|
|
|
Hi,
i've got a problem ^^
Bin Anfänger auf dem Gebiet.
Und zwar gibt es auf meiner seite eine seite (request.inc.php) die im switch case verfahren die anderen seiten aufruft
Code: | <?php //==> Requests für die Navi
if(isset($_GET['request'])) {
switch($_GET['request']) {
case "mitglieder":
include "tpl/mitglieder.php";
break;
case "impressum":
include "tpl/impressum.php";
break;
default: // Wenn eine ungültige Section angegeben wurde
// sollen die News gezeigt werden
include "tpl/news.php";
break;
}
} else {
// wenn section nicht angegeben wurde
// sollen die News angezeigt werden.
include "tpl/news.php";
}
?> |
Nun möchte ich aber bei der Seite (guestbook.php) ein weitere GET Methode anwenden.
Das gästebuch wird mit "main.php?request=guestbook" aufgerufen. Um einen Eintrag hinzuzufügen möchte ich diese URL übergeben: "main.php?request=guestbook&action=add"
Dies wird auch über den Link getan, aber was muss ich jetzt in der request.inc.php verändern?
Ich hätte da ne Vorahnung, weiß aber nicht ob sie stimmt:
Code: |
if(isset($_GET['request'])) && (isset($_GET['action'])) {
|
Weiter weiß ich soger nicht mehr =/
Ich würde euch danken wenn ihr mir weiterhelfen könntet =)
.:: SmokyMcPot ::. |
|
Nach oben |
|
|
unex`9dots Administrator
Angemeldet: 02.08.2003 Beiträge: 1106 Wohnort: Karlsruhe Interessen: Coding, Segeln, Schwimmen, PC
|
Verfasst am: 25.02.2005, 22:55 Titel:
|
|
|
|
|
sorry aber ich kapiere dein Problem nicht
btw: das else nach dem switch kannst du dir sparen.... |
|
Nach oben |
|
|
Flown Mitglied
Angemeldet: 07.02.2005 Beiträge: 37 Wohnort: Kirchheim, BW
|
Verfasst am: 26.02.2005, 11:48 Titel:
|
|
|
|
|
Code: |
<?php
switch($_GET['request']):
case "guestbook":
include "tpl/guestbook.php";
if($action == "add") {
// Code zum Eintragen
}
break;
default:
// request nicht gesetzt oder ungültig
include "tpl/news.php";
break;
endswitch;
?>
|
uneX hat folgendes geschrieben: | btw: das else nach dem switch kannst du dir sparen.... |
nein kann er nicht weil er ja bei nicht-gesetzter variable "request" die news anzeigen will. du dachtest wahrscheinlich an das default, oder? =) |
|
Nach oben |
|
|
unex`9dots Administrator
Angemeldet: 02.08.2003 Beiträge: 1106 Wohnort: Karlsruhe Interessen: Coding, Segeln, Schwimmen, PC
|
Verfasst am: 26.02.2005, 15:05 Titel:
|
|
|
|
|
ups k ... warum auch immer er da ein isset benutzt und nicht einfach nur ein switch...
edit: wie ich sehe hast dus ihm ja wenigstens ohne das isset gepostet |
|
Nach oben |
|
|
Flown Mitglied
Angemeldet: 07.02.2005 Beiträge: 37 Wohnort: Kirchheim, BW
|
Verfasst am: 26.02.2005, 16:05 Titel:
|
|
|
|
|
es wäre interessant mal den gesamten code zu sehen und alle unnötigen code-zeilen zu zählen =)
ein if mit nem switch drin, beidesmal mit der gleichen variable, ist wohl mit eines der unnötigsten dinge die es gibt |
|
Nach oben |
|
|
SmokyMcPot Newcomer
Angemeldet: 11.02.2005 Beiträge: 9 Wohnort: Landsberg a. Lech
|
Verfasst am: 26.02.2005, 16:27 Titel:
|
|
|
|
|
Wie gesagt, ich lerne noch. Alles aus einem tutorial, und dort wurden zwei schreibweisen empfohlen. Vielleicht ist die andere ja besser
( config.inc.php )
Code: | <?php
$dateien = array(); // ein Leeres Array erzeugen
$dateien['news'] = "tpl/news.php";
$dateien['mitglieder'] = "tpl/mitglieder.php";
$dateien['guestbook'] = "tpl/guestbook.php";
$dateien['geschichte'] = "tpl/geschichte.php";
// usw...
?> |
-----------
( request.inc.php )
Code: | <?php
if(isset($_GET['request']) AND isset($dateien[$_GET['request']])) {
include $dateien[$_GET['request']];
} else {
include $dateien['news'];
}
?> |
--- EOF ---
@Flown: dein Code hat funktioniert, klar
Aber leider (logischerweise) includet er hintereinander. Was aber meine Variablen nicht gut tut.
Ich denke der Code oben ist einfacher zu modifizieren!?
.:: SmokyMcPot ::. |
|
Nach oben |
|
|
Flown Mitglied
Angemeldet: 07.02.2005 Beiträge: 37 Wohnort: Kirchheim, BW
|
Verfasst am: 26.02.2005, 17:38 Titel:
|
|
|
|
|
Zitat: | Aber leider (logischerweise) includet er hintereinander. Was aber meine Variablen nicht gut tut.
Ich denke der Code oben ist einfacher zu modifizieren!?
|
ich versteh nur bahnhof, bitte spezifizieren =) |
|
Nach oben |
|
|
SmokyMcPot Newcomer
Angemeldet: 11.02.2005 Beiträge: 9 Wohnort: Landsberg a. Lech
|
Verfasst am: 26.02.2005, 18:00 Titel:
|
|
|
|
|
Flown hat folgendes geschrieben: | Zitat: | Aber leider (logischerweise) includet er hintereinander. Was aber meine Variablen nicht gut tut.
Ich denke der Code oben ist einfacher zu modifizieren!?
|
ich versteh nur bahnhof, bitte spezifizieren =) |
Ich meißtens auch
Nehmen wir an ich include das Guestbook mit deiner variante. Dann erscheint das Gästebuch. Danach if($_GET['action'] == "add") includet er die Datei "addentry"
Dann zeigt er mir auf einer Seite beide includest. Das heißt, es stehen die Einträge von dem Gästebuch auf einer Seite, und darunter eigentlich das Formular zum "Eintrag hinzufügen", wenn dort nicht fehler auftauchen würden.
Wie gesagt, ich nehme von euren Kommentaren an das die switch Methode zu kompliziert ist, oder nicht empfehlenswert.
Ich versuche mich gerade mit der neuen Methode (array)
.:: SmokyMcPot ::. |
|
Nach oben |
|
|
Flown Mitglied
Angemeldet: 07.02.2005 Beiträge: 37 Wohnort: Kirchheim, BW
|
Verfasst am: 26.02.2005, 20:52 Titel:
|
|
|
|
|
ACHSO (!!)
sags doch gleich, ich dachte den code selber, der die einträge vom formular in die datenbank macht =)
du meinst das formular selber ... direkt aneinander vorbei
Code: |
<?php
switch($_GET['request']):
case "guestbook":
if(isset($_GET['action'])) {
include "tpl/addentry.php";
} else {
include "tpl/guestbook.php";
}
break;
default:
// request nicht gesetzt oder ungültig
include "tpl/news.php";
break;
endswitch;
?>
|
Zitat: |
Wie gesagt, ich nehme von euren Kommentaren an das die switch Methode zu kompliziert ist, oder nicht empfehlenswert.
Ich versuche mich gerade mit der neuen Methode (array)
|
O_o
switch = einfach
array = je nach dimension, ob assoziativ usw. -> schwer |
|
Nach oben |
|
|
SmokyMcPot Newcomer
Angemeldet: 11.02.2005 Beiträge: 9 Wohnort: Landsberg a. Lech
|
Verfasst am: 26.02.2005, 21:59 Titel:
|
|
|
|
|
Wenn ich die Lösung sehe, erscheint sie mir immer so einfach
Ich danke dir!
der Thread kann zu
.:: SmokyMcPot ::. |
|
Nach oben |
|
|
Flown Mitglied
Angemeldet: 07.02.2005 Beiträge: 37 Wohnort: Kirchheim, BW
|
Verfasst am: 27.02.2005, 03:19 Titel:
|
|
|
|
|
wobei beim letzten script nur abgefragt wird ob die variable "action" da ist, egal ob sie add, delte, update ... lautet - also aufgepasst =) |
|
Nach oben |
|
|
SmokyMcPot Newcomer
Angemeldet: 11.02.2005 Beiträge: 9 Wohnort: Landsberg a. Lech
|
Verfasst am: 27.02.2005, 16:50 Titel:
|
|
|
|
|
Hi flown
Da du ja sagtest das es egal ist was man hinter dem $_GET['action'] eingibt, hab ich ne andere Lösung gesucht. Weil ich auch noch andere Action requests gebrauche.
Code: | <?php
// die Datei inhalt.php
if(isset($_GET['request']))
{
switch($_GET['request'])
{
case "geschichte":
include ("tpl/geschichte.php");
break;
case "guestbook":
if (isset($_GET['action']))
{
switch ($_GET['action'])
{
case "add":
include ("../guestbook/addentry.php");
break;
default:
include ("tpl/error.php");
break;
}
} else {
include ("../guestbook/index.php");
}
break;
default: // Wenn eine ungültige Section angegeben wurde
// sollen die News gezeigt werden
include ("tpl/error.php");
break;
}
} else {
// wenn section nicht angegeben wurde
// sollen die News angezeigt werden.
include "tpl/error.php";
}
?> |
nochmals danke flown. Du hast mir sehr geholfen
Im gegensatz zu anderen, die nicht mal ne Ahnung hatten was ich wollte *pfeif*
.:: SmokyMcPot ::. |
|
Nach oben |
|
|
Flown Mitglied
Angemeldet: 07.02.2005 Beiträge: 37 Wohnort: Kirchheim, BW
|
Verfasst am: 27.02.2005, 18:04 Titel:
|
|
|
|
|
Code: | <?php
switch($_GET['request']):
case "guestbook":
if($_GET['action'] == "add") {
include "tpl/addentry.php";
} else {
include "tpl/guestbook.php";
}
break;
default:
// request nicht gesetzt oder ungültig
include "tpl/news.php";
break;
endswitch;
?> |
und - um himmels willen - lass die if-anweisung am anfang weg und schreib net so unnötigen code, von dem die hälfte unnötig ist
edit: "unnötig" <-- schweres wort ... =)
Zuletzt bearbeitet von Flown am 27.02.2005, 21:06, insgesamt 3-mal bearbeitet |
|
Nach oben |
|
|
unex`9dots Administrator
Angemeldet: 02.08.2003 Beiträge: 1106 Wohnort: Karlsruhe Interessen: Coding, Segeln, Schwimmen, PC
|
Verfasst am: 27.02.2005, 18:34 Titel:
|
|
|
|
|
jetzt musst du ja wirklich nur noch copy&paste machen
Zitat: | Im gegensatz zu anderen, die nicht mal ne Ahnung hatten was ich wollte *pfeif* Auf den Arm nehmen |
da dein code allerdings nciht gerade von großer Coding Leidenschaft zeugt wäre UNS sehr geholfen wenn du dich besser ausdrücken würdest *pfeif* |
|
Nach oben |
|
|
vercci Mitglied
Angemeldet: 10.04.2019 Beiträge: 436162
|
|
Nach oben |
|
|
|