Willkommen, Gast ( Anmelden | Registrierung )     [ Hilfe | Mitglieder | Suche ]

 
Reply to this topicStart new topic
> auswahlliste aus seiten generieren, versuch mit der listennavigation
andi
Beitrag 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



Angehängte Datei  modulkonfig.jpg ( 51.13KB ) Anzahl der Downloads: 58


--------------------
Go to the top of the page
 
+Quote Post
saschapi
Beitrag 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?


--------------------
Go to the top of the page
 
+Quote Post
andi
Beitrag 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


--------------------
Go to the top of the page
 
+Quote Post
saschapi
Beitrag 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! wink.gif


--------------------
Go to the top of the page
 
+Quote Post
Olaf
Beitrag 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 wink.gif
Mit {link} passiert das auch sad.gif dann behandelt Sefrengo jedes value mit URL-encode, oder sowas???


--------------------
Gruß Olaf aus Ohorn

Lieber spät und richtig als nie und falsch.
Go to the top of the page
 
+Quote Post
andi
Beitrag 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



ZITAT(Olaf @ Wed. 9. May 2007, 13:49) *
Mit {link} passiert das auch sad.gif dann behandelt Sefrengo jedes value mit URL-encode, oder sowas???


scheint so irgendwas zu sein, funktioniert auch ohne mod-rewrite nicht.


gruss andi


--------------------
Go to the top of the page
 
+Quote Post
Olaf
Beitrag 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.


--------------------
Gruß Olaf aus Ohorn

Lieber spät und richtig als nie und falsch.
Go to the top of the page
 
+Quote Post
andi
Beitrag 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.


--------------------
Go to the top of the page
 
+Quote Post
paulinsche
Beitrag 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
Go to the top of the page
 
+Quote Post
andi
Beitrag 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


--------------------
Go to the top of the page
 
+Quote Post
Olaf
Beitrag 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! wink.gif

Dann ab damit zu den Bugs rolleyes.gif


--------------------
Gruß Olaf aus Ohorn

Lieber spät und richtig als nie und falsch.
Go to the top of the page
 
+Quote Post
bjoern
Beitrag 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...
Go to the top of the page
 
+Quote Post
Olaf
Beitrag 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? smile.gif


--------------------
Gruß Olaf aus Ohorn

Lieber spät und richtig als nie und falsch.
Go to the top of the page
 
+Quote Post
andi
Beitrag 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


--------------------
Go to the top of the page
 
+Quote Post
andi
Beitrag 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


--------------------
Go to the top of the page
 
+Quote Post
bjoern
Beitrag 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...
Go to the top of the page
 
+Quote Post
andi
Beitrag 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


--------------------
Go to the top of the page
 
+Quote Post
andi
Beitrag 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";
}
?>


--------------------
Go to the top of the page
 
+Quote Post
bjoern
Beitrag 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...
Go to the top of the page
 
+Quote Post
andi
Beitrag 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 tongue.gif


--------------------
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 Besucher lesen dieses Thema (Gäste: 1 | Anonyme Besucher: 0)
0 Mitglieder:

 



RSS Vereinfachte Darstellung Aktuelles Datum: 26.4.24 - 13:38

Sefrengo ist ein eingetragenes Markenzeichen und urheberrechtlich geschützt.
Copyright 2009 Design & Daten, Alle Rechte vorbehalten.