واضح آرشیو وب فارسی:سایت ریسک: مشکل در ایجاد Table با نام متغیر Mds 04 مهر 1385, 06:14سلام به همگی بچه ها من دارم یه دفترچه تلفن میسازم.برای همین لازمه که هر فردی بعد از ثبت نام یه TABLE با نام خودش ثبت بشه. تا در مراجعت بعدی دفترچه تلفن (table) خودش رو ببینه . اما یه مشگلی هست.من کد زیر رو برای ثبت TABLE نوشتم . اما وقتی کاربر از علامت های خاص /."%&!-+@... و فاصله استفاده میکند بدون هیچ error پیام "Can Not Create Table" چاپ میشود. $name=$_POST["name"]; $link = mysql_connect("localhost", "root") or die("Could not connect: " . mysql_error()); mysql_select_db("mdssoft") or die("Could not select database"); $query_create_db = "CREATE TABLE $name( name TEXT NULL , number TEXT NULL , mobile TEXT NULL , email TEXT NULL , date TEXT NULL ) "; mysql_query($query_create_db,$link) or mysql_error().die("Can Not Create Table"); mysql_close($link); لطفا کمک کنید و اگر متوجه نشدید بیشتر توضیح بدم. ممنون aaram 07 مهر 1385, 00:21با سلام خوب دوست عزيز اون كاراكترها كاراكترهاي غير مجاز ميباشد !!!! tabib_m 07 مهر 1385, 00:431- نیازی به این که بخوای برای هر کاربر ، یک تبیل جدید بسازی نیست!! کافیه یک تیبل کاربران داشته باشی ، و یک تیبل تلفن ها ، که توی تیبل تلفن ها یک فیلد داری که توش آی دی کاربری وارد میشه که صاحب اون تلفن هست: Table Members: ID Name Username Password 1 Mohsen aaaa ffff 2 Ali bbbb gggg 3 Sadeq cccc hhhh 4 Ahmad dddd iiii 5 Kamran eeee jjjj ... Table Tels: ID Name Phone Address MemberID 1 Reza 222222 tttt 2 2 Hasan 333333 rrrr 3 3 Behnam 444444 hhhh 2 4 Moosa 555555 qqqq 1 5 Naser 666666 mmmm 4 ... در اینجا تلفن های شماره ی 1 و 3 مربوط میشن به کاربر شماره ی 2 یعنی Ali. امیدوارم متوجه شده باشین. 2- اگر بخوای از همون راه خودت استفاده کنی ، چه نیازی هست که نام تیبل رو بر اساس نام شخص بذاری؟ یک نام به صورت اتوماتیک تعیین کن ، و توی یک تیبل دیگه ثبت کن که کدوم تیبل مربوط میشه به کدوم کاربر. اگه متوجه نشدی ، بگو مثال بزنم. موفق باشید Mds 07 مهر 1385, 04:58خیلی ممنون از شما دوستان عزیز. متوجه شدم.امتحان میکنم.اگر مشگلی بود میگم. msnasiri 07 مهر 1385, 12:32phpmyadmin می تونه چنین تیبل هایی رو بسازه من توصیه می کنم که قبل از این کاراکترها یه اضافه کنی البته بازم اون روش طبیب جان رو توصیه می کنم k2-4u 08 مهر 1385, 14:33دوست عزیز در PHP امکان استفاده متغیر در نام Table (به احتمال زیاد به دلیل امنیت ) نیست و اگر هم می خواهید کاری کنید که کاربر نتواند از هر کارکتری استفاده کند باید به صورت زیر عمل کنید if (eregi("[[:alnum:]]",$motaghayar)) { دستور } در اینجا اگر مقدار متغیر $motaghayar با حروف و اعداد پر شده باشد مقدار IF درست حساب می شود موفق باشید sanbad 08 مهر 1385, 16:54اگه بخواهي علامات خاص را وارد ديتابيس کني بايد از توابع addslashes و stripslashes در کد php استفاده کني.
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 572]