Weitere Switch verlinkung im neuen Abschnitt

matze1983

Erfahrenes Mitglied
Hallo Leute,

es ist schwierig jetzt meine Frage zu erklären, aber ich gebe mir mühe.
Mein Hauptmenü wird über einen Switch verlinkt mit mehreren cases, wie man es halt kennt. Nun aber möchte ich auf eine externe Seite verlinken, dies funktioniert nur bis jetzt noch nciht, weil ich nicht genau weis wie. Hab schon vieles probiert, mit mehreren Switches und so weiter, nur es klappt nicht, weil die Url dann nicht stimmt.

also das ist das ein untermenü auf der Seite von dort möchte ich weiter verlinken
auf http://www.nb-jungs.de/seiten/user/login.php
ich muss hier quasi den ordner wechseln bei der Verlinkung. Hier weis ich nciht weiter, den mit nem weiteren case knüpfe ich nur an, müsste aber jedoch quasi ein teil der url löschen und dann ergänzen, damit es passt.
PHP:
 switch($userpage)
{
    case gallerie:
    $userpage= "seiten/jungs/gallerie.php";
    break;
    case sich:
    $userpage= "seiten/jungs/sich.php";
    break;
    case ge:
    $userpage= "seiten/jungs/ge.php";
    break;
    case ge:
    $userpage= "seiten/users/login.php"; // hier wo ich nicht weiter komme
    break;
    default:
    $userpage= "seiten/jungs/start.php";
    break;
}
 
Deine login.php liegt laut deinem Beispiellink in dem Ordner "user",
allerdings schreibst du im switch "users"!
Des weiteren hast du 2 cases die auf "ge" prüfen und btw vielleicht die Strings auch als solche in Hochkomma oder Anführungszeichen setzen. (also case 'gallerie': etc)
Wenn dich das noch nicht weiterbringt, könntest du mal versuchen den ganzen Pfad zu den Dateien anzugeben!

MfG
 
Hi,
ja es war schon spät gestern und ich hab da ein bissl mist gemacht :-(

normaler weise schaut es so aus bei mir
PHP:
switch($userpage)
{
    case gallerie:
    $userpage= "seiten/jungs/gallerie.php";
    break;
    case sich:
    $userpage= "seiten/jungs/sich.php";
    break;
    case ge:
    $userpage= "seiten/jungs/ge.php";
    break;
    default:
    $userpage= "seiten/jungs/start.php";
    break;
}
und das funktioniert alles super.
nur soll mit dem zusätzlichem link von der Seite, auf eine neue Seite verwiesen werden, quasi ein neues Fenster aufgemacht werden, aber so dass der Pfad bei behalten wird.
Der Link wäre ja quasi
Code:
"seiten/users/login.php"
, aber dies kann ich ja nicht mit diesem switch realisieren, weil es ja nicht in die gleiche Seite eingefügt werden soll, wie die anderen dort.
So sieht die Verlinkung bei gallerie z.B.aus.
Code:
a href='?inhalt=jungs&userpage=gallerie'
Es wird alles immer in den contentbereich includiert.

Ein 2. Switch wäre doch quatsch hier zu bauen oder?
und falls nicht, habe ich es schon ausprobiert, wobei ich dann immer noch nicht klar komme mit der URL.
Gibts da eine Zweckdienliche Lösung? Glaub ich stelle mich hier zu blöd an.
Hoffe das diese Beschreibung meines Problemchens weiter hilft.
 
Zuletzt bearbeitet:
Also, um dein Problem richtig zu verstehen:
Wenn du einen Link, z.B. ?inhalt=jungs&userpage=gallerie, aufrufst, dann wird deine
komplette Seite ausgegeben und der entsprechende Teil - hier die Galerie - im Hauptteil der Seite eingefügt. Nun willst du aber erreichen, dass, im Falle des Aufrufs der Login-Seite, nur das Login-Formular ausgegeben wird, sozusagen ohne die restliche Seite drumherum (und das Ganze in einem neuen Fenster -> target="_blank").
Das nun über dein vorhandenes include-System zu lösen wird vermutlich etwas unschön, bzw. mir fällt da jetzt spontan nur ein, da mittels Output-Buffer rumzupfuschen ;)
Kannst du nicht versuchen früher anzusetzen und den Sonderfall "Login" anderweitig abzufangen ?
 
hmm wie meinst du das mit vorherabfangen? welche Lösung fällt dir da ein?
also es soll erst da aufgerufen werden, weil dort die Profile zu sehen sind der einzelnen User...und wenn er dann auf den Link klickt, so soll er in den Userbereich, wo er seine Page modifizieren kann kommen.
Also so wie du es meinst, sollte ich wohl entweder im Anfangsmenü nen link setzen oder ich müsste es quasi auch in die gleiche Seite laden lassen(das würde jedoch unschön aussehen-find ich). Naja eine weitere Altenative wäre es mit HTML zu machen,..also die übliche Verlinkung, aber dort sieht man ja die originale Adresse und sieht auch nicht schön aus.Hmm das ist schwer.
Wozu würdest du mir raten?
 
Ich kenne das Funktionsprinzip deines Seitenaufbaus nicht, aber was ich mir jetzt zusammengereimt habe ist, dass an der Stelle, wo du den Inhalt einbindest bereits HTML generiert (gesendet) wurde. D.h., wenn du nun deine Userverwaltungsseite über deinen Include-Management-Switch einbindest, ist der HTML-Code für deine Seite bis zum Inhaltsteil schon generiert (also NB-Jungs-Logo, Navigationsbuttons etc).
Um das so zu machen müsstest du irgendwie dafür sorgen, dass im Falle des Aufrufs der Userverwaltungsseite der Teil übergangen wird, der dein Seitendesign erstellt.
Unschöner Lösungsansatz:
durch ein Konstrukt in der Form
PHP:
if($_GET['inhalt'] != 'jungs' && $_GET['userpage'] != 'userverwaltung'){
// normale Scriptabarbeitung
}

// hier jetzt dein Inhalts-include

if($_GET['inhalt'] != 'jungs' && $_GET['userpage'] != 'userverwaltung'){
// weitere normale Scriptabarbeitung
}
Also dass praktisch im Sonderfall ?inhalt=jungs&userpage=userverwaltung im Prinzip dein ganzes Script übergangen wird.

MfG
 
ne ich möchte dort nichts includieren. Nicht in dieser Seite. Es soll "target='_blank'" sein. nun muss ich aber dort ja auch mit variablen weiter machen. Ich hatte mir da sowas überlegt
PHP:
switch($userlog)
{
    case userstart:
    $userlog="userstart.php";
    break;	
}

und dann
Code:
<a href='$login.?userlog=userstart' target='_blank' >
aber das ergibt kein sinn, da ich wieder vor dem alten Problem stehe, besser gesagt, es funktioniert nicht.Aber ich muss mit URL arbeiten, da später die session id rangehangen wird, drum muss ich das ja irgendwie hinbekommen.
Ich müsste ja quasi die ?inhalt..wo alles beginnt herausbekommen...den ?inhalt bezieht sich ja auf den Content der ursprünglichen Seite.
Falls das alles nicht geht, wie wäre es denn sonst üblich, damit alles abgerundet und "schön" ist?
MfG
 
Hallo drucko,

du wirst es nicht glauben ich bin auf den bescheurten Fehler meiner Denkweise gekommen:-( und zwar ist mir aufgefallen, das es bei tutorials auch nicht anders gemacht wird. Ich klickte mich ein wenig durch die Foren etc. und da viel es mir auf das man quasi ja nur den Ornder öffnen kann, von dem man dann wieder variablen ranhängen kann. Und dann fiel es mir wieder ein, wie sowas geht. Also hab ich einfach eine neue index datei in dem odner gemacht und nun geht das.:-)
aber dennoch Danke für deine Hilfe

MfG
 
Hat sich doch noch nicht erledigt,..leider.

Also ich bin jetzt soweit, dass ich die die url so öffne
Code:
http://www.nb-jungs.de/seiten/user/
quasi über eine index.php im Ordner "user".

die index.php schaut dort so aus

PHP:
switch($eingabe)
{
    case 'userdaten':
    $eingabe = "management/userdaten.php";
    break;
    case 'userinhalt':
    $eingabe = "management/userinhalt.php";
    break;
    case 'userthemen':
    $eingabe = "management/userthemen.php";
    break;
    case 'gallerie':
    $eingabe = "management/gallerie.php";
    break; 
    case 'pass':
    $eingabe = "management/passwort.php";
    break;
    default:
    $eingabe= "management/willkommen.php";
    break;
}

include($eingabe);


also die url schaut dann wenn man z.B: userdaten klickt so aus
Code:
http://www.nb-jungs.de/seiten/user/index.php?eingabe=userdaten
ich meine was ist daran falsch, es funktioniert ja so auch über die index datei im Hauptverzeichnis.
Oder könnte es an den verwendeten Userid liegen..weil ich muss sagen das script wird durch ein login abgesichert.
 
Zurück