webstatt.org Forum ChatRegistrierungKalenderMitgliederlisteTeammitgliederSucheHäufig gestellte FragenZur Startseite
 

webstatt.org Forum » Webdesign und Programmierung » HTML / XHTML » Formular verunstaltet die Zeichenkette » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Formular verunstaltet die Zeichenkette
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Dustwolf Dustwolf ist männlich
Tipp-Prophet 2006


images/avatars/avatar-261.jpg

Dabei seit: 02.03.2006
Beiträge: 843

Formular verunstaltet die Zeichenkette Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Also, wenn ich ein Formular abschicke, per PHP auswerten will und dann folgendes erhalte, ist das irgendwie kontraproduktiv. Und zwar werden gewisse Zeichen ja escaped. Das schaut dann so aus:
code:
1:
2:
3:
4:
5:
6:
7:
<?php

  echo 'Dies ist ein Test';

?>

code:
1:
2:
3:
4:
5:
6:
7:
<?php

  echo \'Dies ist ein Test\';

?>

code:
1:
2:
3:
4:
5:
6:
7:
<?php

  echo \\\'Dies ist ein Test\\\';

?>

Und so weiter. Der PHP-Code der dahinter steht, sieht so aus:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:

<?php
  echo $_POST['text'].'<br><br>'.highlight_string($_POST['text'], true);
?>
<form action="test.php" method="POST">
<textarea cols="64" rows="20" wrap="OFF" name="text"><?php echo $_POST['text']; ?></textarea>
<input type="submit" value="senden">
</form>


PHP bzw. das Script an sich scheint aber nur ein Escape zu erkennen:
code:
1:
2:
3:
4:
5:
6:
7:
<?php

  echo 'Dies ist ein Test\\\';

?> 

Zumindest laut Highlight_string().

Das Problem scheint ja beim Formular zu liegen. Ansonsten bitte einfach ins PHP-Forum verschieben! Danke,schonmal...

__________________
Dustwolf
-------------------------
Und wenn du lange in einen Abgrund blickst, blickt der Abgrund auch in dich hinein.
F. Nietzsche

05.10.2006 10:53 Dustwolf ist offline Homepage von Dustwolf Beiträge von Dustwolf suchen Nehmen Sie Dustwolf in Ihre Freundesliste auf Fügen Sie Dustwolf in Ihre Kontaktliste ein
Franky Franky ist männlich
Vorarbeiter


images/avatars/avatar-207.gif

Dabei seit: 28.02.2006
Beiträge: 1.045
Herkunft: Deutschland : NRW

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

schonmal etwas von stripslashes(); gehört? Augenzwinkern

Hab hier gerade mal etwas für dich:
php:
1:
2:
3:
4:
5:
6:
7:
8:
// Slashes entfernen
if(get_magic_quotes_gpc()){
  if(is_array($_REQUEST)) $_REQUEST stripslashes_array($_REQUEST);
  if(is_array($_POST)) $_POST stripslashes_array($_POST);
  if(is_array($_GET)) $_GET stripslashes_array($_GET);
  if(is_array($_COOKIE)) $_COOKIE stripslashes_array($_COOKIE);
  if(is_array($_SERVER)) $_SERVER stripslashes_array($_SERVER);
}


Und die Funktion:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
// global.php zum stripslashes entfernen
function stripslashes_array(&$array){
  reset($array);
  foreach($array as $key => $value){
    if(is_string($value)) $array[$key] = stripslashes($value);
    elseif(is_array($value)) $array[$key] = stripslashes_array($value);
  }
  return $array;
}


so mach ich das zumindest Augenzwinkern darfst nur nicht vergessen in ner mysql_query() oder so wieder addslashes() zu verwenden smile

__________________


Seid ihr auch schon wix'r? xD
05.10.2006 11:05 Franky ist offline E-Mail an Franky senden Homepage von Franky Beiträge von Franky suchen Nehmen Sie Franky in Ihre Freundesliste auf Fügen Sie Franky in Ihre Kontaktliste ein AIM-Name von Franky: FrankyOn1990 YIM-Name von Franky: frankyon1990 MSN Passport-Profil von Franky anzeigen
Dustwolf Dustwolf ist männlich
Tipp-Prophet 2006


images/avatars/avatar-261.jpg

Dabei seit: 02.03.2006
Beiträge: 843

Themenstarter Thema begonnen von Dustwolf
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hatte mit Addslashes und so auch schon geschaut. Aber: Dann entfernt er doch auch die absichtlich escapeten Zeichen, oder?

Nachtrag: Getestet und es funktioniert auch bei absichtlichen "slashes". Vielen Dank dafür, hab ich mir lange den Kopf dran zerbrochen. großes Grinsen

__________________
Dustwolf
-------------------------
Und wenn du lange in einen Abgrund blickst, blickt der Abgrund auch in dich hinein.
F. Nietzsche

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Dustwolf: 05.10.2006 11:39.

05.10.2006 11:36 Dustwolf ist offline Homepage von Dustwolf Beiträge von Dustwolf suchen Nehmen Sie Dustwolf in Ihre Freundesliste auf Fügen Sie Dustwolf in Ihre Kontaktliste ein
sili sili ist männlich
Lehrling


images/avatars/avatar-21.gif

Dabei seit: 02.03.2006
Beiträge: 495
Herkunft: Zürich

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

So ist es etwas kürzer:

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
// wenn magic_quotes_gpc angeschaltet
if (get_magic_quotes_gpc()) {

    function my_stripslashes($var)
    {
        return is_array($var) ? array_map('my_stripslashes'$var) : stripslashes($var);
    }

    $_GET     array_map('my_stripslashes'$_GET);
    $_POST    array_map('my_stripslashes'$_POST);
    $_COOKIE  array_map('my_stripslashes'$_COOKIE);
    $_REQUEST array_map('my_stripslashes'$_REQUEST);
}


Allerdings testet das Script nicht, ob die Arrays überhaupt definiert sind.

Alternativ kannst du auch direkt die magic_quotes_gpc Direktive ändern.

Für MySQL verwendest du besser mysql_real_escape_string() Augenzwinkern
05.10.2006 12:56 sili ist offline E-Mail an sili senden Homepage von sili Beiträge von sili suchen Nehmen Sie sili in Ihre Freundesliste auf
Dustwolf Dustwolf ist männlich
Tipp-Prophet 2006


images/avatars/avatar-261.jpg

Dabei seit: 02.03.2006
Beiträge: 843

Themenstarter Thema begonnen von Dustwolf
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Jo, hab ich auch noch an meine Funktion angehängt. Meine Class schaut gleich, ob ich per Parameter ein Escapen verlange.

Dann kommen erst alle Slashes raus, dann wird der Text entsprechend veraendert und dann wird wieder escaped. großes Grinsen
Ich danke auf jeden Fall.

__________________
Dustwolf
-------------------------
Und wenn du lange in einen Abgrund blickst, blickt der Abgrund auch in dich hinein.
F. Nietzsche

05.10.2006 13:31 Dustwolf ist offline Homepage von Dustwolf Beiträge von Dustwolf suchen Nehmen Sie Dustwolf in Ihre Freundesliste auf Fügen Sie Dustwolf in Ihre Kontaktliste ein
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
webstatt.org Forum » Webdesign und Programmierung » HTML / XHTML » Formular verunstaltet die Zeichenkette

Impressum

Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH