PDA

View Full Version : سوال: برنامم اطلاعات رو در دیتابیس نمیریزه



kimiaaa
پنج شنبه 03 تیر 1389, 15:22 عصر
سلام دوستان . یه فرم شفارش نوشتم که یه سری اطلاعات میگیره اما اونها رو در دیتابیس نمیریزه.خودم فکر میکنم که برنامم درسته چون همین دیتابیس رو در یه برنامه دیگه استفاده کردم و جواب داده اما اینجا جواب نمیده . اگه از دوستان کسی بتونه به برنامم یه نگاه بندازه ازش ممنون میشم.( دوستان برنامه ضمیمه شده رو تغییر دادم لطفا دوباره چک کنید)

m0h53n
پنج شنبه 03 تیر 1389, 15:36 عصر
سلام دوست من

یچیزی میگم ناراحت نشو، چون می خوام دوباره این حرکت را تکرار نکنی و دوست دارم بهت کمک کنم می گم:
کد ها را خیلی بهم ریخته و بد نوشتی، باید جوری کار کنی که دفعه بعد خواستی فایلتو باز کنی از کدهای نوشته شده ات لذت ببری!

دوست من، برات یک کد جدید برای ارسال اطلاعاتت نوشتم و از همان فرم HTML خودت استفاده کردم، همه چیز مشخصه و فقط کافی داده هایی که به DB ارسال می شه را اگه خواستی کم یا زیاد کنی. سوال داشتی بپرس،من درخدمتم.:چشمک:

در ضمن برو توی فایل db.php و اطلاعات پایگاه داده خودت را وارد کن.

موفق باشی!

kimiaaa
پنج شنبه 03 تیر 1389, 15:41 عصر
مرسی . منتظرم

walker
شنبه 05 تیر 1389, 11:40 صبح
دوست عزیز کد روبه رو رو :
mysql_select_db("company",$conn)
باید به صورت روبه رو تغییر بدی :
$db=mysql_select_db("company",$conn)
مقدار تابع
mysql_select_db باید تو متغیر ریخته بشه.
همچنین
$result = mysql_query($form); باید بشه

$result = mysql_query($form,$conn);
در ضون مگه وب سایتت رو سرور نیست؟
چون عبارت
$conn = mysql_connect("localhost","root",""); فقط برای localhost هستش.

kimiaaa
شنبه 05 تیر 1389, 20:11 عصر
دوست عزیز کد روبه رو رو : کد PHP:
mysql_select_db("company",$conn)



تغییراتی که شما فرموده بودید رو دادم اما باز هم اطلاعات رو نریخت.

kimiaaa
شنبه 05 تیر 1389, 20:18 عصر
یچیزی میگم ناراحت نشو، چون می خوام دوباره این حرکت را تکرار نکنی و دوست دارم بهت کمک کنم می گم:


دوست عزیز از پیشنهادتون ممنونم


دوست من، برات یک کد جدید برای ارسال اطلاعاتت نوشتم و از همان فرم HTML خودت استفاده کردم، همه چیز مشخصه و فقط کافی داده هایی که به DB ارسال می شه را اگه خواستی کم یا زیاد کنی. سوال داشتی بپرس،من درخدمتم.
من کد شما رو اجرا کردم اما هنگامی که ارسال را زدم متن کدها رو تو مرورگر نشون داد و اطلاعاتی در دیتابیس ثبت نشد .عکس صفحه خطا رو براتون میذارو.
همچنین برنامه شما validation ها رو چک نمیکنه که این برای فرم من مهمه.
همچنین برنامه ای ضمیمه کرده بودم رو تغییر دادم یعنی اون کدی که قبلا گذاشته بودم رو تغییر دادم اما باز هم نمیریزه اگه لطف کنی به این برنامه جدید یه نگاه بندازی ممنون میشم.

m0h53n
یک شنبه 06 تیر 1389, 08:33 صبح
سلام
مشکل شما در طریقه معرفی اطلاعات برای ارسال به DB بود که ویرایش کردم.



require_once("db.php");

//add to form table
$sql="INSERT INTO `form_h` (
`cname` ,
`fname` ,
`lname` ,
`mob` ,
`cod` ,
`tel` ,
`mail` ,
`addr`
)
VALUES (
'".$cname."' ,'".$fname."' ,'".$lname."' ,'".$mobile."' ,'".$code."' ,'".$phone."' ,'".$email."' ,'".$address."'
);";

//add to order table
$sql2="INSERT INTO `order_h` (
`vgaa` ,
`numvga` ,
`cpu` ,
`numcpu` ,
`monitor` ,
`nummonitor`
)
VALUES (
'".$vga."' ,'".$numvga."' ,'".$cpu."' ,'".$numcpu."' ,'".$monitor."' ,'".$nummonitor."');";


if(mysql_query($sql) and mysql_query($sql2) ){die('<center><b>اطلاعات با موفقیت ثبت شد');}else{die('<center><b>بروز خطا در ثبت اطلاعات<br>'.'<p><b><a href="company.php">Back</a></p>');}فایل ضمیمه تست شده و مشکلی نداره!

kimiaaa
یک شنبه 06 تیر 1389, 09:01 صبح
ممنونم.
دوست عزيز برنامه شما رو اجرا کردم اما اين خطا ها رو ميده

Reza1607
یک شنبه 06 تیر 1389, 09:54 صبح
ممنونم.
دوست عزيز برنامه شما رو اجرا کردم اما اين خطا ها رو ميده

توی فایل db.php
علامت شروع کد های php منظورم <? رو به صورت کامل بنویس یعنی <?php
برای رفع خطا هم کد زیر رو که داخل فایل db.php هست رو


// Database Settings
$db_str = array (
"host" => "localhost" ,
"user" => "mohsen" ,
"pass" => "mohsen" ,
"db_name" => "test" ,
"dbprefix" => "" ,
);
به اطلاعات خودت تغییر بده

kimiaaa
یک شنبه 06 تیر 1389, 10:26 صبح
وی فایل db.php
علامت شروع کد های php منظورم <? رو به صورت کامل بنویس یعنی <?php


با انجام اين کار برنامم درست شد

kimiaaa
یک شنبه 06 تیر 1389, 11:02 صبح
اما هنوز اطلاعات رو به صورت ؟ نشون ميده

Reza1607
یک شنبه 06 تیر 1389, 11:08 صبح
اما هنوز اطلاعات رو به صورت ؟ نشون ميده

این کوئری رو بعد از این که به بانک وصل شدی اجرا کن


mysql_query("SET NAMES 'utf8';",$conn);

kimiaaa
یک شنبه 06 تیر 1389, 11:25 صبح
این کوئری رو بعد از این که به بانک وصل شدی اجرا کن
اين کارم انجام دادم اما بازم ؟ نشون ميده:گریه:

Reza1607
یک شنبه 06 تیر 1389, 11:33 صبح
شاید انکودینگ صفحه تون utf نیست اگه نیست utf کنید و اگه هست داخل بانک نگاه کنید ببینید اطلاعات درست نوشون می ده و ؟ نیستند

kimiaaa
یک شنبه 06 تیر 1389, 11:37 صبح
انکودينگ کدهام UFT8 هست و COLLATION ديتابيس هم utf8_persian_ci هستش

Reza1607
یک شنبه 06 تیر 1389, 11:46 صبح
انکودينگ کدهام UFT8 هست و COLLATION ديتابيس هم utf8_persian_ci هستش

شرمنده من دیگه نمی دونم مشکل از کجا می تونه باشه

xoogle.ir
یک شنبه 06 تیر 1389, 13:46 عصر
این 3 تا کوئری رو بعد از کانکت شدن به بانکت بذار :


mysql_query("SET CHARACTER SET utf8");
mysql_query("SET NAMES 'UTF8'");
mysql_query("SET character_set_connection = 'utf8'");

kimiaaa
یک شنبه 06 تیر 1389, 13:51 عصر
از راهنمايي همه دوستان سپاسگزارم. مشکلم حل شد. يه ديتابيس ديگه ساختم