nexpay

اشکالات کد ؟

شروع موضوع توسط byvafa ‏10 نوامبر 2005 در انجمن PHP

  1. byvafa

    byvafa کاربر تازه وارد

    تاریخ عضویت:
    ‏7 آپریل 2005
    نوشته ها:
    175
    تشکر شده:
    0
    آیا این کد ساده که اطلاعات رو از یه فروم به اکریپت php ارسال میکنه اشکالی داره که جواب نمیده ؟
    کد فرم html :
    کد:
    <html>
    <head>
    <title>HTML Form</title>
    </head>
    </body>
    <form action="handleform.php" method=post>
    First name <input type=text name="firstname" size=20><br>
    Last Name <input type=text name="lastname" size=40><br>
    E-mail Address <input type=text name="email" size=60><br>
    Comments <textarea name="comments" rows=5 cols=40></textarea><br>
    <input type=submit value=post name=submit>&nbsp
    <input type=reset name=reset value=reset>
    </form>
    </body>
    </html>
    کد اسکریپت php :

    کد:
    <html>
    <head>
    <title>Form Relts</title>
    </head>
    <body>
    <?php
    echo "your First Name is : $firstname. <br>\n";
    echo "your Last Name is : $lastname <br>\n";
    echo "your e-mail address is : $email <br>\n";
    echo "This is what you had to say : $comments <br>\n";
    ?>
    </body>
    </html>
    با php نسخه های 4 و 5 امتحان کردم :(

    اشکالش کجاست ؟
     
  2. PersianPC

    PersianPC کاربر فعال صفحات داینامیک کاربر فعال

    تاریخ عضویت:
    ‏9 فوریه 2005
    نوشته ها:
    582
    تشکر شده:
    1
    محل سکونت:
    Tehran
    مشکل شما مربوط به رجیستر گلوبال هست.
    میتونید به جای نام متغیر ها از
    PHP:
     $_POST['feildname'
    استفاده کنید.
    برای مثال برای نمایش اطلاعات فیلد firstname ، باید از کد
    PHP:
     $_POST['firstname'
    استفاده کنید.
     
  3. sama_sally

    sama_sally Registered User

    تاریخ عضویت:
    ‏5 آپریل 2005
    نوشته ها:
    2,598
    تشکر شده:
    1
    محل سکونت:
    Essen, Deutschland
    اشکالش تابلو ترین اشکال دنیاس!!!!
    توی نسخه 4.2 به بعد register_globals روی off تنظیم شده
    در صورتی که register_globals فعال نباشه شما نمیتونی بطور مستقیم متغیر هایی رو که از صفحات قبلی به صورت get یا پست و یا همچنین به صورت cookie و session ارسال میشن رو توی صفحه ت بکار ببری.
    این متغیر ها توی چند تا آرایه ی انجمنی سیستمی تعریف میشن و مثل متغیری که از صفحه قبل از طریق فرم ارسال شده رو باید اینجوری توی صفحه بعد بکار برد:
    PHP:
    <?php
    echo $_POST['name']; //به جای $name
    //یا...
    echo $HTTP_POST_VARS['name']; //بجای $name
    ?>
    متغیر های انجمنی موجود:
    PHP:
    <?php
    //برای متد ارسال GET
    $_GET['variable_name']; /* or */ $HTTP_GET_VARS['variable_name'];
    //برای متد ارسال POST 
    $_POST['variable_name']; /* or */ HTTP_POST_VARS['variable_name'];
    //برای COOKIE
    $_COOKIE['variable_name']; /* or */ HTTP_COOKIE_VARS['variable_name'];
    //برای SESSIOn:
    $_SESSION['variable_name']; /* or */ HTTP_SESSION_VARS['variable_name'];
    ?>
    متد POST بیشتر مربوط به فرم ها هست برای مثل توی کد خودت این خطو ببین:
    HTML:
    <form action="handleform.php" method=post>
    
    میبینی که نوشتی POST ؛ مقادیر POST به صورت مخفی به صفحات دیگه ارسال میشن
    ولی میتونستی اینو بنویسی که امن نیست:
    HTML:
    <form action="handleform.php" method=get>
    
    اونوقت اطلاعات فرم از طریق آدرس منتقل میشه یا مثل این :
    کد:
    http://site.com/index.php?mod=addnews
    
    در این شیوه ها متد ارسال GET هست.

    کوکی و سشن (جلسه) به اینجا مربوط نمیشن.


    پس راه حال تو این هست که تموم متغیرهاتو توی آرایه انجمنی قرار بدی:
    PHP:
    <html>
    <head>
    <title>Form Relts</title>
    </head>
    <body>
    <?php
    echo "your First Name is : $_POST['firstname'] . <br>\n";
    echo 
    "your Last Name is : $_POST['lastname'] . <br>\n";
    echo 
    "your e-mail address is : $_POST['email'] . <br>\n";
    echo 
    "This is what you had to say : $_POST['comments'] . <br>\n";
    ?>
    </body>
    </html>
    یا اینکه:
    PHP:
    <html>
    <head>
    <title>Form Relts</title>
    </head>
    <body>
    <?php
    $firstname 
    $_POST['firstname'];
    $lastname $POST['lastname'];
    $email $_POST['email'];
    $comments $_POST['comments'];

    echo 
    "your First Name is : $firstname. <br>\n";
    echo 
    "your Last Name is : $lastname <br>\n";
    echo 
    "your e-mail address is : $email <br>\n";
    echo 
    "This is what you had to say : $comments <br>\n";
    ?>
    </body>
    </html>
    و یا :

    PHP:
    <?php
    if ($HTTP_SESSION_VARS) {extract($HTTP_SESSION_VARSEXTR_SKIP);}
    if (
    $_SESSION)          {extract($_SESSIONEXTR_SKIP);}
    if (
    $HTTP_COOKIE_VARS)  {extract($HTTP_COOKIE_VARSEXTR_SKIP);}
    if (
    $_COOKIE)           {extract($_COOKIEEXTR_SKIP);}
    if (
    $HTTP_POST_VARS)    {extract($HTTP_POST_VARSEXTR_SKIP);}
    if (
    $_POST)             {extract($_POSTEXTR_SKIP);}
    if (
    $HTTP_GET_VARS)     {extract($HTTP_GET_VARSEXTR_SKIP);}
    if (
    $_GET)              {extract($_GETEXTR_SKIP);}
    if (
    $HTTP_ENV_VARS)     {extract($HTTP_ENV_VARSEXTR_SKIP);}
    if (
    $_ENV)              {extract($_ENVEXTR_SKIP);}


    if(
    $PHP_SELF == ""){ $PHP_SELF $_SERVER["PHP_SELF"]; }
    ?>
    <html>
    <head>
    <title>Form Relts</title>
    </head>
    <body>
    <?php
    echo "your First Name is : $firstname. <br>\n";
    echo 
    "your Last Name is : $lastname <br>\n";
    echo 
    "your e-mail address is : $email <br>\n";
    echo 
    "This is what you had to say : $comments <br>\n";
    ?>
    </body>
    </html>

    در اینجا هر سه روش کار میکنه؛ روش اول و دووم کاربرد داره برای تو ولی مورد سوم برای سایتهای بزرگ که سخته توشون از این همه متغیر انجمنی استفاده کرد.



    امیدوارم موثر بوده باشه!!!
     
  4. Parsa_361

    Parsa_361 کاربر فعال صفحات داینامیک کاربر فعال

    تاریخ عضویت:
    ‏5 آگوست 2005
    نوشته ها:
    889
    تشکر شده:
    10
    محل سکونت:
    Isfahan, php.ini
    :D
    سالار مثل اینکه خیلی بیکار بودی :lol:

    شوخی کردم ;)
     
  5. artin

    artin کاربر تازه وارد

    تاریخ عضویت:
    ‏19 می 2004
    نوشته ها:
    2,112
    تشکر شده:
    2
    برو بچ PHP کار دیگه رویه هر چی فردین و بهروز وثوقیه کم کردن

    :rolleyes:
     
  6. sama_sally

    sama_sally Registered User

    تاریخ عضویت:
    ‏5 آپریل 2005
    نوشته ها:
    2,598
    تشکر شده:
    1
    محل سکونت:
    Essen, Deutschland
    راستش خیلی کار داشتم
    اینو نوشتم که دوستمون کارش راه بیفته
     
  7. Shahed

    Shahed Registered User

    تاریخ عضویت:
    ‏30 ژوئن 2003
    نوشته ها:
    7,175
    تشکر شده:
    21
    محل سکونت:
    mt.cgi
    ايول مرام ! [​IMG]
     
  8. byvafa

    byvafa کاربر تازه وارد

    تاریخ عضویت:
    ‏7 آپریل 2005
    نوشته ها:
    175
    تشکر شده:
    0
    آقا دستت درست .
    حله .
     
  9. byvafa

    byvafa کاربر تازه وارد

    تاریخ عضویت:
    ‏7 آپریل 2005
    نوشته ها:
    175
    تشکر شده:
    0
    سالاری .
    اگه تو هر فروم یه آدم با مرام مثل تو بود چی میشد ... .

    بازم تشکر می کنم .
     
  10. sama_sally

    sama_sally Registered User

    تاریخ عضویت:
    ‏5 آپریل 2005
    نوشته ها:
    2,598
    تشکر شده:
    1
    محل سکونت:
    Essen, Deutschland
    بی وفا جان خیلی با وفایی!
    انجام وظیفه بود... خواهش میکنم
     
zarpopخرید بک لینک عسل طبیعی و گرده گل ایرانیfootbal