Article View: pl.comp.lang.php
Article #219931Re: prblem z czudzymslowem w inpucie
From: albert
Date: Fri, 31 Jul 2009 08:32
Date: Fri, 31 Jul 2009 08:32
49 lines
3584 bytes
3584 bytes
> zaznajom się z htmlentities, htmlspecialchars etc. jako metodę
> eskejpowania
> znaków po stronie HTMLa, bo mylisz z eskejpowaniem po stronie skryptu PHP.
> Ponadto weź czasami odpal w przeglądarce podgląd źródła dokumentu.
ok, zaznajamialem sie i odpalam :) problem tkwil w tym, ze mam za duzo chyba
funkcji do czyszczenia tekstu i sie troszke pogubilem. generalnie pozwalam
userowi w inputa wpisac tylko okreslone znalki na stronie zapisu sprawdzam
czy jego znaki mieszcza sie w moim zakresie jak nie to zwrotka z
komunikatem. sa jednak pola najczesciej textarea gdzie przyjmuje jak leci
tekst od usera i czyszcze go we wlasnym zakresie przed zapisem do bazki lub
wyswietleniem na stronce w celu poprawy innych pol. jak wspomnialem mam tych
funkcji troche i zastanawiam sie czy nie przegialem :)
// usuwa slesze jak jest wlaczone magic...
function del_slesz($data) {return ini_get('magic_quotes_gpc') ?
stripslashes($data) : $data;}
// dodaje slesze (raczej ni ekorzystam :)
function add_slesz($data) {return ini_get('magic_quotes_gpc') ? $data :
addslashes($data);}
// usuwa WSZYSTKIE? "niebezpieczne" znaki ze zmiennej a wlasciwie to co do
glowy mi przyszlo :)
function del_quote($data) {return
str_replace(array('`','~','#','$','%','^','&','*','+','=',NULL,'\'','"',';','/','!','?','{','}','|','\\','[',']'),
"", $data);}
// usuwa NIEKTORE niebezpieczne znaki
function del_quote_clean($data) {return
str_replace(array('`','~','$','%','^','&',NULL,';','/','{','}','|','\\','[',']'),
"", $data);}
// zapis do bazy z usunietymi znakami (np. telefon,login,e-mail i wszystkie
zmienne, ktore na pewno nie potrzebuja tych znakow)
function del_quote_base($data) {return
mysql_real_escape_string(trim(strip_tags(del_quote(del_slesz($data)))));}
// zapis do bazy OPISU z usunietymi NIEKTORYMI znakami
function del_quote_opis($data) {return
mysql_real_escape_string(trim(strip_tags(del_quote_clean(del_slesz($data)))));}
// zapis do bazy z unikami dla ' oraz " bez ich usuwania (np. jakies opisy
czyli zmienne, ktore moga korzystac z " czy ') oraz zmienna w ktorych znaki
wczesniej usuniete moga wystepowac
function uniq_quote_base($data) {return
mysql_real_escape_string(trim(strip_tags(del_slesz($data))));}
// wyswietlenie w inputach w celu poprawienia z htmlspecialchars
function input_www($data) {return
htmlspecialchars(strip_tags(del_quote(del_slesz($data), ENT_QUOTES)));}
// wyswietlenie na stronie wynikow z bazy
function chars_www($data) {return
htmlspecialchars(strip_tags(stripslashes($data)));}
ufff :)
Technical Details
Message-ID:
<h4ua6b$95b$1@news.onet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!news.onet.pl!not-for-mailReferences:
<h4s7do$en9$1@news.onet.pl> <h4savo$5ev$1@atlantis.news.neostrada.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!news.onet.pl!not-for-mail From: "albert" <qwerty1231@vp.pl> Newsgroups: pl.comp.lang.php Subject: Re: prblem z czudzymslowem w inpucie Date: Fri, 31 Jul 2009 10:32:11 +0200 Organization: http://onet.pl Lines: 51 Message-ID: <h4ua6b$95b$1@news.onet.pl> References: <h4s7do$en9$1@news.onet.pl> <h4savo$5ev$1@atlantis.news.neostrada.pl> Reply-To: "albert" <qwerty1231@vp.pl> NNTP-Posting-Host: 78-131-216-98.tktelekom.pl X-Trace: news.onet.pl 1249029131 9387 78.131.216.98 (31 Jul 2009 08:32:11 GMT) X-Complaints-To: niusy@onet.pl NNTP-Posting-Date: Fri, 31 Jul 2009 08:32:11 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5512 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579 X-RFC2646: Format=Flowed; Original MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit