PDA

View Full Version : سوال: مشکل در ذخیره کد های جاوا اسکریپت در دیتابیس!



pasargadteam
یک شنبه 21 مهر 1392, 11:33 صبح
سلام و وقت بخیر
بنده برای اسکریپتی که نوشتم قسمت تنظیماتش رو براش یک ROW درنظر گرفتم که کدهایی مثل گوگل آنالایزر رو که باید قبل از تگ head در طراحی قرار بگیره رو قرار بدهند و با کد نمایش داده بشه.
اما الان کد جاوا اسکریپت گوگل آنالایزر یا هر کدی رو قرار میدم این مشکل رو داره که خطا میده. خطاش به شرح ذیل است:


You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '_setAccount', 'UA-11111111-1']); _gaq.push(['_setDomainName', 'mydomain.com' at line 1

علت از چیست؟
کوئری مربوط به ذخیره سازی هم اینه:



if(isset($_POST['sitetitle']))
{
$sitetemplate = $_POST["sitetemplate"];
$sitetitle = $_POST["sitetitle"];
$sitekeywords = $_POST["sitekeywords"];
$sitedescription = $_POST["sitedescription"];
$siteheadcode = $_POST["siteheadcode"];
move_uploaded_file($_FILES["sitefavicon"]["tmp_name"] , "../uploads/favicon/" . $_FILES["sitefavicon"]["name"]);
$sitetelephone = $_POST["sitetelephone"];
$sitefax = $_POST["sitefax"];
$mobile = $_POST["mobile"];
$siteemail = $_POST["siteemail"];
$siteaddress = $_POST["siteaddress"];
$siteyahooid = $_POST["siteyahooid"];
$sitegtalkid = $_POST["sitegtalkid"];
$livesupports = $_POST["livesupports"];
$siteskype = $_POST["siteskype"];
$sitefacebook = $_POST["sitefacebook"];
$sitetwitter = $_POST["sitetwitter"];
$sitegoogleplus = $_POST["sitegoogleplus"];
$siteyoutube = $_POST["siteyoutube"];
$sitelinkedin = $_POST["sitelinkedin"];
$adminid = GetAdminID($_SESSION['admin']);

$query = ("UPDATE settings Set `sitetemplate` = '".$sitetemplate."',`sitetitle` = '".$sitetitle."', `sitekeywords` = '".$sitekeywords."', `sitedescription` = '".$sitedescription."', `siteheadcode` = '".$siteheadcode."', `sitetelephone` = '".$sitetelephone."', `sitefax` = '".$sitefax."', `mobile` = '".$mobile."', `siteemail` = '".$siteemail."', `siteaddress` = '".$siteaddress."', `siteyahooid` = '".$siteyahooid."', `sitegtalkid` = '".$sitegtalkid."', `livesupports` = '".$livesupports."', `siteskype` = '".$siteskype."', `sitefacebook` = '".$sitefacebook."', `sitetwitter` = '".$sitetwitter."', `sitegoogleplus` = '".$sitegoogleplus."', `siteyoutube` = '".$siteyoutube."', `sitelinkedin` = '".$sitelinkedin."', `adminid` = '".$adminid."'");
mysql_query($query) or die(mysql_error());
}

ممنون میشم کمک کنید. سرچ هم کردم چیز خاصی پیدا نکردم.

mbf5923
یک شنبه 21 مهر 1392, 18:45 عصر
توی مقادیری که میخواهید ذخیره کنید کارکتر های غیر مجاز وجود دارن مثل '' و \ که اونا رو باید با قرار دادن یک \ قبلشون اصلاح کنید

plague
یک شنبه 21 مهر 1392, 18:51 عصر
احتمالا بخاطر علامات و کاراکتر های موجود توی کد هستن مثل " و ' که میتونه باعث خراب شدن کوئریت بشه
قبل از ریختن تو دیتبایس کد های جاوا اسکریپتت رو کد کن مثلا با base64 وقتی میخای نمایش بدی دیکدشون کن

pasargadteam
چهارشنبه 24 مهر 1392, 16:22 عصر
متشکر از هر دوی شما. الان راه کارش دقیقاً چیه؟ و چطور استفاده کنم؟ ممنون میشم دقیقاً تر بگید. میدونید که مبتدی هستم.
ممنونم.

MRmoon
چهارشنبه 24 مهر 1392, 16:49 عصر
با بيس 64 انكد كن موقع استفاده ديكد كن.

مهرداد سیف زاده
چهارشنبه 24 مهر 1392, 17:28 عصر
موقع ریختن در دیتابیس از تابع htmlspecialchars و موقع چاپ بر روی صفحه از htmlspecialchars_decode استفاده کن
البته در مورد کدهای گوگل اصلا این کار رو نکن چون اجرا شدنش 50*50 هست در یکی از پروژه‌ها برای جستجوی گوگل بصورت توکار استفاده کردم که بعضی ارور میده

pasargadteam
چهارشنبه 24 مهر 1392, 19:19 عصر
متشکرم از همگی.