alpe: Cookies: mehrere Werte in einem trennen und in JS auslesen

Hallo,

ich versuche in einem Cookie mehrere Werte abzuspeichern und handhabe das in etwa so:

  
if(isset($_COOKIE['vernames'])) {  
  $names = $_COOKIE['vernames'];  
  $names.=",".$name;  
  setcookie('vernames',$names,time()+60*60*24,"/");  
}  
else {  
  setcookie('vernames',$nmlname,time()+60*60*24,"/");  
}  

Per Javascript versuche ich nun diese Werte auszulesen

  
var names = readCookie("vernames");  
if(names!=null) {  
  var nameArr = names.split(",");  
}  

Das funktioniert leider nicht, da beispielsweise beim Client im Cookie statt wie gewünscht
vernames=myHome,myCastle
leider nur
vernames=myHome%2CmyCastle
ankommt.

Ich habe es auch schon mit einem decodeURI() nach dem cookie auslesen probiert, aber das hilft leider auch nicht.

Ich steh jetzt auf dem Schlauch. Was fehlt da noch?

Gruß alpe

  1. Hi,

    Das funktioniert leider nicht, da beispielsweise beim Client im Cookie statt wie gewünscht
    vernames=myHome,myCastle
    leider nur
    vernames=myHome%2CmyCastle
    ankommt.

    Ja, Sonderzeichen werden idR. URL-kodiert.

    Ich habe es auch schon mit einem decodeURI() nach dem cookie auslesen probiert, aber das hilft leider auch nicht.

    Problem nicht nachvollziehbar -
    alert(decodeURI("myHome%2CmyCastle"))
    gibt "myHome,myCastle" aus.

    Hilfe gegen "hilft leider auch nicht": </hilfe/charta.htm#tipps-fuer-fragende>

    MfG ChrisB

    --
    Light travels faster than sound - that's why most people appear bright until you hear them speak.
    1. Problem nicht nachvollziehbar -
      alert(decodeURI("myHome%2CmyCastle"))
      gibt "myHome,myCastle" aus.

      Bei mir gibt das "myHome%2CmyCastle" aus.

      Allerdings funktioniert es, wenn ich decodeURIComponent nutze.
      In der selfHTML Beschreibung steht dazu man soll es nur auf Adressen oder Komponenten anwenden die mit encodeURIComponent kodiert wurden.
      Kann ich damit ein Problem bekommen, bzw. wo liegt die Gefahr?

      1. Hi!

        Problem nicht nachvollziehbar -
        alert(decodeURI("myHome%2CmyCastle"))
        gibt "myHome,myCastle" aus.

        Bei mir gibt das "myHome%2CmyCastle" aus.

        Wenn Du in deiner Browseraddresszeile javascript:alert(decodeURI("myHome%2CmyCastle")) eingibst, steht dort kein Komma?

        Welchen Browser nutzt Du gleich noch?

        --
        "Die Diebesgilde beklagte sich darueber, dass Mumm in aller Oeffentlichkeit behauptet hatte, hinter den meisten Diebstaehlen steckten Diebe."
              - T. Pratchett
        1. Wenn Du in deiner Browseraddresszeile javascript:alert(decodeURI("myHome%2CmyCastle")) eingibst, steht dort kein Komma?

          Welchen Browser nutzt Du gleich noch?

          Ich hatte den Test mit einem alert aus dem Quelltext gemacht und dort funktioniert es nicht.
          In der Adresszeile funktioniert es allerdings!

          Ich nutze Firefox 3.5.2 (hier Shiretoko genannt) auf Archlinux(x86_64).