مشكل كاراكتر ' در برنامه نويسي php

شروع موضوع توسط hba ‏12 سپتامبر 2005 در انجمن PHP

  1. hba

    hba کاربر فعال صفحات داینامیک کاربر فعال

    تاریخ عضویت:
    ‏8 آگوست 2004
    نوشته ها:
    1,511
    تشکر شده:
    1
    محل سکونت:
    تهران-ونک-php-mysql
    من یه صفحه لاگین ساختم که
    PHP:
    $myre=mysql_query("select * from user where user='$user'",$mycn);
    می گردد ولی وقتی در فیلد یوزر ' رو ميزنم قاطی می کنه و اررور

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\easyphp1-7\www

    رو می ده چه طوری کنم؟
     
  2. Parsa_361

    Parsa_361 کاربر فعال صفحات داینامیک کاربر فعال

    تاریخ عضویت:
    ‏5 آگوست 2005
    نوشته ها:
    889
    تشکر شده:
    10
    محل سکونت:
    Isfahan, php.ini
    :cool:
    مقدار فیلد یوزرت رو از این تابع رد کن :
    ()htmlspecialchars

    PHP:
    string htmlspecialchars string string [, int quote_style [, string charset]] )
    منوال : http://www.ir.php.net/htmlspecialchars
     
  3. hba

    hba کاربر فعال صفحات داینامیک کاربر فعال

    تاریخ عضویت:
    ‏8 آگوست 2004
    نوشته ها:
    1,511
    تشکر شده:
    1
    محل سکونت:
    تهران-ونک-php-mysql
    خوب من از اين هماستفاده كردم ولي نميدونم چه چيز هايي در اين دستور بايد داد
    PHP:
    ($user)htmlspecialchars 
    داده اررور می دهد چه طور باید داخلش رو پر کنم؟؟؟؟؟؟؟؟؟؟؟
    مرسی
     
  4. Parsa_361

    Parsa_361 کاربر فعال صفحات داینامیک کاربر فعال

    تاریخ عضویت:
    ‏5 آگوست 2005
    نوشته ها:
    889
    تشکر شده:
    10
    محل سکونت:
    Isfahan, php.ini
  5. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,344
    تشکر شده:
    1,314
    محل سکونت:
    یه خورده اونورتر
    من هم یک مشکل با ' دارم:
    وقتی تکستی رو پست میکنیم و با استفاده از $_POST مقدارش رو میگیریم. تمام ' ها به \' تبدیل میشه. وقتی میخوام تو دیتابیس ذخیرشون کنم اطلاعات اشتباهی ذخیره میشن مثلا:
    کد:
    It's a test.
    
    به این صورت ذخیره میشه:
    کد:
    It\'s a test.
    
    :wacko:
    بچه ها، راه حلی دارید؟
     
  6. Parsa_361

    Parsa_361 کاربر فعال صفحات داینامیک کاربر فعال

    تاریخ عضویت:
    ‏5 آگوست 2005
    نوشته ها:
    889
    تشکر شده:
    10
    محل سکونت:
    Isfahan, php.ini
    خوب به خاطر این که از تابع ()addslashes استفاده می کنی !
    از این تابع استفاده نکن !
    از همون تابعی که من در بالا گفتم استفاده کن.
    ()htmlspecialchars
     
  7. footbal
  8. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,344
    تشکر شده:
    1,314
    محل سکونت:
    یه خورده اونورتر
    نه اصلا تابعي رو صدا نميزنم:
    PHP:
    $data=$_POST['data'];
    يك همچين چيزي اگر توش ' باشه تبديل ميشه به '\
     
  9. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,344
    تشکر شده:
    1,314
    محل سکونت:
    یه خورده اونورتر
    تو php.ini چيزي درموردش نيست؟ چطور ميشه گفت يك استرينگ رو در يك پست تغيير نده؟
     
  10. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,344
    تشکر شده:
    1,314
    محل سکونت:
    یه خورده اونورتر
    یافتم!

    میتونم از stripslashes استفاده کنم اگر اشتباه نکنم؟ :cool: ولی اینجوری تو تمام متغییرهایی که به دیتابیس میرند باید ازش استفاده کنم! :(
     
  11. Parsa_361

    Parsa_361 کاربر فعال صفحات داینامیک کاربر فعال

    تاریخ عضویت:
    ‏5 آگوست 2005
    نوشته ها:
    889
    تشکر شده:
    10
    محل سکونت:
    Isfahan, php.ini
    :eek:
    eeeeeeeeeeeeeeeeeeeeeeeeeee !
    اصلاً برای من اینجوری نیست !
    ببین یه بار دیگه دقت کن
    یه جا تابع ()addslashes صدا زده شده !
    ببین رو سرورم همینجوریه
     
  12. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,344
    تشکر شده:
    1,314
    محل سکونت:
    یه خورده اونورتر
    نه اصلا!
    براي همين هم به php.ini شك دارم. يكي از دايركتيو ها بايد مربوط به همين باشه.
     
  13. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,344
    تشکر شده:
    1,314
    محل سکونت:
    یه خورده اونورتر
    در مورد addslashs ممنون. البته اونرو استفاده نكردم ولي فهميدم با stripslashs ميشه اسلشها رو ورداشت. ولي گفتم خيلي سخته همه جا صداش بزنم. بايد همش زير سر يكي از دايركتيواي php.ini باشه.
     
  14. avajang.com .leftjee.ir.right
  15. Moein

    Moein Registered User

    تاریخ عضویت:
    ‏2 مارس 2004
    نوشته ها:
    1,149
    تشکر شده:
    63
    محل سکونت:
    تهران - شهرک غرب
    من هم همین مشکل رو داشتم و از stripslashes استفاده کردم و حتی تو سایت sedo.com که خیلی معروفه این مشکل وجود داره چون وقتی تو کانتکتشون چیزی می‌نویسم و اونها reply میکنن، میبینم اسلش اضافه شده !
     
  16. hba

    hba کاربر فعال صفحات داینامیک کاربر فعال

    تاریخ عضویت:
    ‏8 آگوست 2004
    نوشته ها:
    1,511
    تشکر شده:
    1
    محل سکونت:
    تهران-ونک-php-mysql
    من اين مدلي هم زدم باز
    PHP:
     $user htmlspecialchars($user);  
    ارور گرفت ولي اين طوري زدم كار كرد
    PHP:
    $user htmlspecialchars($user,1);
    اين فيلد دومي چيه؟
     
  17. sama_sally

    sama_sally Registered User

    تاریخ عضویت:
    ‏5 آپریل 2005
    نوشته ها:
    2,598
    تشکر شده:
    1
    محل سکونت:
    Essen, Deutschland
    کد:
    string htmlspecialchars ( string string [, int quote_style [, string charset]])
    
    ولی منم چیزی در نفهمیده بیدم :blink:
     
zarpopخرید بک لینک