fotzei: probleme bei variablenübergabe per url

hallo zusammen,

ich will bei einer url eine variable übergeben in der 2 getrennte wörter stehen. z.b. 'keine ahnung'.
es wird aber leider nur das erste wort übergeben. es kommt also immer nur 'keine' an.

woran kann das liegen?

vielen dank im voraus

fotzei

  1. Hallo fotzei

    Die übergebenen Wörter dürfen nicht getrennt stehen wenn du beide übergeben willst dann trenne sie durch + oder -.
    Wenn du die url einliest dann durchsuchts du den string mit hilfe von Regulären Ausdrücken und teilst damit den String "keine+Ahnung" in
    string1: keine
    string2: Ahnung

  2. Huhu

    das sollte Dir weiterhelfen

    http://www.php.net/manual/en/function.urlencode.php

    Viele Grüße

    lulu

    --
    bythewaythewebsuxgoofflineandenjoytheday
    1. dankeschön!

      hat wunderbar geklappt.

  3. ich will bei einer url eine variable übergeben in der 2 getrennte wörter stehen. z.b. 'keine ahnung'.
    es wird aber leider nur das erste wort übergeben. es kommt also immer nur 'keine' an.

    woran kann das liegen?

    URLs sind auf bestimmte Zeichen beschränkt (siehe http://www.w3.org/Addressing/rfc1738.txt, Absatz 2.2), deshalb sollte man seine Daten tunlichst mit urlencode() (http://www.php.net/manual/en/function.urlencode.php) kodieren.

    Bei der Gelegenheit: Das & gehört auch nicht in die URL, es muß dementspechend

    <a href="index.bla?name=Normaluser&vorname=Otto">

    heißen, nicht (wie es grundsätzlich verkehrt gemacht wird)

    <a href="index.bla?name=Normaluser&vorname=Otto">

    Siehe auch http://validator.w3.org.

    Gruß,
      soenk.e

    1. Hi,

      Bei der Gelegenheit: Das & gehört auch nicht in die URL,

      doch, das tut es - aber nicht in HTML-Code, denn dort ist es das Escape-Zeichen. Diese Kodierung:

      <a href="index.bla?name=Normaluser&vorname=Otto">

      ist also (natürlich) korrekt; jedoch hat das nicht das geringste mit URLs zu tun. Dass es sich beim Inhalt des href-Attributs um eine solche (bzw. eine URI) handelt, darf als Zufall betrachtet werden.

      Cheatah

      --
      X-Will-Answer-Email: No
      1. Hi Cheatah!

        doch, das tut es - aber nicht in HTML-Code, denn dort ist es das

        Das hast Du wirklich schön "gesagt".

        fastix

      2. Bei der Gelegenheit: Das & gehört auch nicht in die URL,

        <a href="index.bla?name=Normaluser&vorname=Otto">

        ist also (natürlich) korrekt; jedoch hat das nicht das geringste mit URLs zu tun. Dass es sich beim Inhalt des href-Attributs um eine solche (bzw. eine URI) handelt, darf als Zufall betrachtet werden.

        Ich bezog mich im Zusammenhang mit der gestellten Frage auf URLs im href-Attribut und hätte eigentlich erwartet, daß das auf Grund des besagten, meiner Meinung nach offensichtlichen Zusammenhangs der Erwähnung sowie des ausführlichen Beispiels eindeutig wäre.
        Nichtsdestotrotz bitte vielmals um Verzeihung für diese überaus grobe Nachlässigkeit, der Einwand ist natürlich richtig ;)

        Daß eine URL/URI nur zufälligerweise als Inhalt von href auftaucht soll, halte ich allerdings für ganz extrem erbsenzählerisch.

        Gruß,
          soenk.e

        1. Hi,

          Ich bezog mich im Zusammenhang mit der gestellten Frage auf URLs im href-Attribut und hätte eigentlich erwartet, daß das auf Grund des besagten, meiner Meinung nach offensichtlichen Zusammenhangs der Erwähnung sowie des ausführlichen Beispiels eindeutig wäre.

          Deine Antwort war hierauf bezogen korrekt, ihr mangelte es auch nicht an Verständlichkeit - wohl aber an Allgemeingültigkeit ;-) Insbesondere kann es zu der (falschen) Vermutung führen, man müsse URLs irgendwie anders behandeln als anderes, was zu Recht verwirrend wäre.

          Nichtsdestotrotz bitte vielmals um Verzeihung für diese überaus grobe Nachlässigkeit,

          Ich begnadige Dich hiermit *g*

          Daß eine URL/URI nur zufälligerweise als Inhalt von href auftaucht soll, halte ich allerdings für ganz extrem erbsenzählerisch.

          Sorry, das war anders gemeint: Die Regelung, "&" maskieren zu müssen (wenn sie als dieses Zeichen gemeint sind), gilt überall in HTML; auch wenn es sich "zufällig" um den Wert eines href-Attributs handelt, welcher natürlich eine URI repräsentiert.

          Cheatah

          --
          X-Will-Answer-Email: No
          1. Nichtsdestotrotz bitte vielmals um Verzeihung für diese überaus grobe Nachlässigkeit,

            Ich begnadige Dich hiermit *g*

            <verbeugung anzahl=3 art="untertänigst" wendepunkt="fußboden">Oh Gott, danke vielmals</verbeugung> ;)

            Daß eine URL/URI nur zufälligerweise als Inhalt von href auftaucht soll, halte ich allerdings für ganz extrem erbsenzählerisch.

            Sorry, das war anders gemeint: Die Regelung, "&" maskieren zu müssen (wenn sie als dieses Zeichen gemeint sind), gilt überall in HTML; auch wenn es sich "zufällig" um den Wert eines href-Attributs handelt, welcher natürlich eine URI repräsentiert.

            Soviel zum Thema "Offensichtliche Zusammenhänge".. ;)

            Gruß,
              soenk.e

            1. Hi,

              <verbeugung anzahl=3 art="untertänigst" wendepunkt="fußboden">Oh Gott, danke vielmals</verbeugung> ;)

              jiargl! Und da fragt man sich, weshalb ich bei vielen den Eindruck erwecke, überheblich zu sein... *g* ;-)

              Sorry, das war anders gemeint: [...]
              Soviel zum Thema "Offensichtliche Zusammenhänge".. ;)

              Oder zum Thema "verständliche Erklärung" ;-)

              Cheatah

              --
              X-Will-Answer-Email: No
            2. <verbeugung anzahl=3 art="untertänigst" wendepunkt="fußboden">Oh Gott, danke vielmals</verbeugung> ;)

              Der tag hat eine Anzahl, kann also mehrfach vorkommen. Er ist im Plural zu definieren.

              also: <verbeugungs ... >

              Grüße aus Genauheim.

              fastix

              1. <verbeugung anzahl=3 art="untertänigst" wendepunkt="fußboden">Oh Gott, danke vielmals</verbeugung> ;)

                Der tag hat eine Anzahl, kann also mehrfach vorkommen. Er ist im Plural zu definieren.

                also: <verbeugungs ... >

                Gngl..

                <kanonenkugels anzahl=5 ziel="fastix" />

                Besser? ;)
                  soenk.e

                1. Hi,

                  Der tag hat eine Anzahl, kann also mehrfach vorkommen. Er ist im Plural zu definieren.
                  also: <verbeugungs ... >

                  hrm? Hm.

                  <kanonenkugels anzahl=5 ziel="fastix" />
                  Besser? ;)

                  Nö. IMHO wäre der Plural dann (und _nur_ dann) angebracht, wenn das Element mehrere Singular-Elemente beinhaltet/beinhalten kann; also etwa <kanonenkugels><kanonenkugel anzahl="5" ziel="fastix"/><kanonenkugel anzahl="3" ziel="soenk.e"/></kanonenkugels>, denn schließlich ist die Anzahl der Kanonenkugeln eine _Eigenschaft_ des <kanonenkugel>-Elements, nicht dessen Wesen. Ferner möchte ich darauf hinweisen, dass zu einem ordentlichen well formed XML Anführungszeichen um die Attributwerte gehören.

                  Cheatah, SCNR ;-)

                  --
                  X-Will-Answer-Email: No
                  1. <kanonenkugels anzahl=5 ziel="fastix" />
                    Besser? ;)

                    Nö. IMHO wäre der Plural dann (und _nur_ dann) angebracht, wenn das Element mehrere Singular-Elemente beinhaltet/beinhalten kann; also etwa <kanonenkugels><kanonenkugel anzahl="5" ziel="fastix"/><kanonenkugel anzahl="3" ziel="soenk.e"/></kanonenkugels>, denn schließlich ist die Anzahl der Kanonenkugeln eine _Eigenschaft_ des <kanonenkugel>-Elements, nicht dessen Wesen.

                    Au fein, das kann ein richtig schöner Glaubenskrieg werden ;)

                    Ferner möchte ich darauf hinweisen, dass zu einem ordentlichen well formed XML Anführungszeichen um die Attributwerte gehören.

                    Auch um Zahlen? Ich habe mit XML nicht viel am Hut und hätte somit aus diesem sinnlosen Thread tatsächlich noch etwas gelernt .)

                    Prost,
                      soenk.e

    2. Hallo Soenke,

      Bei der Gelegenheit: Das & gehört auch nicht in die URL, es muß dementspechend

      Das musst Du mir aber bitte nochmal etwas genauer erklären:

      <a href="index.bla?name=Normaluser&vorname=Otto">

      Wenn das "&" in diesem Zeichnstrom ordnungsgemäß übertragen wird, dann wird es

      <a href="index.bla?name=Normaluser&vorname=Otto">

      doch hier erst recht übertragen.

      Wieso sollte es dann nicht gestattet sein? Wo im Server wird es denn abgetrennt? Der Query-String beginnt doch bei "?" und die Sonderzeichen "&" und "=" werden entsprechend interpretiert.

      Gilt denn die Regel für die HTML-eigenen Zeichen auch schon für den URi? Wenn ich ein dargestelltes "&" wünsche (also im datenwert enthalten), muss ich das doch url-encoden.

      Iat aber wirklich verwirrend das Ganze...

      Liebe Grüße aus http://www.braunschweig.de

      Tom

      --
      Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.
      1. Hi,

        Wenn das "&" in diesem Zeichnstrom ordnungsgemäß übertragen wird, dann wird es

        <a href="index.bla?name=Normaluser&vorname=Otto">
        doch hier erst recht übertragen.

        nein; weil der Client mit Fug und Recht versucht, die Entität "&vorname;" zu ersetzen (ja, trotz des fehlenden ";"). Klarer wird das Problem vielleicht, wenn Du z.B. "?name=Normaluser&copy=true" annimmst.

        Wieso sollte es dann nicht gestattet sein? Wo im Server wird es denn abgetrennt?

        Der Server erhält es nicht mehr.

        Gilt denn die Regel für die HTML-eigenen Zeichen auch schon für den URi?

        Die Regeln für HTML-Entitäten gelten innerhalb von HTML-Code. Ganz egal, was für eine semantische Bedeutung irgendeinem Wert irgendwann einmal zugeschrieben werden kann.

        Wenn ich ein dargestelltes "&" wünsche (also im datenwert enthalten), muss ich das doch url-encoden.

        Wenn der Server innerhalb eines Wertes ein "&" erkennen soll, muss dies als "%26" kodiert werden, richtig. Innerhalb von HTML heißt dies dann auch "%26", weil kein "&" vorkommt.

        Iat aber wirklich verwirrend das Ganze...

        Nein, eigentlich ist das alles sehr, sehr logisch. Dein einziger Fehler ist, dass Du den Attributwert als URL ansiehst - das ist er nämlich erst deutlich später ;-)

        Cheatah

        --
        X-Will-Answer-Email: No
        1. Hallo, Cheatah,

          Entität

          »Entität« ist meiner Meinung nach eine absolut fehlgeschlagene Übersetzung von »entity« - »Entität« ist im Deutschen mit einer grundlegend anderen Semantik vorbelegt. Siehe auch http://prdownloads.sourceforge.net/xsd-de/dictionary.html. In der Regel wird Entity offiziell als fremdsprachlicher Fachbegriff übernommen und nicht übersetzt.

          Mathias