ach nix geht, ich blick das nicht.
text in textarea problem
Einklappen
X
-
du hast doch bestimmt schon dir richtigen threads gefunden. oder?
eingabe via form:
- prüfen auf get_magic_quotes_gpc()
- bei 'aktiviert' (1) einfach stripslashes() machen.
speichern in die db:
- mysql_escape_string() anwenden
laden aus der db:
- prüfen auf get_magic_quotes_runtimes()
- bei 'aktiviert' (1) einfach stripslashes() machen.
ausgeben von daten:
- verwenden von htmlentities()
jetzt sollte es aber klarer sein. oder?
wenn nicht, kann ich dir auch nicht mehr helfen.
-----
hier noch ne mini-test-datei zum spielen .....PHP-Code:<?php
$tf = isset($_POST['textfeld']) ? trim($_POST['textfeld']) : '';
$ta = isset($_POST['textarea']) ? trim($_POST['textarea']) : '';
$tf = get_magic_quotes_gpc() ? stripslashes($tf) : $tf;
$ta = get_magic_quotes_gpc() ? stripslashes($ta) : $ta;
?>
<form action="" method="post">
<input type="text" name="textfeld" value="<?php echo htmlentities($tf); ?>"><br />
<textarea name="textarea" rows="10" cols="50"><?php echo htmlentities($ta); ?></textarea><br />
<input type="submit" name="" value=" test ">
<form>
<pre>
<?php
print_r($_POST);
?>
</pre>
<hr size="1">
<?php
show_source(__FILE__);
?>INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |
Kommentar
-
hab unter php.net geschaut
PHP-Code:
<?php
$item = "Zak's Laptop";
$escaped_item = mysql_escape_string($item);
printf("Escaped string: %s\n", $escaped_item);
?>
$news = mysql_escape_string($news)
zu machen hat nix gebracht..
also nun versuch ich es nochmal:
PHP-Code:
if ($edit != '') {
$sqlbefehl= "Select * FROM $tab_news where id = $edit";
$ergebnis = mysql_query($sqlbefehl, $serverid);
$news = mysql_fetch_array ($ergebnis);
$tnews = isset($news[news]) ? trim($news[news]) : '';
$tnews=get_magic_quotes_runtime() ? stripslashes($tnews) : $tnews;
<textarea name="news" wrap="virtual" tabindex="2" ><?php echo htmlentities($tnews); ?>
ist das so richtig ??
PHP-Code:
$tnews = isset($tnews) ? trim($tnews) : '';
$tnews = get_magic_quotes_gpc() ? stripslashes($tnews) : $tnews;
$sqlbefehl = "update $tab_news set news='$tnews' where id=$edit";
if (!$ergebnis = mysql_query($sqlbefehl, $serverid))
echo mysql_error($serverid);
Konservative sind sehr für den Fortschritt sofern der auf der Stelle tritt. ( Norman Mailer )
Kommentar
-
Original geschrieben von Kleinschmidt
ist das so richtig ??
Original geschrieben von Kleinschmidt
sonst weiß ich auch nicht weiter
aber du hast mysql_escape_string() beim updaten vergessen. auch solltest du vars NIEMALS direkt in einen string schreiben.
PHP-Code:$sqlbefehl = "update ".$tab_news." set news = '".mysql_escape_string($tnews)."' where id = ".(int)$edit;
INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |
Kommentar
-
oh gott das wird ja immer schlimmer ...
was hab ich den bei dem oberen falsch gemacht?
- prüfen auf get_magic_quotes_gpc()
- bei 'aktiviert' (1) einfach stripslashes() machen.
PHP-Code:$tnews = isset($news[news]) ? trim($news[news]) : '';
$tnews=get_magic_quotes_runtime() ? stripslashes($tnews) : $tnews;
???
und bei dem
PHP-Code:$sqlbefehl = "update ".$tab_news." set news = '".mysql_escape_string($tnews)."' where id = ".(int)$edit;
PHP-Code:
$sqlbefehl = "update $tab_news set titel='$titel',news='$news',time='$zeit',kategorie='$kategorie',name='$name',allowkom='0', newsformat='html',pdf='$pdf_alt' where id=$edit";
if (!$ergebnis = mysql_query($sqlbefehl, $serverid))
echo mysql_error($serverid);
habs jetzt so gemacht
PHP-Code:
$sqlbefehl = "update $tab_news set titel='$titel',news='".mysql_escape_string($tnews)."',time='$zeit',kategorie='$kategorie',name='$name',allowkom='0', newsformat='html',pdf='$pdf_alt' where id=$edit";
if (!$ergebnis = mysql_query($sqlbefehl, $serverid))
echo mysql_error($serverid);
Konservative sind sehr für den Fortschritt sofern der auf der Stelle tritt. ( Norman Mailer )
Kommentar
-
ich habe keine lust mehr dir zu helfen, wenn du weiterhin meine ratschläge nicht annimmt und/oder total falsch umsetzt. sorry, aber das kann ich mir sparen.INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |
Kommentar
-
oh man was soll ich den machen, ich kenn mich nun mal nicht so gut aus!
und das skript was ich habe is scho ziehmlich lang und komplex .
Und ich hab es nicht programiert, ich änder nur sachen daran.
Ich dank dir trotzdem für deine große hilfe.
wenn trotzdem ein auge auf das komplette skript werfen wilst hier :Angehängte DateienKonservative sind sehr für den Fortschritt sofern der auf der Stelle tritt. ( Norman Mailer )
Kommentar
-
Original geschrieben von Kleinschmidt
wenn trotzdem ein auge auf das komplette skript werfen wilst hier :
schliesslich bist du auch nicht in der lage mal eben das extra für dich
gepostete mini-script oben mal zu testen, und damit zu spielen.
für sich betrachtet und NICHT IN DEINEM CODE.
ausserdem kannst du auf gleicher weise mal ein mysql-dummy machen.
desweiteren kotzt es mich an, dass du noch nicht einmal in der lage
bist, mysql_escape_string() auf ALLE string richtung DB anzuwenden.
desweiteren hast du immer noch alle variablen in einem string direkt drin.
wenn du also noch nicht einmal die minimalsten ansätze hast, die
gegebenen tipps umzusetzen, kann/werde ich dir nicht mehr
helfen.INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |
Kommentar
-
O.K. du hast sicherlich recht.
Ich werd mir den ganzen thread nocham rein ziehen und nochmal von vorn anfangen deine Tips mir genauer anzuschauen.
ja und du hast auch recht ich hab nicht mit deinem extra geposteten Skript rumgespielt. ich hab gleich versucht die sachen umzusetzen.
...
trotzallem danke ich dir für deine Hilfe.
gruss saschaKonservative sind sehr für den Fortschritt sofern der auf der Stelle tritt. ( Norman Mailer )
Kommentar
-
Hast du dir mal den editierten String ausgeben lassen, bevor du ihn in die DB schreibst?
Also
PHP-Code:echo $_POST['news'];
// wobei es so aussieht als wenn du Register Globals On hast,
// also reicht
echo $news;
Mach das mal weg (das gehört eh nicht zum HTML-Standard). Damit sollte dein Problem aber eigentlich nix zu tun haben ...
Kommentar
-
Hallo BlobBanana,
ja hab mir den String mal ausgeben lassen mit hilfe von Abraxax extra für mich geschrieben skriptes.
hab den Fehler gefunden, denk zwar das das unsauber ist aber ich hab das "wrap" und enctype... gelöscht seitdem läuft es wieder tadellos.
Aber trotzdem danke.Konservative sind sehr für den Fortschritt sofern der auf der Stelle tritt. ( Norman Mailer )
Kommentar
Kommentar