مشكلة مع دالة addslashes
السلام عليكم ورحمة الله وبركاته
المشكلة عندما استخدم هذه الدالة addslashes لتخزين نصوص في حقل جدول من نوع VARCHAR يجب ان اضع علامة تنصيص فردية '' وعندما اضع تقوم هذه الدالة بوضع سلاش قبل كل علامة وبذللك لايتكم تخزينه في قاعدة البيانات وانا اريد استخدام هذه الدالة فما هو الحل؟ هذا مثال على ما اقصد : $arr=array("'hassapp'"); $n=addslashes($arr[1]); insert($n);//inser into table
1 إجابة
عند استعمال دالة addslashes مع وجود خاصية magic_quotes مفعلة ، يكون شىء غير جيد بالمرة لان الدالة تضيف سلاش والخاصية تضيف اخر فتكون شىء كهذا '//var//' لذلك عليك غلق خاصية الماجيك كوتس واستعمال هذه الدالة
if (get_magic_quotes_gpc()) { function strip_array($var) { return is_array($var)? array_map("strip_array", $var):stripslashes($var); } $_POST = strip_array($_POST); $_SESSION = strip_array($_SESSION); $_GET = strip_array($_GET); } بواسطة: MacOS 2 من 2 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا |
عند استخدام الـMysql يمكنك فى حالة اغلاق الماجيك كوتس تمرير المتغير على دالة mysql_real_escape_string اولا لكى يأمنه .. ولكن لن يأمنه بشكل كافى .. لذلك اخترعو نظام الـMysql و الـPDO ويقولو من المستحيل ان تتم عمليات خقن لقواعد البيانات وانت تستعملهما .. ودون الحاجة الى اى دول حماية
7 / مايو / 2012 الساعة 9:28