نمایش نتایج 1 تا 10 از 10

نام تاپیک: از بین رفتن اطلاعات session پس از ورود به صفحه بانک

  1. #1
    کاربر تازه وارد آواتار alirayaneh
    تاریخ عضویت
    مهر 1388
    محل زندگی
    بندر گناوه
    پست
    88

    از بین رفتن اطلاعات session پس از ورود به صفحه بانک

    سلام دوستان من دارم یه ماژول برای درگاه پرداخت یکی از بانکها مینویسم
    بعد متوجه شدم وقتی کاربری از طریق فروشگاه بعد از انتخاب کالا و تعیین مبلغ ، وارد سایت بانک میشود تا پرداخت را انجام دهد .... در هنگام بازگشت از صفحه سایت بانک به فروشگاه اطلاعات session از بین میرن
    مثلان
    کاربر = ali
    کالا = کتاب
    مبلغ= 200
    این اطلاعات به session دادم و بعد از ارسال پارامتر "مبلغ" به سایت بانک برای انجام تراکنش در هنگام باز گشت به صفحه ثبت گزارش پرداخت اطلاعاتی رو که قبلا به سشن دادم
    نیست یعنی نه مقدار کاربر هست و نه نوع کالا انتخاب شده در سشن نیست

    چیکار باید کنم
    سایت بانک هم توسط ssl محافظت میشه میتونه دلیلش این باشه؟

  2. #2

    نقل قول: از بین رفتن اطلاعات session پس از ورود به صفحه بانک

    از کوکی استفاده کن
    (البته شاید خیلی خوب نباشه!)

  3. #3
    کاربر تازه وارد آواتار alirayaneh
    تاریخ عضویت
    مهر 1388
    محل زندگی
    بندر گناوه
    پست
    88

    نقل قول: از بین رفتن اطلاعات session پس از ورود به صفحه بانک

    با تشکر از شما
    من چندتا کوکی هم ست کردم ولی ظاهرا یا مشکل از کد های منه یا چیز دیگر چون اجرا نمیشه
    مثلا من این جا یه متغیر رو به سشن دادم بعد مقدار این سشن رو به کوکی دادم این و بعد از بازگشت از سایت بانک در صفحه دوم مقدار کوکی رو به سشن دادم برنامه رو لوکال خوب کار میکنه و ولی روی سرور ارور میده یعنی کوکی ایجاد نمیکنه

    کد صفحه اول

    <?php
    session_start();
    ?>


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>


    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Untitled Document</title>
    </head>

    <body>


    </body>
    </html>
    <?php
    $a="ali";
    $b=setcookie("fname",$a,time()+3600);

    $_SESSION['fname']="$b";

    $m=@$_SESSION['fname'];
    echo "$m";
    ?>
    کد صفحه دوم

    <?php session_start(); ?>
    <?php
    $_SESSION['os']=$_COOKIE['fname'];
    $m=@$_SESSION['os'];
    echo "$m";
    ?>



    در هنگام اجرا روی سرور این ارور رو میده


    Warning: Cannot modify header information - headers already sent by (output started at /home/xxx/public_html/report/1.php:20) in /home/xxx/public_html/report/1.php on line 22


  4. #4

    نقل قول: از بین رفتن اطلاعات session پس از ورود به صفحه بانک

    دوست عزیز کوکی و سشن از توابعی هستند که نباید قبلش چیزی به هدر ارسال شده باشند

    <?php
    session_start();
    $a="ali";
    $b=setcookie("fname",$a,time()+3600);
    $_SESSION['fname']="$b";
    $m=@$_SESSION['fname'];
    ?>


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>


    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Untitled Document</title>
    </head>

    <body>


    </body>
    </html>
    <?php



    echo "$m";
    ?>


  5. #5

    نقل قول: از بین رفتن اطلاعات session پس از ورود به صفحه بانک

    این مشکل session زیاد پیش میاد. کاری که معمولا سیستم بانک اجازه اش رو میده، فرستادن و گرفتن SESSION_ID از طریق لینک هست. یعنی شما شناسه Session رو به بانک می فرستید و موقع برگشتن به سایت، این شناسه رو بانک به انتهای آدرس اضافه می کنه.
    غیر از اون، شما می تونید ادامه عملیات رو از سیستم Session های کاربر جدا کنید. یعنی اگر من باشم و چنین مشکلی بربخورم، صفحه پرداخت رو در یک پنجره یا تب دیگه باز می کنم که کاربر همچنان در سایت بمونه و صفحه ای موقع بازگشت از بانک به کاربر نمایش میدم چیزی جز یه دکمه برای بسته شدن یا رفتن به صفحه اصلی توش وجود نداره.

    در کل این یک مشکل عمومی هست و از پشتیبانی بانک سوال کنید که چه راهکاری رو پیش بینی کردند.

  6. #6
    کاربر تازه وارد آواتار alirayaneh
    تاریخ عضویت
    مهر 1388
    محل زندگی
    بندر گناوه
    پست
    88

    نقل قول: از بین رفتن اطلاعات session پس از ورود به صفحه بانک

    ممنونم

    دیگه ارور نمیده

    ولی الان خروجی صفحه اول عدد یک هست
    توی صفحه اول 1 چاپ میشه در حالی که مقدار "ali " رو بهش داده بودم
    حتی سشن رو unset کردم وکوکی رو هم 3600- کردم ولی هنوزم یک چاپ میشه
    دلیلش چیه؟

  7. #7
    کاربر تازه وارد آواتار alirayaneh
    تاریخ عضویت
    مهر 1388
    محل زندگی
    بندر گناوه
    پست
    88

    نقل قول: از بین رفتن اطلاعات session پس از ورود به صفحه بانک

    امیـرحسین جان
    از شما هم تشکر میکنم
    منظورتون اینه که session_id
    رو به آدرس بانک از طریق متود Get ارسال کنم یا اینکه به همون طریقی که سایر پارامتر ها رو به بانک ارسال میکنم ....
    ضمن این که روش دومی که اشاره کردید. جایی ندیدم استفاده بشه و ممکنه کاربر بین صفحهات گم بشه ...
    و اکثرا همه جا به شکل یک پارچه مرسوم هست
    برای مثال سری به لینک زیر بزنید
    http://charge.cloob.com/

  8. #8

    نقل قول: از بین رفتن اطلاعات session پس از ورود به صفحه بانک

    الان من سیستم بانک سامان رو دارم میبینم که این دردسرها رو نداره. این فرم نمونه اشه:
    <form action="https://acquirer.sb24.com/CardServices/controller" method="post">
    <input type="hidden" id="Amount" name="Amount" value="1">
    <input type="hidden" id="MID" name="MID" value="00025004-02">
    <input type="hidden" id="ResNum" name="ResNum" value="603">
    <input type="hidden" id="RedirectURL" name="RedirectURL" value="http://www.domain.com/">
    <input name="B1" value="Send" type="submit">
    </form>


    یکی از فیلدهاش آدرس برگشتن از بانکه که شما می تونید مثلا اینجوری مقدار بدید:
    <?php
    session_start();
    $RedirectURL = 'http://www.domain.com/somepage.php?' . SID ;
    ?>
    <form action="https://acquirer.sb24.com/CardServices/controller" method="post">
    <input type="hidden" id="Amount" name="Amount" value="1">
    <input type="hidden" id="MID" name="MID" value="00025004-02">
    <input type="hidden" id="ResNum" name="ResNum" value="603">
    <input type="hidden" id="RedirectURL" name="RedirectURL" value="<?php echo $RedirectURL; ?>">
    <input name="B1" value="Send" type="submit">
    </form>

    حالا تو صفحه somepage.php وقتی Session_start رو اجرا کنید، session ها شناخته میشن.

    این صفحه رو مطالعه کنید: Passing the Session ID

  9. #9

    نقل قول: از بین رفتن اطلاعات session پس از ورود به صفحه بانک

    کاملا طبیعی که سیشن‌ها از بین برن چون وارد یک سایت دیگه ( که سایت بانک ) میشه . در این موارد اصلا از سیشن استفاده نمیشه در ماژولهای نمونه ای که بانک‌ها ارائه می کنند هم الگوریتم کار به این شکل است که اول یک درخواست ارتباط به بانک ارسال میشه بانک 2 تا متغییر که یکی وضعیت کانکشن و دیگری ID ارتباط برقرار شده است رو بر میگردونه در این لحظه در صورت مثبت بودن متغییر وضعیت کانکشن و قبل از ریدارکت کردن صفحه برنامه به صفحه بانک یک رکورد در جدول محصولات سفارش داده شده همراه با ID که بانک برگردونده و اطلاعات محصول و سفارش دهنده درج می شود

    در ادامه ( بعد از ریدارکت شدن به صفحه بانک ) درصورت تکمیل تراکنش بانکی وضعیت این رکورد در جدول آپدیت میشه .

  10. #10
    کاربر دائمی آواتار jirjirakk
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    wwwroot
    پست
    660

    نقل قول: از بین رفتن اطلاعات session پس از ورود به صفحه بانک

    اخطار : به هیچ وجه ممکن از سشن برای این کار استفاده نکنید
    اطلاعاتی از کاربر را که در سشن می خواهید ذخیره کنید همان ها را در بانک اطلاعاتی خودتان ذخیره کنید
    و شماره ID رکورد (و یا هر فیلد یکتای دیگه ای که دارین) که ثبت شده را به عنوان مقدار یک فیلد به سمت بانک پست کنید (اگه اشتباه نکنم بانک سامان ResNum هستش)
    بانک هم بعد از انجام تراکنش (چه درست و چه اشتباه) همراه دیتایی که برای آدرس سایت شما پست می کند همان عددی که ارسال کرده اید را هم ارسال می کند و شما کافی است که از بانک خودتون select بزنین و به اطلاعات دسترسی پیدا کنید

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •