• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Dringendes Problem mit HTML-Tags in Formularen

  • Ersteller Ersteller Le Thermo
  • Erstellt am Erstellt am
Status
Für weitere Antworten geschlossen.
L

Le Thermo

Guest
Hallo zusammen,

ich habe leider ein Problem, das mich sehr verwirrt und für das ich keine Antwort weiß. Hoffentlich könnt ihr mir helfen.

Es passiert folgendes:

Ich habe ein ganz normales HTML-Formular, das auf einem Online-Server liegt. Es umfasst auch eine Textarea, in die ich folgenden Text eingebe:



Text</p>


Hier</p>

Dann übermittle ich das ganze und es wird ausgegeben:

TextHier.

Die HTML-Tags sind verschwunden.

Bis Anfang der Woche war das noch nicht so. Dann habe ich mit einem neuen Gästebuch experimentiert und nun habe ich den Salat. Da muss irgendwas in den Grundeinstellungen verändert worden sein, denn:

Das gleiche Skript, nur auf einem anderen Server (meinem lokalen Rechner) erzeugt die gewünschte Ausgabe:



Text</p>


Hier</p>

Ich habe versucht durch den Befehl phpinfo herauszufinden, wo die Unterschiede zwischen OnlineServer und dem RechnerServer liegen. Einer liegt darin, dass magic_quotes_gpc auf dem localhost "on" ist, auf dem server "off".

Ist das vielleicht eine Möglichkeit? Wenn ja, wie ändere ich das?

Vielen Dank in voraus,

mit besten Grüßen,

Christian
 
ändern kannst du das in der php.ini; auf diese hast du jedoch nur Zugriff wenn du einen Rootserver hast...
 
Das löst mein Problem leider nicht, aber vielen dank für die Hilfe.

Ich würde das ganze gerne noch erweitern, um das Problem zu verdeutlichen. Dazu habe ich ein sehr einfaches Formular geschrieben.

schaut doch mal
http://cardinals2.mastershrimp.com/Test.php

an.

Schreibt



hhh</p>

in das textfeld und drückt auf "senden".

Wenn ihr dann den Seitenquelltext anschaut, dann wird euch auffallen, dass "hhh" ohne HTML-Tags dasteht. Wenn ich das auf meinem Rechner mache, dann sind diese sehr wohl noch da.

Der Code von Test.php ist:

<form name="form1" method="post" action="">
<textarea name="textarea"></textarea>



<input type="submit" name="Submit" value="Senden">
</p>
</form>

<?php
if ($_REQUEST["Submit"]=="Senden")
{
$SB=$_REQUEST["textarea"];
echo $SB;
}
?>

Mehr Code gibt es nicht und dennoch verschwinden die Tags. Woran kann das liegen?

Vielen Dank,

Christian
 
1. verwende bitte CodeTags (Verwendung steht in den FAQ)
2.
Code:
<?php
$html = if ($_REQUEST["Submit"]=="Senden")
{
$SB=$_REQUEST["textarea"];
echo $SB;
} 
   echo $html;
   echo "

";
   echo htmlentities($html);
?>

oder so ähnlich; ich würde eben htmlentities($SB); oder so was einbauen :wink:
 
Danke für deine Mühen! Leider hilft es mir in diesem Fall nicht.

Eigentlich soll der Inhalt der Textarea MIT den HTML-Tags in eine MySQL-Datenbank eingelesen werden. Wenn ich also in der Textarea bspw.

Hier</p> eingebe, dann soll in der Datenbank

Hier</p> gespeichert werden. Das ging bis vor drei Tagen wunderbar, nur plötzlich nicht mehr. Ich verstehe einfach nicht, was passiert ist und wie ich das ändern kann. Ich sitze hier auf glühenden Kohlen und weiß nicht mehr, was ich machen soll. Falls du oder jemand anders eine Idee hat, dann teilt es mir bitte mit!

Danke im voraus,

Christian
 
:arrow: http://de3.php.net/htmlentities

es soll die Ausgabe von HTML deaktivieren, ein bisschen falsch geschrieben ...

Code:
<?php
if ($_REQUEST["Submit"]=="Senden")
{
$SB=$_REQUEST["textarea"];
echo $SB;
echo htmlentities($SB);
}
?>
 
Danke für eure Hilfe!

WICHTIGE ERGÄNZUNG

Ich habe weiter geforscht und festgestellt, dass generell ALLES, was innerhalb von "<" und ">" steht rausgeschmissen wird... Das scheint wohl was damit zu tun zu haben und nicht mit HTML, oder?
 
Hm.. Vllt ist das eine Sicherheitskonfiguration vom Server..
Frag vielleicht mal bei deinem hoster nach.

Oder du hast irgendwo versehentlich strip_tags() drin :|

@w7 sein problem ist, dass kein html code ausgegeben wird, da brauch er htmlentities absolut nicht.
 
wofür brauchst du denn überhaupt die html befehle? Soll es ein Tutorial werden?
Wenn es nur darum geht, das ein Zeilenumbruch entsteht dann bau das ein:
Code:
$eingabe = nl2br($eingabe);
Wenn du die HTML befehle einbauen willst, weil du so den Text formatieren willst dann würde ich dir sowieso BB code nahelegen (Wie das geht findest du hier im Forum bei Tipps)
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben