/
  • چگونگی خواندن پارامترهای گرفته شده از فرم قبل و چاپ آنها در صفحه

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

    حالت موضوعی | حالت خطی چگونگی خواندن پارامترهای گرفته شده از فرم قبل و چاپ آنها در صفحه
    نویسنده پیام
    kavoshgar63 آفلاین
    عضو
    ***

    ارسال‌ها: 54
    تاریخ عضویت: ۱۳۸۷ اسفند ۹
    اعتبار: 1
    تشکرها : 19
    ( 4 تشکر در 4 ارسال )
    ارسال: #1
    چگونگی خواندن پارامترهای گرفته شده از فرم قبل و چاپ آنها در صفحه
    سلام
    من برای نمایش خطاها در هنگام ثبت نام کاربر جدید یکسری پارامتر رو به صفحه ابتدایی که کاربر اونجا فرم رو پر کرده می فرستم و می خوام به کاربر بگم که مثلا کد ملی فقط باید عدد باشه و کراکتر - غیر قابل قبوله .
    حالا من تونستم با کمک دوستان تا اینجای کار رو پیش برم و موقعی که خطایی رخ می ده به برنامه گزارش بدم.
    این نوار آدرس منه:
    کد PHP:
    http://127.0.0.1/temp/register.php?errshsh=errshsh%3Derrshsh&errni=errni%3Derrni&errtel=errtel%3Derrtel&errmobile=&errcitycode=errcitycode%3Derrcitycode&errpc=errpc%3Derrpc&errfill=errfill%3Derrfill&errpass=&errexistuser=errexistuer 
    چطور میشه این کدها رو تفکیک کرد و خطاها رو نمایش داد؟
    __________________________________________________________________________
    بدان کوش تا زود دانا شوی
    چو دانا شوی زود والا شوی

    سایت شخصی
    ۱۳۸۷ اسفند ۱۲ ۰۲:۴۱ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    admin آفلاین
    وحید سهرابلو
    **********

    ارسال‌ها: 5,697
    تاریخ عضویت: ۱۳۸۷ آذر ۲۴
    اعتبار: 100
    تشکرها : 1362
    ( 6197 تشکر در 3438 ارسال )
    ارسال: #2
    RE: چگونگی خواندن پارامترهای گرفته شده از فرم قبل و چاپ آنها در صفحه
    داخل صفحه این رو بنویسید متوجه میشید
    کد PHP:
    <?php
    print_r
    ($_GET)
    ?>
    ۱۳۸۷ اسفند ۱۲ ۰۳:۱۴ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    kavoshgar63 آفلاین
    عضو
    ***

    ارسال‌ها: 54
    تاریخ عضویت: ۱۳۸۷ اسفند ۹
    اعتبار: 1
    تشکرها : 19
    ( 4 تشکر در 4 ارسال )
    ارسال: #3
    RE: چگونگی خواندن پارامترهای گرفته شده از فرم قبل و چاپ آنها در صفحه
    جناب سهرابلوی عزیز وقتی این کد رو توی برنامه نوشتم این خروجی رو بهم داد:
    کد PHP:
    Array ( [errshsh] => errshsh=errshsh [errni] => [errtel] => [errmobile] => [errcitycode] => [errpc] => [errpass] => [errexistuser] => errexistuer 
    این جواب چیزی رو نمی تونه ثابت کنه.
    لااقلش من نمی تونم چیزی ازش بفهمم.
    بیشتر شرح بدین.
    __________________________________________________________________________
    بدان کوش تا زود دانا شوی
    چو دانا شوی زود والا شوی

    سایت شخصی
    ۱۳۸۷ اسفند ۱۲ ۰۵:۴۱ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    admin آفلاین
    وحید سهرابلو
    **********

    ارسال‌ها: 5,697
    تاریخ عضویت: ۱۳۸۷ آذر ۲۴
    اعتبار: 100
    تشکرها : 1362
    ( 6197 تشکر در 3438 ارسال )
    ارسال: #4
    RE: چگونگی خواندن پارامترهای گرفته شده از فرم قبل و چاپ آنها در صفحه
    دوست من
    شما در مورد روشهای POST یا GET چیزی می دونید؟
    قصد جسارت ندارم فقط قصد راهنمایی هست. لزوما شما باید از مبنای php چیزهایی رو فرا گرفته باشید
    پیشنهاد من به شما دو چیز است
    ۱− از یک کتاب استفاده کنید
    ۲− منتظر باشید قسمت LMS راه اندازی بشه و از LMS سایت برای یادگیری مبنا و مسائل پایه php استفاده کنید
    ۱۳۸۷ اسفند ۱۲ ۰۶:۱۶ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    mojtabakhaloo آفلاین
    یاشار
    ***

    ارسال‌ها: 59
    تاریخ عضویت: ۱۳۸۷ دي ۲۲
    اعتبار: 0
    تشکرها : 2
    ( 12 تشکر در 10 ارسال )
    ارسال: #5
    RE: چگونگی خواندن پارامترهای گرفته شده از فرم قبل و چاپ آنها در صفحه
    سلام

    به نظر می رسه شما تازه دارین php رو یاد می گیرین و به خیلی از مقدمات آشنا نیستین.
    من پیشنهاد می کنم حتما کتاب " آموزش گام به گام php " نوشته مهدنس عین الله جعفرنژاد قمی رو حتما بخونید.

    ولی در مورد این سوالتون

    علامت "؟" در url به سیستم می فهمونه که ما می خواهیم فرستادن مقادیر رو از طریق url شروع کنیم. حالا اگه دقت کنین نوشتین "errshsh" این همون اسم متغییر ماست ، مثل اوقاتی که مثلا می نویسیم q$ و یا mystring$ و یا هر متغییر دیگه ای رو اسم گذاری می کنیم ولی فرقش اینه که توی url علامت "$" گداشته نمی شه ، بعد علامت "=" اومده که حالا می خواهیم بعد از تعریف اسم متغیر مقدار متغیر رو در اون قرار بدیم که در همین مثال خودتون و url ای که دادین مقدار متغییر "errshsh" رو برابر "errshsh Drrshsh" قرار دادین و بعد علامت "&" اومده که نشون می ده این متغییر تموم شده و متغییر بعدی می خواد شروع بشه. تا اینجای کار که فکر کنم خودتون هم می دونستین ولی برای گرفتن این مقادیر در صفحه و استفاده از اون باید از دستور $_GET و به شکل زیر استفاده کنین.

    کد:
    $_GET['errshsh'];

    یعنی اگه بخواهید مقدار متغیر errshsh رو چاپ کنید به طور مثال به این شکل عمل می کنیم.

    کد:
    $m = $_GET['errshsh'];
    echo $m;

    برای تمام مقادیر دیگه ای که از طریق url فرستادین هم باید به همین شکل عمل کنید.
    (راستی دقت کنید که حروف کلمه "GET" با حروف بزرگ انگلیسی نوشته شده )
    خدانگهدار.
    __________________________________________________________________________
    ایران سرزمین من است ، سرزمین پدران من است.
    به خاکش سوگند ، برایش خون هم خواهم داد.
    (آخرین ویرایش در این ارسال: ۱۳۸۷ اسفند ۱۳ ۰۸:۳۲ عصر، توسط mojtabakhaloo.)
    ۱۳۸۷ اسفند ۱۳ ۰۸:۲۷ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : kavoshgar63
    kavoshgar63 آفلاین
    عضو
    ***

    ارسال‌ها: 54
    تاریخ عضویت: ۱۳۸۷ اسفند ۹
    اعتبار: 1
    تشکرها : 19
    ( 4 تشکر در 4 ارسال )
    ارسال: #6
    RE: چگونگی خواندن پارامترهای گرفته شده از فرم قبل و چاپ آنها در صفحه
    چند تا تشکر از همه دوستان و یه گلایه کوچیک از برخی دوستان.
    هدف از اومدن ما در این انجمنها اینه که بتونیم تجربیاتمون رو انتقال بدیم و انتقال تجربه یکباره اتفاق نمیفته و این کار مستلزم داشتن صبر و گذر زمانه.
    من قصد اذیت ندارم و اصلا هم خوشم نمیاد که سئوال بیخودی بپرسم چون برای وقت همه دوستان عزیز ارزش و احترام قائلم .
    من قبل از این که دست به کار بشم کتاب آقای ابراهیمی رو خوندم و تازه قبل از اون هم کنار دست یکی از دوستان php کار نشستم و برخی کدها و مفاهیم رو یادگرفتم از طرفی زبان c و ++c رو هم گذروندم با syntax زبان های مانند c آشنام.
    لذا خواهشم اینه که دوستان لطف کنن و با گوشه و کنایه عیب یاد نداشتن ما رو به رخ ما نکشن چون این کار به نفع جامعه علمی کشور نیست .
    باید کمی صبور بود و افراد مبتدی رو تحمل کرد.
    من همین جا عذر خواهی می کنم از همه دوستان که وقتشون رو گرفتم و امیدوارم که این نوشتار باعث رنجش خاطر کسی نشه.
    در پست بعد می گم مشکلم چه طور حل شد.
    مشکل من این بود که در قسمت چک کردن خطا اصلا از بیخ و بن اشتباه مقدار دهی کردم به خط زیر نگاه کنید
    کد PHP:
    if (!ereg ("([0-9]{10}$)"$postalcode$regs)) 
      {
        
    $errpc="errpc=errpc";
        
    $totalerror+=1;
        } 
    [/size]
    در صورتی که این خط رو باید این طور می نوشتم
    کد PHP:
    if (!ereg ("([0-9]{10}$)"$postalcode$regs)) 
      {
        
    $errpc="err";
        
    $totalerror+=1;
        } 
    و این اشتباه باعث شد که من در نوار آدرسم این پیغام رو بگیرم
    کد PHP:
    errpc=errpc%3Derrpc 
    در صورتی که در کد اصلاح شده این پیغام باید ظاهر میشد:
    کد PHP:
    errpc=err 
    خب این مقداردهی اشتباه باعث شد که من کلی گیج بشم توی این قضیه و نتونم نوار آدرس رو درست برای خودم ترجمه کنم ولی الحمدلله فهمیدم مشکل از کجاست و سریع مشکل رو حل کردم در فایل functions.php که در صفحه رجیسترم به کارگیری کردم این تابع رو نوشتم و همه خطا ها رو با این تابع چاپ کردم.
    کد PHP:
    function _IS_Get($Str_get)
    {
    if(isset(
    $_GET[$Str_get]))
                    if(
    $_GET[$Str_get]=='err')
                    {
                     
    showMsg($Str_get);
                    };    
    return 
    1;

    لازم به ذکر است که تابع showMsg($Str_get) یک تابعی هست که با switch نوشتم و خودش خطا رو در صفحه چاپ می کنه.
    ولی الان یک موضوع دیگه اتفاق افتاده اونم این که وقتی برای نمایش خطا به صفحه ثبت نام بر می گردم تکست فیلد ها ریست شده اند و کاربر بیچاره باید 28 تا فیلد رو دوباره مقداردهی کنه.
    حال اساتید محترم بفرمایند که چطور میشه در زمان بازگشت به صفحه قبل مقادیر تکست فیلد ها رو حفظ کرد؟
    اینم کد ارسال پارمترهاست به صفحه رجیستر.
    کد PHP:
        $params = array 
        ( 
            
    errshsh=>$errshsh
            
    errni => $errni,
        ); 
    $url '../register.php?'.http_build_query($params); 
    echo (
    '<meta http-equiv="refresh" content="0;url=' $url '">');
    @
    header("location: $url");
    @exit(
    ''); 
        } 
    موفق و پیروز باشید.
    __________________________________________________________________________
    بدان کوش تا زود دانا شوی
    چو دانا شوی زود والا شوی

    سایت شخصی
    (آخرین ویرایش در این ارسال: ۱۳۸۷ اسفند ۱۴ ۱۲:۰۳ صبح، توسط kavoshgar63.)
    ۱۳۸۷ اسفند ۱۳ ۱۱:۴۵ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    mojtabakhaloo آفلاین
    یاشار
    ***

    ارسال‌ها: 59
    تاریخ عضویت: ۱۳۸۷ دي ۲۲
    اعتبار: 0
    تشکرها : 2
    ( 12 تشکر در 10 ارسال )
    ارسال: #7
    RE: چگونگی خواندن پارامترهای گرفته شده از فرم قبل و چاپ آنها در صفحه
    سلام

    می تونین پارامتر ها رو دوباره از طریق GET به همون صفحه اول برگردونین و دوباره بگیرین که البته خودم چند مورد لازم شده که همیشه با فرستادن حروف فارسی از طریق url به مشکل خوردم.

    یه راه بهتر اینه که اگر اطلاعات خیلی مهم نیستن و از نظر امنیت اهمیتی ندارن برای هرکدوم یه cooke تنظیم کنین و موقعی که از طریق دستور header دوباره برگشتین به صفحه اول cooke ها رو بازیابی کنید.

    درضمن من فکر می کنم که توی این قطعه کدی که آخر نوشتن فقط همون دستور heaser کافیه و نیاز به اون خط بالاییش که از دستور echo استفاده کردین نیست چون در اصل جفتش یه کار رو انجام می دن فقط با این تفاوت که یکی از طریق دستور php به صفحه قبل برمی گرده و یکی از طریق دستورات html .

    خدانگهدار.
    __________________________________________________________________________
    ایران سرزمین من است ، سرزمین پدران من است.
    به خاکش سوگند ، برایش خون هم خواهم داد.
    ۱۳۸۷ اسفند ۱۴ ۰۲:۲۵ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    admin آفلاین
    وحید سهرابلو
    **********

    ارسال‌ها: 5,697
    تاریخ عضویت: ۱۳۸۷ آذر ۲۴
    اعتبار: 100
    تشکرها : 1362
    ( 6197 تشکر در 3438 ارسال )
    ارسال: #8
    RE: چگونگی خواندن پارامترهای گرفته شده از فرم قبل و چاپ آنها در صفحه
    یه پیشنهاد دارم برای اینکه بتونین بهتر کد نویسی کنید به این مثال توجه کنید
    برای ورود کاربر هست
    البته مثال خیلی ناقص هست فقط می خوام روش اینکه چه راهی بهتر هست که کاربر رو به صفحات هدایت کنید رو بگم
    کد PHP:
    <?php
        $username
    =$_POST['username'];
        
    $password=$_POST['password'];
        
    $error="";
        if(
    $_POST['login']){
            if(!
    $username){
                
    $error.="Please type your username <br>";
            }
            if(!
    $password){
                
    $error.="Please type your password <br>";
            }
            if(!
    $error){
                
    header("Location usercp.php");
                exit;
            }
        }
        
        
    ?>
    <html>
        <head>
            
        </head>
        <body>
            <?php
            
    if($error){
                echo 
    $error;
            }
            
    ?>
            <form method="post">
                Username : <input type="text"  name="username" value="<?php echo  $username?>"> <br />
                Password : <input type="password" name="password" value="<?php echo $password?>"><br />
                <input type="submit" name="login" value="Login">
            </form>
            
        </body>
    </html> 
    ۱۳۸۷ اسفند ۱۴ ۱۲:۵۲ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : kavoshgar63
    « قدیمی تر | تازه‌ تر »

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


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