رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
استفاده از تابع htmlentites
#1
من برای استفاده از این تابع از کد زیر استفاده کردم

$str = "A 'quote' is <b>bold</b>";
$a= htmlentities($str, ENT_QUOTES);

ولی تغیری در رشته حاصل نمیشه ولی وقتی برای بار دوم کد زیر رو مینویسم یعنی دوبار این تابع را رویرشته اعمال می کنیم تابع اعمال میشه

نتیجه اول:
A 'quote' is <b>bold</b>



echo htmlentities($a, ENT_QUOTES);


نتیجه مرحله دوم
A 'quote' is &lt;b&gt;bold&lt;/b&gt;



چرا بار اول اعمال نمیشه

با تشکر
پاسخ
تشکر شده توسط:
#2
اعمال میشه همون دفعه اول ولی شما نتیجه رو نمیبینید (علامت اعمال شدنش هم اینه که متنی که توی تگ گذاشتین با قلم توپر نوشته نمیشه). توی سورس کد باید نگاه کنید. دفعه دوم همون سورس کد هم دوباره Encode میشه و درنتیجه توی صفحه خروجی مرورگر هم میبینید و اگه به سورس کد نگاه کنید، دوبار Encode شده و مثلاً بجای & نوشته ;amp& و...
پاسخ
تشکر شده توسط: hemat
#3
با سلام

ممنون از راهنمایی هاتون .

من مجموعه آموزشی php شما رو چند وقتی میشه شروع کردم وبا این تابع هم در آموزش ها آشنا شدم


الان یک سوال در همین زمینه داشتم

برای امن کردن ورودی های سایت (فرم) 1. آیا همین تابع کفایت میکنه یا مثلا از تابع
کد:
mysql_real_escape_string

هم استفاده کنم؟  یا توابع دیگه ای هست که احتیاج باشه برای امن کردن ورودیها استفاده کرد

البته من در این زمینه خیلی جستجو کردم ولی هر چه بیشتر جستجو کردم بیشتر گیج شدم

و دومین سوال اینکه

2.وقتی از این توابع استفاده میکنیم و داده ما در دیتابیس قرار میگیره آیا وقتی داده رو از دیتابیس میخونیم باید دیکد بشه ؟

با تشکر
پاسخ
تشکر شده توسط:




کاربران در حال بازدید این موضوع: 2 مهمان