Computer Hardware Forum - TweakPC

Computer Hardware Forum - TweakPC (https://www.tweakpc.de/forum/)
-   Programmiersprachen (https://www.tweakpc.de/forum/programmiersprachen/)
-   -   PHP addslashes() Problem mit Textfeldern in Formularen (https://www.tweakpc.de/forum/programmiersprachen/23869-php-addslashes-problem-mit-textfeldern-formularen.html)

EoN 20.03.2005 16:25

PHP addslashes() Problem mit Textfeldern in Formularen
 
Hallo,

ich habe ein kleines Problem mit einem PHP Script und nachdem ich mit Google nichts vernünftiges gefunden habe, stell ich die Frage mal hier rein.

Und zwar habe ich in meiner SQL DB einen HTML Link drinnen: "<a href="http://..." target="_blank">...</a>"
Wenn ich diesen jetzt in die Var $test einlese und ihn per echo ausgebe wird der Link richtig gesetzt.

Jetzt habe ich ein Formular erstellt, mit dem man den Eintrag in einem einzeiligen Textfeld bearbeiten kann. Wenn ich hier jetzt das Feld erstelle:
[code]<input type="text" name="test" size="30" value="<?php echo $test; ?>">[/code], dann wird das ganze durch die Anführungszeichen natürlich nicht richtig geparsed.
Wenn ich aber die Variable $test durch addslashes() laufen lasse, bekomme ich ebenfalls nicht das gewünschte Ergebnis und die Anführungszeichen werden nicht richtig verarbeitet.
Ob ich das echo mit "" oder ohne schreibe spielt dabei für die Ausgabe keine Rolle.

Wie kann ich den Link in das Eingabefeld richtig laden?
Bin für jeden Tipp dankbar. :D

Ah ja magic_quotes ist komplett auf dem Server ausgeschalten.

TwinView 20.03.2005 16:42

AW: PHP addslashes() Problem mit Textfeldern in Formularen
 
[code]<input type="text" name="test" size="30" value=", <?php echo $test; ?>, ">[/code]

Wobei ich hier anmerken muss das ich sogut wie kein PHP kann, also bitte nicht böse sein wenn es nicht geht. ;)


EDIT: bzw mal so probieren.
[code]<?php echo '<input type="text" name="test" size="30" value="', $test, '">'; ?>[/code]

EDIT 2: Hoppla, hatte in Version zwei was vergessen.

EoN 20.03.2005 16:53

AW: PHP addslashes() Problem mit Textfeldern in Formularen
 
[QUOTE=TwinView][code]<input type="text" name="test" size="30" value=", <?php echo $test; ?>, ">[/code]

Wobei ich hier anmerken muss das ich sogut wie kein PHP kann, also bitte nicht böse sein wenn es nicht geht. ;)


EDIT: bzw mal so probieren.
[code]<?php echo '<input type="text" name="test" size="30" value=", $test, ">'; ?>[/code][/QUOTE]
Ja ist auch eher nen HTML Problem, wie ich grad seh.

Und zwar in der Maskierung der Zeichen. PHP und HTML maskieren ihre Zeichen ja jeweils anders, hatte das total vergessen. Danke auf alle Fälle schonmal.

tele 20.03.2005 16:57

AW: PHP addslashes() Problem mit Textfeldern in Formularen
 
moin,

bin da auch net soo der experte, aber versuchs mal damit:

[url]http://de3.php.net/manual/de/function.htmlspecialchars.php[/url]

und entsprechenden verlinkungen

bei weiteren Fragen entweder warten bis smoek was postet oder ihm ne pn schreiben


Gruß

tele

TwinView 20.03.2005 17:15

AW: PHP addslashes() Problem mit Textfeldern in Formularen
 
[QUOTE=EoN]Ja ist auch eher nen HTML Problem, wie ich grad seh.

Und zwar in der Maskierung der Zeichen. PHP und HTML maskieren ihre Zeichen ja jeweils anders, hatte das total vergessen. Danke auf alle Fälle schonmal.[/QUOTE]

Keinen Plan was du meinst. Die zweite Version funzt (jetzt) zumindest bei mir wenn ich ne Variable $test hab. (was zwei kleine Striche ausmachen können)

EoN 20.03.2005 18:02

AW: PHP addslashes() Problem mit Textfeldern in Formularen
 
[QUOTE=tele]moin,

bin da auch net soo der experte, aber versuchs mal damit:

[url]http://de3.php.net/manual/de/function.htmlspecialchars.php[/url]

und entsprechenden verlinkungen

bei weiteren Fragen entweder warten bis smoek was postet oder ihm ne pn schreiben


Gruß

tele[/QUOTE]
Jap danke, genau das wars. Hatte immer nach dem php Special Chars gesucht, aber vergessen, dass ich ja die HTML eigentlich brauche. ;)

Danke :)

tele 20.03.2005 23:26

AW: PHP addslashes() Problem mit Textfeldern in Formularen
 
np,

das mit dem ganzen chars in sonstwas für sonstwas umwandeln und noch \ und / adden ist in php irgendwie total blöd gelöst, aber naja - wenigstens in die funktionshilfe, auch inklusive den ganzen comments & tipps am ende dieser sehr hilfreich

gruß

tele

smoek 24.03.2005 00:44

AW: PHP addslashes() Problem mit Textfeldern in Formularen
 
also isses gelöst?

HTML hat für sowas keine Escapes, lässt sich aber leicht escapen bzw in entities umwandeln mit htmlspecialchars($input,ENT_QUOTES);

BTW: Es ist inzwischen erlaubt, HTML-Attribute in einfachen Hochkommas zu definieren, das wäre dann wohl das einfachste. Allerdings musste dann wieder schauen, dass keine einfachen Hochkommas in $test sind :)[code]echo "<input type='text' name='test' size='30' value='".$test."'>";[/code](was übrigens etwas schneller ist, da der PHP parser nicht zwischen HTML und PHP umschalten muss.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:11 Uhr.

Powered by vBulletin® Version 3.8.10 (Deutsch)
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
SEO by vBSEO 3.5.2 ©2010, Crawlability, Inc.