Hallo vielleicht kann sich jemand mal mein Code anschauen ob das ungefähr richtig gemacht worden wurde oder ob etwas unnötig, späterhinaus Fehler erzeugt oder einfach zu handhaben geht.
Es geht drum POST Daten abschicken, in DB speichern und später wieder ausgeben.
Hier ist das mal am Beispiel einer Kommentarausgabe.
Die Formulardaten waren korrekt (Länge, Integer,etc.) Jetzt werden die Daten für die Db klar gemacht:
PHP-Code:
<?php
foreach ($_POST as $key => $value) {
$value = strip_tags($value);
$value = trim($value);
$_POST[$key] = $value;
}
?>
Dann eingefügt:
PHP-Code:
<?php
$sth = $db->prepare('INSERT INTO news_comments (newsid , date , author , email , comment) VALUES (?, ?, ?, ?, ?)');
$data = array($news['id'], time(), $_POST['author'], $_POST['email'], $_POST['comment']);
?>
In PHPMYADMIN bekomme ich in der Anzeige nun die Slashes vor allen Anführungszeichen dargestellt. Wenn ich einen DB Export mache habe ich vor jedem dieser Slashs noch einen Vorne dran also \\" ist das normal?
Falls das Formular fehlerhaft wird die daten zurückgegeben:
PHP-Code:
<?php
foreach ($_POST as $key => $value) {
$value = strip_tags($value);
$value = stripslashes($value);
$value = htmlentities($value);
$value = trim($value);
$_POST[$key] = $value;
}
$t->assign($_POST);
?>
Die Kommentare werden dann ausgegeben allerdings ist das ein bisschen Umständlich:
PHP-Code:
<?php
foreach ($comments as $key => $value) {
$value['comment'] = stripslashes($value['comment']);
$comments[$key]['comment'] = $value['comment'];
}
?>
Kann man features von Smarty(Validate) (Modikatoren) nutzen um das alles einfacher zu gestalten?