Rainer: (Java Script) String im Link eines Buttons

Hallo,

Ich hab nen Link der über einen Button übergeben wird per onclick.
dort drin steht dann eine variable in der durchaus auch mal zeichen wie & oder ; oder ' oder " vorkommen können.

<input type="button" value="egal" onclick="location.href='index.php?p=egal&message=<?php echo $message; ?>'">

was darf nicht alles in $message drin stehen?
bzw. wie codiere und decodiere ich diese zeichen?

MfG Rainer

  1. Hallo Rainer,

    bzw. wie codiere und decodiere ich diese zeichen?

    Du suchst folgendes:

    -> URL verschlüsseln http://de3.php.net/manual/de/function.urlencode.php
    -> URL entschlüsseln http://de3.php.net/manual/de/function.urldecode.php

    Grüsse AndreD

  2. Moin!

    <input type="button" value="egal" onclick="location.href='index.php?p=egal&message=<?php echo $message; ?>'">

    was darf nicht alles in $message drin stehen?

    Das doppelte Anführungszeichen wäre blöd, weil das das HTML-Attribut vorzeitig beenden würde. Das darf keinesfalls vorkommen.

    Das einfache Anführungszeichen wäre auch blöd, weil das den Javascript-String vorzeitig beenden würde.

    &-Zeichen wären blöd, weil die als Einleitung eines neuen Parameters gewertet werden würden. Und diverse andere Zeichen, die besondere Bedeutung in der URL haben, wären auch blöd.

    bzw. wie codiere und decodiere ich diese zeichen?

    urlencode() von AndreD wurde genannt. Ich verwende aber auch sehr gerne rawurlencode() - funktioniert im Prinzip genauso gut, codiert aber mehr Zeichen. Das ist nicht zwingend von den URL-Vorschriften vorgeschrieben, aber ich hatte schon mal (ist lange her) Fälle, wo urlencode()  nicht gut funktioniert hat, aber rawurlencode().

    - Sven Rautenberg

    --
    Die SelfHTML-Developer sagen Dankeschön für aktuell 20885,68 Euro Spendengelder!