auswahlliste aus seiten generieren, versuch mit der listennavigation |
Willkommen, Gast ( Anmelden | Registrierung ) [ Hilfe | Mitglieder | Suche ]
auswahlliste aus seiten generieren, versuch mit der listennavigation |
Wed. 9. May 2007, 07:31
Beitrag
#1
|
|
purist Gruppe: AdvancedMembers Beiträge: 1.525 Mitglied seit: 30.06.2006 Wohnort: luzern (schweiz) Mitglieds-Nr.: 16 |
guten morgen zusammen
aus einem ordner mit diversen seiten soll eine auswahlliste generiert werden. die auswahlbox selber habe ich mit der listennavigation verwirklicht. mit der aktuellen konfiguration (siehe screenshot), erhalte ich jedoch statt www.domain.tld/sefrengo/ueber-uns/philosophie.htmldie url www.domain.tld/sefrengo/?=ueber-uns%2Fphilosophie.html. scheinbar mag/übergibt das value gewisse zeichen nicht reibungslos. kann mir jemand einen tipp geben, wie ich mein problem behebe? oder muss ich das in form action="" an ein php-script übergeben, welches mir dann die gewünschte url zurückliefert? bin froh um jede hilfe :-) gruss andi modulkonfig.jpg ( 51.13KB ) Anzahl der Downloads: 58 -------------------- |
|
|
Wed. 9. May 2007, 08:52
Beitrag
#2
|
|
Advanced Member Gruppe: Moderators Beiträge: 911 Mitglied seit: 26.06.2006 Wohnort: Essen; Ruhrgebiet Mitglieds-Nr.: 4 |
Mal ne ganz doofe Frage, aber warum nutzt du in der drop downbox das cms://idcatside constuct?
Sollte nicht {link} das gleiche Ergebniss bringen? -------------------- |
|
|
Wed. 9. May 2007, 09:00
Beitrag
#3
|
|
purist Gruppe: AdvancedMembers Beiträge: 1.525 Mitglied seit: 30.06.2006 Wohnort: luzern (schweiz) Mitglieds-Nr.: 16 |
sali sascha
jaja, du hast natürlich recht, dass das unfug ist. ist noch ein «altes» artefakt von meinen versuchen :-), das ganze anderst zu lösen. allerdings ist mit {link} auch das selbe problem vorhanden. gruss andi -------------------- |
|
|
Wed. 9. May 2007, 10:05
Beitrag
#4
|
|
Advanced Member Gruppe: Moderators Beiträge: 911 Mitglied seit: 26.06.2006 Wohnort: Essen; Ruhrgebiet Mitglieds-Nr.: 4 |
Verstehe. Leider bin ich damit dann auch raus.
Klingt seltsam, wird wohl tatächlich was mit der Darstellungsform zu tun haben. Vielleicht weiß ja einer der Core-Kenner Rat! -------------------- |
|
|
Wed. 9. May 2007, 12:49
Beitrag
#5
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 613 Mitglied seit: 30.06.2006 Mitglieds-Nr.: 30 |
Ich vermute eher es hängt mit mod_rewrite zusammen. Die Listnavi kann sozusagen nicht mit "cms://idcatside=15" umgehen. Schreib mal nur das in dein Feld Seite. Ist garantiert das Gleiche.
Uups, nu hab ichs geschrieben Mit {link} passiert das auch dann behandelt Sefrengo jedes value mit URL-encode, oder sowas??? -------------------- |
|
|
Wed. 9. May 2007, 12:53
Beitrag
#6
|
|
purist Gruppe: AdvancedMembers Beiträge: 1.525 Mitglied seit: 30.06.2006 Wohnort: luzern (schweiz) Mitglieds-Nr.: 16 |
Mit {link} passiert das auch dann behandelt Sefrengo jedes value mit URL-encode, oder sowas??? scheint so irgendwas zu sein, funktioniert auch ohne mod-rewrite nicht. gruss andi -------------------- |
|
|
Wed. 9. May 2007, 13:00
Beitrag
#7
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 613 Mitglied seit: 30.06.2006 Mitglieds-Nr.: 30 |
Erstell doch einfach mal ein Modul mit
QUELLTEXT <select> <option value="cms://idcatside=15" /> <option value="http://www.domain.tld/sefrengo/ueber-uns/philosophie.html" /> <option value="http://www.domain.tld/sefrengo/?=ueber-uns%2Fphilosophie.html" /> </select> dann weist du erst mal das es nicht an der Navi liegt. -------------------- |
|
|
Wed. 9. May 2007, 13:15
Beitrag
#8
|
|
purist Gruppe: AdvancedMembers Beiträge: 1.525 Mitglied seit: 30.06.2006 Wohnort: luzern (schweiz) Mitglieds-Nr.: 16 |
hallo olaf
ja, funktioniert alles auch nicht. die value wird immer umgewandelt. -------------------- |
|
|
Wed. 9. May 2007, 14:14
Beitrag
#9
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 154 Mitglied seit: 03.07.2006 Mitglieds-Nr.: 91 |
also bei mir hat's auf ner testseite funktioniert, habe den select-Eintrag im Feld Ebene folgendermaßen geändert:
QUELLTEXT <select name="selectUrl" onchange="top.location.href=this.form.selectUrl.options[this.form.selectUrl.selectedIndex].value">{layer}</select> Ansonsten habe ich deine Einstellung vom Screenshot benutzt, ausser dass ich für value {link} benutzt habe. Alles mit mod_rewrite 2 |
|
|
Wed. 9. May 2007, 14:22
Beitrag
#10
|
|
purist Gruppe: AdvancedMembers Beiträge: 1.525 Mitglied seit: 30.06.2006 Wohnort: luzern (schweiz) Mitglieds-Nr.: 16 |
hallo paulinsche
das geht natürlich, allerdings nur mit eingeschaltetem javascript. gerade für eine derartige navigation nicht sonderlich förderlich. danke dir aber trotzdem. gruss andi -------------------- |
|
|
Wed. 9. May 2007, 15:02
Beitrag
#11
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 613 Mitglied seit: 30.06.2006 Mitglieds-Nr.: 30 |
Hier wird doch gern verschoben!
Dann ab damit zu den Bugs -------------------- |
|
|
Thu. 10. May 2007, 13:37
Beitrag
#12
|
|
Administrator Gruppe: Members Beiträge: 1.092 Mitglied seit: 16.06.2006 Wohnort: Köln Mitglieds-Nr.: 1 |
Das ist kein Bug. Setzt euch bitte mit den Grundlagen von HTML Formularen und dessen Verarbeitung in PHP auseinander!
http://www.galileocomputing.de/openbook/php4/kapd.htm Eine URL die per GET übergeben wird, wird immer "rawurlencodiert". Durch einen Zugriff mit $GET_['variablename'] mappt PHP das automatisch wieder zurück. Damit auf den Variablenamen zugegriffen werden kann, sollte aber erst einmal einer vergeben werden. QUELLTEXT <select name="variablename"> {layer}</select> Desweiteren ist die Übergabemethode (GET oder POST) im Formularkopf anzugeben. QUELLTEXT <form action="http://.../skript.php" method="get">
-------------------- Es wird, es wird...
|
|
|
Thu. 10. May 2007, 19:14
Beitrag
#13
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 613 Mitglied seit: 30.06.2006 Mitglieds-Nr.: 30 |
Das würde also dann wohl bedeuten wenn es ein korrektes Formular wäre würde es laufen!?
QUELLTEXT <form action="index.php" method="get"> <div> <select name="variablename"> <option value="cms://idcatside=15">URL1</option> <option value="http://www.domain.tld/sefrengo/ueber-uns/philosophie.html">URL2</option> <option value="http://www.domain.tld/sefrengo/?=ueber-uns%2Fphilosophie.html">URL3</option> </select> </div> </form> Andi? -------------------- |
|
|
Fri. 11. May 2007, 07:11
Beitrag
#14
|
|
purist Gruppe: AdvancedMembers Beiträge: 1.525 Mitglied seit: 30.06.2006 Wohnort: luzern (schweiz) Mitglieds-Nr.: 16 |
eeeeeehm, danke. mir ist noch nicht so klar, was ich auf der skript.php (oder wie auch immer ich die nennen werde) machen muss, damit mir nachher die korrekte url wiedergegeben wird.
muss mich da erst ein bischen informieren :-). wird aber irgendwann nächste woche. gruss andi -------------------- |
|
|
Sun. 13. May 2007, 11:37
Beitrag
#15
|
|
purist Gruppe: AdvancedMembers Beiträge: 1.525 Mitglied seit: 30.06.2006 Wohnort: luzern (schweiz) Mitglieds-Nr.: 16 |
so, hatte endlich zeit die weiten des internets zu durchforschen (mangelnds können). dabei habe ich die tipps von björn aufgegriffen und folgende php-datei eingesetzt:
QUELLTEXT <?php $url = $_REQUEST['galeriename']; if ( '' == $url ) { $url = 'http://' . $_SERVER['HTTP_HOST'] . '/'; } header( "Location: $url" ); ?> zwei probleme habe ich allerdings noch: 1. wenn die php z.b nach cms/php/auswahl.php verschiebe und die pfade anpasse werde ich auf www.domain.tld/cms/php/seite umgeleitet statt nach www.domain.tld/seite. edit: konnte ich mit header( "Location: ../../$url" ); richtigstellen 2. das ganze ist aber nicht so sicher, weil nicht geprüft wird, ob der request von der eigenen seite kommt und der refferer ja auch manipuliert werden kann. nach welchem ansatz könnte ich mich auf die suche machen? gruss andi -------------------- |
|
|
Mon. 14. May 2007, 10:21
Beitrag
#16
|
|
Administrator Gruppe: Members Beiträge: 1.092 Mitglied seit: 16.06.2006 Wohnort: Köln Mitglieds-Nr.: 1 |
Laut HTTP Spezifikation müssen header redirects immer eine absolute URL enthalten. '../../' Urls sind da eine schlechte Idee. Warum setzt Du vor jede übergebene URL nicht einfach $_SERVER['HTTP_HOST'] und damit den richtigen absoluten Pfad? Dann hättest Du auch Dein Problem Nr.2 gelöst, da nur redirects auf Deinen HOST gemacht werden können.
Vor dem Setzen des header() - Befehls, solltest Du noch mit einen preg_match prüfen, ob es sich bei $url um eine gültige URL handelt. Momentan ist es in dem Skript noch möglich, das durch $_REQUEST['galeriename'] beliebiger Code übergeben werden kann. -------------------- Es wird, es wird...
|
|
|
Mon. 14. May 2007, 10:27
Beitrag
#17
|
|
purist Gruppe: AdvancedMembers Beiträge: 1.525 Mitglied seit: 30.06.2006 Wohnort: luzern (schweiz) Mitglieds-Nr.: 16 |
danke björn, kämpfe mich diese woche irgendwann mal durch :-)
gruss andi -------------------- |
|
|
Mon. 14. May 2007, 21:55
Beitrag
#18
|
|
purist Gruppe: AdvancedMembers Beiträge: 1.525 Mitglied seit: 30.06.2006 Wohnort: luzern (schweiz) Mitglieds-Nr.: 16 |
auch auf die gefahr hin, mich hier lächerlich zu machen :-)
wäre das hier so ok für den anfang? oder soll die regel auch gleich abchecken, ob die richtige domain genutzt wird? QUELLTEXT <?php
$url = "http://" . $_SERVER["HTTP_HOST"] . "/sefrengo/" . $_REQUEST["galeriename"]; if (preg_match('=(http)://[a-z0-9]([a-z0-9-]*[a-z0-9])?\.[a-z0-9]=i', $url)) { header("Location: $url"); } else { echo "falsche url"; } ?> -------------------- |
|
|
Tue. 15. May 2007, 08:13
Beitrag
#19
|
|
Administrator Gruppe: Members Beiträge: 1.092 Mitglied seit: 16.06.2006 Wohnort: Köln Mitglieds-Nr.: 1 |
Sieht doch schon ganz passable aus. Der preg_match fängt Headerinjections ab, da er keine Whitspaces zulässt und die Redirects funktionieren nur auf Deinem Server.
Warum Du den preg_match gerade so gemacht hast, wie Du Ihn gemacht oder kopiert hast, darüber könnte man jetzt noch diskutieren. Aber wenn es für Dich läuft, ist es OK. -------------------- Es wird, es wird...
|
|
|
Tue. 15. May 2007, 08:22
Beitrag
#20
|
|
purist Gruppe: AdvancedMembers Beiträge: 1.525 Mitglied seit: 30.06.2006 Wohnort: luzern (schweiz) Mitglieds-Nr.: 16 |
super björn, danke!
vielleicht bastel ich noch ein modul daraus. wird zwar keiner brauchen aber zur übung ganz gut -------------------- |
|
|
Vereinfachte Darstellung | Aktuelles Datum: 26.4.24 - 13:38 |