Забрана за публикуване на HTML

topchokt

Registered
Здравейте,
имам следния код:
Код:
<?php
include("includes/conn.php");
$id = $_GET['id'];
if(isset($_POST['submit'])){
$author = htmlspecialchars($_POST['author']);
$comment = htmlspecialchars($_POST['comment']);
$date = date("H:i, d.m.Y");
$ip=$_SERVER['REMOTE_ADDR'];
$security=$_POST['security'];
if($security==681) {
$sql = mysql_query("INSERT INTO comment (id, article, author, comment, date , ip) VALUES (NULL, '$id', '$name', '$comment', '$date', '$ip')") or die(mysql_error());
} else { echo "<br>Съжалявам , но сте въвели грешна дата на създаване на българската държава и вашият коментар не може да бъде записан .</br>"; }
}
?>

Уж има htmlspecialchars, а пак ми публикува символи от рода на *(!%„”&—„^&(„.
Някакви идеи как да забраня публикуването на подобни символи?
 
PHP:
<?php
include("includes/conn.php");
$id = $_GET['id'];
if(isset($_POST['submit'])){
$author = htmlspecialchars(addcslashes(strip_tags($_POST['author'])));
$comment = htmlspecialchars(addcslashes(strip_tags($_POST['comment'])));
$date = date("H:i, d.m.Y");
$ip=$_SERVER['REMOTE_ADDR'];
$security=$_POST['security'];
if($security==681) {
$sql = mysql_query("INSERT INTO comment (id, article, author, comment, date , ip) VALUES (NULL, '$id', '$name', '$comment', '$date', '$ip')") or die(mysql_error());
} else { echo "<br>Съжалявам , но сте въвели грешна дата на създаване на българската държава и вашият коментар не може да бъде записан .</br>"; }
}
?>
Когато вадиш ще трябва да минеш стринга с stripslashes()
 
tedo96 каза:
PHP:
<?php
include("includes/conn.php");
$id = $_GET['id'];
if(isset($_POST['submit'])){
$author = htmlspecialchars(addcslashes(strip_tags($_POST['author'])));
$comment = htmlspecialchars(addcslashes(strip_tags($_POST['comment'])));
$date = date("H:i, d.m.Y");
$ip=$_SERVER['REMOTE_ADDR'];
$security=$_POST['security'];
if($security==681) {
$sql = mysql_query("INSERT INTO comment (id, article, author, comment, date , ip) VALUES (NULL, '$id', '$name', '$comment', '$date', '$ip')") or die(mysql_error());
} else { echo "<br>Съжалявам , но сте въвели грешна дата на създаване на българската държава и вашият коментар не може да бъде записан .</br>"; }
}
?>
Когато вадиш ще трябва да минеш стринга с stripslashes()
А сега добавя празен коментар, дори и да има нещо написано.
 
PHP:
<?php
include("includes/conn.php");
$id = $_GET['id'];
if(isset($_POST['submit'])){
$author = htmlspecialchars(addcslashes($_POST['author']));
$comment = htmlspecialchars(addcslashes($_POST['comment']));
$date = date("H:i, d.m.Y");
$ip=$_SERVER['REMOTE_ADDR'];
$security=$_POST['security'];
if($security==681) {
$sql = mysql_query("INSERT INTO comment (id, article, author, comment, date , ip) VALUES (NULL, '$id', '$name', '$comment', '$date', '$ip')") or die(mysql_error());
} else { echo "<br>Съжалявам , но сте въвели грешна дата на създаване на българската държава и вашият коментар не може да бъде записан .</br>"; }
}
?>
 
tedo96 каза:
PHP:
<?php
include("includes/conn.php");
$id = $_GET['id'];
if(isset($_POST['submit'])){
$author = htmlspecialchars(addcslashes($_POST['author']));
$comment = htmlspecialchars(addcslashes($_POST['comment']));
$date = date("H:i, d.m.Y");
$ip=$_SERVER['REMOTE_ADDR'];
$security=$_POST['security'];
if($security==681) {
$sql = mysql_query("INSERT INTO comment (id, article, author, comment, date , ip) VALUES (NULL, '$id', '$name', '$comment', '$date', '$ip')") or die(mysql_error());
} else { echo "<br>Съжалявам , но сте въвели грешна дата на създаване на българската държава и вашият коментар не може да бъде записан .</br>"; }
}
?>

Същата работа.
 
Пробвай да го направиш като оставиш само strip_tags. Махаш всички други функции, които действат на стринга.
 
PHP:
<?php
include("includes/conn.php");
$id = $_GET['id'];
if(isset($_POST['submit'])){
$author = strip_tags($_POST['author']);
$comment = strip_tags($_POST['comment']);
$date = date("H:i, d.m.Y");
$ip=$_SERVER['REMOTE_ADDR'];
$security=$_POST['security'];
if($security==681) {
$sql = mysql_query("INSERT INTO comment (id, article, author, comment, date , ip) VALUES (NULL, '$id', '$name', '$comment', '$date', '$ip')") or die(mysql_error());
} else { echo "<br>Съжалявам , но сте въвели грешна дата на създаване на българската държава и вашият коментар не може да бъде записан .</br>"; }
}
?>
:?:
 

Back
Горе