Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML]Jak zablokować używanie html itp.
Forum PHP.pl > Forum > Przedszkole
eunix
Jak moge to zablokować, ponieważ nie chce, żeby ludzie wklejali mi kod html lub inny w komentarze, a pózniej cała strona się rozjedzie..


Pozdrawiam
nospor
a przelec komentarz po stronie serwera funkcją strip_tags i po problemie smile.gif
Guest
ja wole uzyc htmlspecialchars(), bo jak ktos chce uzyc znaku < nie ze wzgledu, ze chce uzyc tagu html, tylko chce to wyswietlic, to
wszystko pozostanie prawidlowo, a znak zostanie wyswietlony
nospor
ale strip_tags nie usuwa pojedynczych znakow <
  1. <?php
  2. $data = 'ala <  ola';
  3. echo strip_tags($data);
  4.  
  5. ?>

ale na upartego jesli jednak chcemy zostawic te tagi do wyswietlania, no to faktycznie htmlspecialchars().
eunix
jak to zrobić przez funkcje htmlspecialchars() ?

odbieram komenatrze przez:
  1. <?php
  2. if(isset($_POST['submit'])) {
  3. ?>


to jak mam to użyć?
Guest
$_POST['submit'] = htmlspecialchars($_POST['submit'])
eunix
Pokazuje
Kod
Parse error: syntax error, unexpected '=', expecting ',' or ')' in /home/daroo/public_html/ss/coment.php on line 15


kod jest tak:
  1. <?php
  2. if(isset($_POST['submit'] = htmlspecialchars($_POST['submit']))) 
  3. ?>
nospor
proponuje luknać na kod, luknąć do manuala:
http://pl.php.net/manual/pl/function.isset.php
i jeszcze raz się zastanowić nad tym co napisales winksmiley.jpg

podpowiedź: najpierw masz sprawdzić czy jest zmienna (isset()) a dopiero potem przypisać
revyag
Czy kolega zna jedną z najbardziej podstawowych operacji jaką jest przypisanie questionmark.gif
Proponuję zapoznać się z manualem.
  1. <?php
  2. if(isset($_POST['submit'])) {
  3. $_POST['submit'] = htmlspecialchars($_POST['submit']);
  4. }
  5. ?>

manual/pl/language.operators.assignment.php" title="Zobacz w manualu php" target="_manual
eunix
to nic nie daje, ponieważ kod html jest nadal przepuszczany :/

ma ktoś jakieś inne rozwiąznie, bo jak wklejam kod html w formularz to go pózniej i tak wyświetla
nospor
co rozumiesz przez pojęcie wyswietla? jesli uzyjesz pogrubienia, to on ci wyswietli znacznik <b>, czy tez moze pogrubi ci tekst? htmlspecialchars spowosuje, ze wyswietli ci znacznik <b>, nie interpretując go. jesli chcesz definitywnie usunąć znacnziki, to uzyj strip_tags.

Jesli to nie to, to może:
A moze wogole ty w zlym miejscu uzyles tych funkcji, pokaz wiekszy wycinek swego kodu, gdzie wyswietlasz, gdzie wpisujesz do bazy itakie tam
eunix
Poradziłem sobie z strip_tags, jednak to mnie bardziej zadowala i działa smile.gif

Dzięki za pomoc wszystkim !
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.