/
  • حذف متغییرها از حافظه

  • ارسال پاسخ   امتیاز موضوع:
    • 0 رأی - میانگین امیتازات: 0
    • 1
    • 2
    • 3
    • 4
    • 5

    حالت موضوعی | حالت خطی حذف متغییرها از حافظه
    نویسنده پیام
    moh3nmir آفلاین
    محسن . م
    ***

    ارسال‌ها: 102
    تاریخ عضویت: ۱۳۹۱ تير ۲۶
    اعتبار: 0
    تشکرها : 127
    ( 11 تشکر در 9 ارسال )
    ارسال: #1
    حذف متغییرها از حافظه
    با سلام
    من چند وقتی هست که نتونستم این مشکل رو حل کنم
    وقتی عملیاتی مثل Insert تو دیتابیس رو انجام میدم و با استفاده از form اطلاعاتی رو ارسال میکنم بعد اینکه اطلاعات ذخیره میشه با f5 زدن که صفحه رفرش میشه دوباره اطلاعات ذخیره میشه من از unset استفاده کردم ولی تغییری حاصل نشده
    کد PHP:
    unset($_POST['btnSave']); 
    لطفا اگر راهی داره که بعد از ذخیره کردن بدون اینکه از تابع header استفاده کنم که متغییر هام از بین برن بهم بگین تا مشکلم رو رفع کنم
    ممنون
    ۱۳۹۴ شهريور ۴ ۰۲:۱۱ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    sara147 آفلاین
    سـارا
    ***

    ارسال‌ها: 408
    تاریخ عضویت: ۱۳۹۲ شهريور ۶
    اعتبار: 21
    تشکرها : 233
    ( 332 تشکر در 210 ارسال )
    ارسال: #2
    RE: حذف متغییرها از حافظه
    در این مواقع مرورگر تائیده برای resubmit کردن میگیره.

    راه حل ها:
    1. ریدایرکت
    2. توکن
    3. ثبت اطلاعات از طریق ایجکس
    __________________________________________________________________________
    به یـزدان که گر ما خرد داشتیم
    کجـا این سر انجـام بد داشتیم؟
    ۱۳۹۴ شهريور ۴ ۰۲:۲۷ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : Goback ضحاک
    Y.P.Y آفلاین
    ناظم کل
    *******

    ارسال‌ها: 2,782
    تاریخ عضویت: ۱۳۸۷ دي ۲۸
    اعتبار: 103
    تشکرها : 2181
    ( 4856 تشکر در 2220 ارسال )
    ارسال: #3
    RE: حذف متغییرها از حافظه
    4. form confirm قبل از submit کردن
    __________________________________________________________________________
    وبلاگ: Yousha.Blog.ir

    صدام: "اگر با ارتش شاه ایران طرف بودیم، یک ماهه جنگ را می بردیم"
    http://gulfnews.com/opinion/thinkers/ira...i-1.500997
    ۱۳۹۴ شهريور ۴ ۰۷:۲۲ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : Goback ضحاک
    moh3nmir آفلاین
    محسن . م
    ***

    ارسال‌ها: 102
    تاریخ عضویت: ۱۳۹۱ تير ۲۶
    اعتبار: 0
    تشکرها : 127
    ( 11 تشکر در 9 ارسال )
    ارسال: #4
    RE: حذف متغییرها از حافظه
    نقل قول: راه حل ها:
    1. ریدایرکت
    2. توکن
    3. ثبت اطلاعات از طریق ایجکس
    4. form confirm قبل از submit کردن
    از همه اینها فکر کنم فقط ریدایرکت کردن رو بلد باشم که فکر کنم استفاده از header(); باشه
    یه موضوعی میمونه اونم اینکه وقتی btn کلیک شد و یه سری دستورات انجام شد ، یه سری مقادیر تولید میشن که من نمیخوام با رفرش شدن یا ریدایرکت کردن اونها از بین برن ( از سشن هم برای نگه داری متغییرها نمیخوام استفاده کنم ) ، یعنی هدفم اینه که اینها با اتمام عملیات یه کاری کنیم که دیگه اون دستورات اجرا نشن از دوباره
    من از روش زیر برای اجرای دستوراتم استفاده کردم ، لطفا هر کدوم از راه حل ها که به کار من میان رو یه راهنمایی کنید.
    کد PHP:
    <?php
    if ( isset($_POST['btnSave']) ) {
     
    دستورات
    }
    ?>
    <form action="" metod="post">
              <input type="text" name="txtText" />
              <input type="submit" name="btnSave" />
    </form> 
    (آخرین ویرایش در این ارسال: ۱۳۹۴ شهريور ۵ ۰۸:۴۲ صبح، توسط moh3nmir.)
    ۱۳۹۴ شهريور ۵ ۰۸:۳۶ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    Alaa غایب
    علا عالم فلکی
    ***

    ارسال‌ها: 945
    تاریخ عضویت: ۱۳۹۲ فروردين ۲۰
    اعتبار: 52
    تشکرها : 745
    ( 663 تشکر در 478 ارسال )
    ارسال: #5
    RE: حذف متغییرها از حافظه
    سلام،
    من فک میکنم راحت‌ترین راه اینه که از سشن استفاده کنی.
    دلیل خاصی داره که نمی‌خوای از سشن استفاده کنی ؟
    __________________________________________________________________________
    ۱۳۹۴ شهريور ۵ ۰۹:۰۰ صبح
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    sara147 آفلاین
    سـارا
    ***

    ارسال‌ها: 408
    تاریخ عضویت: ۱۳۹۲ شهريور ۶
    اعتبار: 21
    تشکرها : 233
    ( 332 تشکر در 210 ارسال )
    ارسال: #6
    RE: حذف متغییرها از حافظه
    2. توکن
    کد PHP:
    <?php
    session_start
    ();
    if ( isset(
    $_POST['btnSave'], $_POST['form_token'], $_SESSION['form_token']) ) {
        if( 
    $_POST['form_token']== $_SESSION['form_token'] ){
             
    دستورات
        
    }
    }
    $form_token md5(session_id() . time());
    $_SESSION['form_token'] = $form_token;
    ?>
    <form action="" metod="post">
              <input type="text" name="txtText" />
              <input type="submit" name="btnSave" />
              <input type="hidden" name="form_token" value="<?php echo $form_token?>" />
    </form> 

    3. ثبت اطلاعات از طریق ایجکس
    کد PHP:
    <?php
    if ( isset($_POST['btnSave']) ) {
     
    دستورات
    }
    ?>
    <form action="" metod="post">
              <input type="text" name="txtText" />
              <input type="submit" name="btnSave" />
    </form> 
    <script>
    $(document).ready(function() {
        $('form').submit(function(event) {
        event.preventDefault();
            var formData = $('form').serialize();
            $.ajax({
                type        : 'POST',
                url         : 'index.php',
                data        : formData
            })
        });
    });
    </script> 

    4. form confirm قبل از submit کردن
    کد PHP:
    <form action="" metod="post" onsubmit="return confirm('Do you want to submit the form?');">
              <
    input type="text" name="txtText" />
              <
    input type="submit" name="btnSave" />
    </
    form
    __________________________________________________________________________
    به یـزدان که گر ما خرد داشتیم
    کجـا این سر انجـام بد داشتیم؟
    ۱۳۹۴ شهريور ۵ ۱۰:۲۱ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : Y.P.Y moh3nmir ضحاک
    « قدیمی تر | تازه‌ تر »

    ارسال پاسخ
    پرش به انجمن:


    کاربرانِ درحال بازدید از این موضوع: 1 مهمان
    IranPHP.org | تماس با ما | بازگشت به بالا | بازگشت به محتوا | بایگانی | پیوند سایتی RSS