[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Keine Leerzeichen in input type=text erlaubt? - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Benutzeravatar
katharina
Beiträge: 61
Registriert: 28. Jan 2006, 15:08

Keine Leerzeichen in input type=text erlaubt?

18. Jun 2008, 11:45

Hallo!
Ich baue mir gerade ein Modul zusammen und bin auf einen merkwürdigen Fehler gestoßen.

Moduleingabe:

Code: Alles auswählen

<strong>Titel</strong>:<br />
<input type="text" name="VALUE[1]" value="REX_VALUE[1]" size="80" class="inp100" />
Modulausgabe:

Code: Alles auswählen

<?php

// Überschrift
$titel = "";

if ("REX_VALUE[1]" != "") {
    $titel = REX_VALUE[1];
}
   else {
   $titel = 'Kein Titel vorhanden!';
   }

echo "<p>" . $titel . "</p>";

?>
Ist ja erstmal simpel.
Probleme gibt es, wenn ich für Titel etwas mit Leerzeichen eingebe, dann gibts eine Fehlermeldung.
Parse error: syntax error, unexpected T_STRING in f:\teddystiftung2008\redaxo\include\classes\class.rex_article.inc.php(596) : eval()'d code on line 130

Wieso??? Bei normalen Formularen auf Webseiten habe ich das oft und da geht das mit Leerzeichen.

Wenn ich das ohne php einfach <p>REX_VALUE[1]</p> ausgebe geht es, mit echo REX_VALUE[1] dann nicht...
Stehe auf dem Schlauch...

Danke und Gruß,
Katharina

bit
Beiträge: 35
Registriert: 9. Dez 2007, 17:39
Kontaktdaten: Website

18. Jun 2008, 12:41

Hallo Katharina,

funktioniert es wenn du

Code: Alles auswählen

$titel = REX_VALUE[1];
gegen

Code: Alles auswählen

$titel = "REX_VALUE[1]"; 
austauschst?

Gruß
Jürgen

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

18. Jun 2008, 15:10

Hi,

die Lösung von Jürgen geht, solange kein " eingegeben wird.

Beste Lösung ist folgende:
$titel = htmlspecialchars_decode("REX_VALUE[1]");

Das sollte uneingeschränkt mit allen Sonderzeichen o.ä. gehen. (seit REDAXO 4.1)

Gruß,
Markus

zehbaeh
Beiträge: 556
Registriert: 17. Okt 2006, 11:52
Wohnort: Solingen

18. Jun 2008, 15:33

hmm...mit htmlspecialchars_decode sollte man dann aber besser kein '<' eingeben.

Siehe zb.:
http://www.edition-w3.de/TR/1999/REC-ht ... type-cdata

PS: Im konkreten Fall werden die Daten ja sogar ausserhalb einer Eigenschaftswertzuweisung verwendet, und somit müsste auch '>' maskiert (bzw. als Entity angegeben werden.

PS@Markus: Warum sollen denn die Entities in konkrete Zeichen umgewandelt werden, das kann ich gerade nicht nachvollziehen. Die Anführungszeichen bereiten doch in 4.1 bei Verwendung von "REX_VALUE[x]" keine Probleme mehr, oder hab ich was verpasst?)

Zurück zu „Allgemeines [R4]“