عقيدة نقلا عن الفواصل العليا
سؤال
وأنا باستخدام عقيدة ORM لفب وزند MVC. لدي قاعدة بيانات ماي. عندما تضاف إلى قاعدة البيانات هو الهروب العملات. وبعبارة أخرى عندما أقوم بإدخال
<input name="customer_name" value="Test'ed user"> ...
وإلى مستواي، وتعيين إلى كائن عقيدة وحفظها.
وعندما أنظر إلى قاعدة البيانات من خلال سطر الأوامر الخلية أحصل
Test\'ed user
هل هناك طريقة لتعطيل هذا أو لا بد لي من الدعوة stripslashes()
على كل متغير؟
المحلول
والتحقق من وجود magic_quotes_gpc
يتم تمكين، إما من خلال النظر في ملف php.ini أو تشغيل get_magic_quotes_gpc()
.
إذا كان لديك الوصول إلى ملف php.ini، ثم إيقاف تشغيله. وإلا فإنك سوف تحتاج إلى إزالة مائلة في البرامج النصية باستخدام stripslashes()
.
نصائح أخرى
ويمكنك تجنب الطاعون magic_quotes_gpc
تماما بإضافة شيء من هذا القبيل إلى أعلى صفحاتك:
if(get_magic_quotes_gpc()) {
if(!function_exists('stripishlashes_all')) {
function stripslashes_all(&$data) {
foreach($data as &$_value) {
if(is_array($_value)) {
stripslashes_all($_value);
}
else {
$_value = stripslashes($_value);
}
}
}
}
stripslashes_all($_REQUEST);
}
ومفيد جدا عند تشغيل التعليمات البرمجية في الخادم لم يكن لديك سيطرة كاملة على، أو إذا كنت تخطط لتوزيعه.