PDA

View Full Version : سوال: ویرایش و حذف رکورد ثبت شده



hashem64
جمعه 02 فروردین 1392, 01:16 صبح
با سلام

بنده توی بخش ثبت واریزی ها میخواستم بعد از واریز پول و بازگشت همون رکورد ثبت شده را آپدیت کنم

برای این کار نیاز به گرفتن آی دی رکورد هستم ولی متاسفانه این را درست بلدش نیستم و میخواستم دوستان را هنمایی کنند


مراحل > ثبت اطلاعات + ایجاد رکورد > اتصال به بانک > بازگشت از بانک > شرط اگر واریز شد اطلاعات آپدیت بشه در غیر این صورت رکورد ثبت شده حذف بشه

MostafaEs3
جمعه 02 فروردین 1392, 01:35 صبح
معمولا برای اینکار توی فروشگاه های اینترنتی یک ردیف توی جدول order یا همون سفارشات بوجود میارن (قبل از ورود به بانک) با وضعیت معلق و Id مربوط به اون ردیف رو توی Session ذخیره میکنن ... پس از تکمیل خرید هم همون ردیف آپدیت میشه و وضعیت سفارش از حالت معلق به حالت دلخواه (مثلا پرداخت شده) درمیاد
-------------------------------
اطلاعاتی که از بانک برمیگرده هم توی همون ردیف آپدیت میشه ... پس نیازی نیست Id رو دوباره بگیرید . کافیه همون قبلی رو توی Session ذخیره کنید و دو ردیف وضعیت سفارش و کامنت بازگشتی رو بروزرسانی کنید. روش دوم درج یک ردیف جدید توی جدولی مثل تراکنش ها هست که فقط برای درج اطلاعات تراکنش مورد استفاده قرار میگیره

hashem64
جمعه 02 فروردین 1392, 01:53 صبح
درسته دقیقا خودم هم به فکر ... رسید ولی نمیدونم چه طور باید بنویسش

hashem64
جمعه 02 فروردین 1392, 19:53 عصر
کسی نیست راهنماویی کنه

Unique
شنبه 03 فروردین 1392, 01:30 صبح
دوست عزیز نیاز به session برای ذخیره شماره سفارش نیست ، تمام سیستم های پرداخت آنلاین از شما یک شماره منحصر به فرد سفارش میگیرند و در پاسخ هاشون این شماره را به شما اعلام میکنند،‌ شما میتونید آخرین id در زمان insert سفارش را با تابع mysql_insert_id بگیرین و اون را به عنوان شماره سفارش به بانک بدین و در زمان دریافت پاسخ از بانک به راحتی با اون id سفارش را شناسایی کنید.

hashem64
شنبه 03 فروردین 1392, 02:01 صبح
درسته ولی پرداخت بنده از طریق پارس پال هست و توی پارس پال خروجی فقط یه کد رهگیری می باشد

MostafaEs3
شنبه 03 فروردین 1392, 17:46 عصر
مثالی برای ذخیره Id در Session ::


$_SESSION['order_id'] = 12;

Session هم مثل متغیر های POST, GET, REQUEST, COOKIE شامل یک آرایه هست که با دادن مقدار به اون ، خودش بصورت خودکار توی یک فایل مخصوص درون سرور ذخیره میکنه و تا زمان expire شدن ، اون مقدار در تمام سرور قابل استفاده هست
-------------
البته یادتون نره که توی کانفیگ سیستمتون میبایست Session رو استارت بزنید ::


session_start();

و با تابع session_destory میتونید مقادیر Session رو پاک کنید

MostafaEs3
شنبه 03 فروردین 1392, 17:55 عصر
یک کد جامع تر برای شروع به کار Session ::


if (!session_id()) {
ini_set('session.use_cookies', 'On');
ini_set('session.use_trans_sid', 'Off');

session_set_cookie_params(0, '/');
session_start();
}

Unique
شنبه 03 فروردین 1392, 19:45 عصر
دوستانی که با پارس پال کار کردند میخواستم بدونم وقعا ordre id نمیگیره که این دوستمون میخواد توی session ذخیره کنه ؟ من چون تا حالا باهاش کار نکردم اطلاعی ندارم ولی اگه واقعا نداشته باشه مشکل سازه ، اینطور نیست ؟

mamali-mohammad
شنبه 03 فروردین 1392, 19:48 عصر
من کار کردم
مشکلی نداره و نیازی به ذخیره در سشن نیست
توجه کن که متغیر ها به حروف کوچیک و بزرگ حساس هستن