problem mit switches

ähm. oder könnteste mir das nicht so umschreiben dass es passt? der codeabschnitt ist:

Code:
<? if($seite == "" || $action == "members") {
echo "<center><a href=\"index2.php?action=addmember\">Add Member</a></center><br>";
$datei = file("members");
$linien = sizeof($datei);
if ($linien == 0) echo "<center><b>-No Members-</b></center>";
else { ?>
<table blablabla

was muss ichn da ändern? ich kapier es net.
 
also ich würde das ganze so machen, um deine Switch-Anweisung ein wenig zu verbessern.

Erstmal zu deinem Link mit den "news.php?seite=id...".

Mach doch den link einfach einfach auf die Index.php bezogen. Also "index.php?action=news&id=...". So wird die Datei News.php includet und du musst dann nur noch über $_GET['id'] die richtige ID rauslesen. Das $_GET steht dann abe schon in der news.php. Somit verlinkst du immer auf die Index.php und die zusätzlichen Optionen, die du für die speziellen Unterseiten brauchst hängst du einfach an die URL an.

So nun zu deiner Switch-Anweisung. Man könnte auch alles in Array schreiben:

PHP:
<?php

$asite = array(
 "news" => "news.php", 
 "member" => "member.php",
 "sponsoren" => "sponsoren.php"
); 

if(!empty($asite[$_GET['action'])) {
 include($asite[$_GET['action']);
} else {
 echo 'Die Seite ist nicht verfügbar';
}
?>

So wird es meiner Meinung nach übersichtlicher und das Array kannst du ja in einer seperaten Datei schreiben und somit auch auf anderen Seiten benutzen wenn du es brauchst :)

Hoffe ich habe dein Problem damit beschrieben.

Und zu der Membersache:

Mach einfach ein Link, wie KristophS es schon sagte, mit "index.php?action=addmember"

In deine Switch-Anweisung, oder in das Array, fügst du dann einfach:

case "addmember": include("addmember.php"); break;

ein oder eben:

"addmember" => "addmember.php",


In einer Unterseite machst du dann höchstens noch ebend eine If-Abfrage, damit nicht jeder irgendwelche beliebige Seiten aufrufen kann. Sollte eigentlich nicht so schwer zu verstehen sein.
 
Zuletzt bearbeitet:
jaaa. sehr jut. gut erklärt. hab ich sogar verstanden :D

bis auf das mit der get id. weil woher woll er die denn nehmen?

das mit einer rubrick in den switch einfügen is ja lässig. einfach nur dazu schreiben. aber ich kann ja nicht für jede news n eigenen eintrag manuel dazu schreiben.

oder statt news die member. wie bau ich das denn ein, dass er die member id selber rauskriegt und in dem link im switch wieder ausgibt?

hier die komplette datei:

http://www.ghost-games.argon.webspace24.de/webclan200/members.php
 
Du willst zum Beispiel eine bestimmte news anzeigen, wenn du auf einen Link klickst. Dann heisst der Link eben "index.php?action=news&id=10". Das ist für die News mit der ID=10.

In deiner Switch-Anweisung steht nach wie vor

PHP:
case "news": include("news.php"); break;

Diese zweite Variable in dem Link interessiert deine Switch-Anweisung nicht, die brauch nur deine News-seite zu interessieren. Also muss in deiner News-Seite sowas zum Beispiel stehen.
PHP:
<?php
if($_GET['action'] == "news") {
 //die zusatzliche übergebene Variable 'id' in der Variablen 'news_id' speichern
 $news_id = $_GET['id'];

 //news mit der entprechenden id auslesen
 leseNews($news_id);
}

Ich hoffe du weißt nun worauf es ankommt. Die Variable 'action', die du in dem Link mit übergibst ist für das Switch verantwortlich. Die anderen Variablen dahinter sind eben nur für die Unterseiten, wie news.php oder members.php, wichtig.

Konnte es leider nur mit News erklären, weil ich nciht verstehe was du meinst. Die members.php geht bis auf den "zurück"-Link, weil du dann irgendwas versuchst, was total unnütz ist. Also ich weiß nciht, ob du überhaupt verstehst was du machst ;) Sorry. Aber hast du denn überhaupt das Tutorial verstanden. Da sprichst du die index.php an. Keine anderen Dateien. Diese werden mit include hinzugefügt.

Der Link auf das "+" muss nicht an die members.php gerichtet sein in deiner Seite sondern an die index2.php. Also "index2.php?action=member&seite=memberdetails&member=0"
 
Zuletzt bearbeitet:
hm. nu hab ich alles verstanden.

aber ich krieg es einfach nicht umgesetzt.
könnte nicht einer von euch 5 mins opfern und mir das gerade umschreiben?

damit ich das endlich mal richtig sehe und meine fehler merke.

büdde. bin noch ziemlicher php neuling und hab mir die scripts aus tutorials etc zusammengesucht.

rararchiv


selbst wenn nicht...vielen lieben dank. echt nett von euch dass ihr mir soviel geholfen habt :)
 
Hier ich habe mich mal erbarmt und dir das Ding geschrieben. Aber ich sage dir mal so. Versuche noch viel zu lernen. Du hast es nötig. Wenn ich zum Beispiel dein Array gesehen habe...Naja. Vielleicht solltest du erstmal lernen, wie Arrays aufgebaut sind und wie ich das ein paar Posts weiter oben gemeint hatte.

Ich weiß nicht ob es 100% funktioniert, aber ich habe das was ich gesehen habe geändert.
 
Zuletzt bearbeitet:
Man hier kann man ja nichtmal nachträglich einen Anhang verändern. Dummerweise hab ich zuerst den alten gelöscht und dann einen neuen dranzuhängen versucht. Was aber nicht geht :(
 

Anhänge

Du bist n schatz.

nu noch das allerletzte prob......das attachment gibt es nicht. is ungültig :D

aber vielen, vielen dank. ich hab auch angefangen mich damit intensiver zu befassen. aber ich dachte am besten is learning by doing, statt stundenlang irgendwelche trockenen seiten zu wälzen.

kannste das nochmal uppen?

THX!
 
Also bei mir gehts. Hab auch nochmal ein richtiges hochgeladen. Bei dem vorherigen hatte ich ausversehen vergessen die index.php zu speichern und musste es nochmal neu machen.
 
Zurück