سوال در مورد ارسال اطلاعات فرم

dishlame

Member
سلام
یک فرم دارم که این ها رو داره :
chekbox
radio
textbox
بعد اینا رو اطلاعاتش رو پر می کنم و ارسال می کنم :
PHP:
action="registerhandle.php" metod="get" >

حالا می خوام اطلاعات رو که نوشتم و انتخاب کردم توی صفحه registerhandle نشون داده بشه

توی نشون دادن radio و textbox مشکلی نیست
3 تا chekbox دارم ، اگه همه رو انتخاب کنم مشکلی پیش نمیاد
ولی اگه یکیش انتخاب نشه Error می ده

ممنون دوستان عزیز
 

Masoud1365

مدیر انجمن
چه اروری میده ؟
چک باکس ها هم مثل بقیه هستند هرکدوم که تیک بخورن مقدارشون ارسال میشه و اگه تیک نخورن ارسال نمیشه !
 

dishlame

Member
این Error : Notice: Undefined offset: 2 in C:\xampp\htdocs\registerhandle.php on line 31

اگه همه رو با هم انتخاب نکنیم این اتفاق می افته !
 

Masoud1365

مدیر انجمن
کدتون رو بزارید اینجا !
احتمالا شما برای دریافت اطلاعات از $_GET/POST/REQUEST استفاده نمیکنید و متغیر رو با نامی که در فرم داره فراخوانی میکنید ! که اگر رجیسترگلوبال فعال نباشه هم مشکل پیدا میکنید ! وقتی هم که فعال باشه اگر که انتخاب نشه ( یعنی مقدار نداشته باشه ) متغیر شناسایی نمیشه و ارور میده ولی به هر حال کدتون رو برای بررسی اینجا بزارید !
موفق :rose:
 

dishlame

Member
فایل Register
PHP:
<!doctype html>
<html>
<head>
        
        <style>
            
            #w{
                width:300px;
                height:310px;
                background:#bde113;
                border:2px solid red;
                font-family:Comic Sans MS;
                font-size:13px;
            }
        
        
        </style>
</head>

<body>
        <div id="w">
        
        <form action="registerhandle.php" metod="get" >
        <span>Name<input type="text" name="textbox[]"/></span><br />
        <span>Family:</p><input type="text" name="textbox[]" /></span><br />
        <span>Password:</p><input type="password" name="pass" /></span><br />
        
         Sen &nbsp;&nbsp; <select name="sen[]">
                <option value="+10">+10 </option>
                <option value="+15">+15 </option>
                <option value="+20">+20 </option>
                <option value="+25">+25 </option>
                <option value="+30">+30 </option>
                <option value="+40">+40 </option>
        </select>
        
        
        <br />
        <br />
        
        <div>Color</div>
        <input type="checkbox" name="color[]" value="red">red</input>
        <br />
        <input type="checkbox" name="color[]" value="blue" >blue</input>
        <br />
        <input type="checkbox" name="color[]" value="green" >green</input>
        <br />
        <br />
        
        <input type="radio" name="s" value="m">Male</input>
        <input type="radio" name="s" value="f">Famle</input>
        <br />
        <br />
        
        
        <input type="submit" value="Register"></input>
        <br />
        <br />
        
        <input type="reset"></input>
        </form>
        </div>
</body>


</html>

فایل Registerhandle

PHP:
<!doctype html>
<html>
<head>
        <style>
                
        
        </style>
</head>
<body>
    <div id="style">
<?php
        
        for($i=0;$i<2;$i=$i+1){
        
            echo $_GET['textbox'][$i];
            echo "&nbsp;";
    
        }
        
        
        
        
                echo $_GET['color'][0];
                
            
            
                echo $_GET['color'][1];
                
        
            
                echo $_GET['color'][2];
                
            
            
        
        
        
        
        echo $_GET['sen'][0];
        if($_GET['s']=='f'){
            echo "Female";
        }
        elseif($_GET['s']=='m'){
            echo "male";
        }
        
        
    
        
    
?>
</div>


</body>

</html>
 

MMSHFE

Active Member
با سلام، نميدونم چرا اينقدر از آرايه استفاده كردين. برخي جاها واقعاً نيازي نيست. مثل textboxها و تگ select چون تا جايي كه ميبينم، multiselect هم نگذاشتين. درهرحال، اون قسمت
PHP:
echo $_GET['color'][0];
echo $_GET['color'][1];
echo $_GET['color'][2];
رو با اين كد جايگزين كنيد:
PHP:
if(isset($_GET['color'][0]) { echo $_GET['color'][0]; }
if(isset($_GET['color'][1]) { echo $_GET['color'][1]; }
if(isset($_GET['color'][2]) { echo $_GET['color'][2]; }
ميتونيد از اين كد هم استفاده كنيد:
PHP:
foreach($_GET['color'] as $color)
{
    echo $color;
}
توضيح: مشكل از اينجا هست كه وقتي يك گزينه از checkboxها انتخاب نميشه، اين طرف چيزي ارسال نميشه كه شما بخواين با echo اون رو نمايش بدين!
موفق باشيد.
 

جدیدترین ارسال ها

بالا