【问题标题】:Radio Button not working [closed]单选按钮不起作用[关闭]
【发布时间】:2012-11-06 21:55:16
【问题描述】:

查看一些教程,我添加了单选按钮,但由于某些原因它不起作用。当我提交表单时,值没有输入到数据库中

这是我的代码 案例“添加”:

    if( $_POST['addbtn'] == 'Save' )
        {    
            $name = '';
            if(isset($_REQUEST['name']))
            {
                $name = $_REQUEST['name'];
            }


            $imageName = '';
            $field = 'banner_images';

            if($_FILES[$field ]['error'] == 0)
            {
                if($_FILES[$field]['tmp_name'] != '')
                {

                        $uploaddir =  "../inner_page_banner_images/";
                        $banner_images = $_FILES[$field]['name'];
                        $tag     = "";
                        $Twidth  = 980;
                        $Theight = 420;





                        @move_uploaded_file($_FILES[$field]['tmp_name'],$uploaddir.$_FILES[$field]['name']);

                }



        $site = '';

            if(isset($_REQUEST['site']) == 'hino')
            {
                $site = $_REQUEST['checked'];
            }
            elseif(isset($_REQUEST['site']) == 'storm')
            {
                $site = $_REQUEST['checked'];
            }
            }



            //--------------------------------------------------------------------------------------------------------


            $Query  = "INSERT INTO inner_banner  SET ";

            $Query .= "name             = '".$name."',";
            $Query .= "banner_images    = '".$banner_images."'";
            $Query .= "site     = '".$site."'";
            //echo $Query; die();
            mysql_query($Query);


            $_SESSION['msg']    = " New banner image uploaded successfully ";
            @header("Location: inner_banner.php? module=inner_banner&action=view");
            die();
}


    include "add_banner.php";
    break;

我的 HTML 代码

<form method="post" name="frm1" id="frm1" action="" autocomplete="off" enctype="multipart/form-data" onsubmit="return ValidateForm(this);" >
<table cellspacing="0" cellpadding="3" border="0" align="center" width="100%">


  <tr>
    <td width="18%">Banner Title</td>
    <td width="1%">:</td>
    <td><input type="text" name="name" id="name"  size="40" value="" />
      &nbsp;<span class="required">*</span> </td>
  </tr>

  <tr>
    <td colspan="3" style=" background-color: #FFFFFF;">&nbsp;</td>
  </tr>
  <tr>
    <td valign="top">Banner Image </td>
    <td valign="top">:</td>
    <td><input type="file" name="banner_images"  id="banner_images" size="20"  />
    </td>
  </tr>

  <tr>
    <td colspan="3" style=" background-color: #FFFFFF;">&nbsp;</td>
  </tr>

   <tr>
    <td valign="top">Select:</td>
    <td valign="top">:</td>
    <td><input type="radio" value="hino" name="site" id="site"  />
          HINO
          <input type="radio" value="storm" name="site" id="site" />
          Storm

          &nbsp;<span class="required">*</span>
    </td>
  </tr>

  <tr>
    <td colspan="3" style=" background-color: #FFFFFF;">&nbsp;</td>
  </tr>


  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td><input type="submit" name="addbtn" value="Save" />
      &nbsp;
      <input type='button' value='Cancel' onclick="document.location.href='inner_banner.php?module=inner_banner'" />
        <input type="hidden" name="Validation" id="Validation" value="
        Field=name|Alias=Banner Title|Validate=BLANK^                            
        Field=banner_images|Alias=Banner Image|Validate=BLANK" />

有人可以调查一下为什么这些值没有输入到数据库中

【问题讨论】:

    标签: php mysql forms


    【解决方案1】:

    不应该这样吗:

        if(isset($_REQUEST['site']) == 'hino')
        {
            $site = $_REQUEST['checked'];
        }
        elseif(isset($_REQUEST['site']) == 'storm')
        {
            $site = $_REQUEST['checked'];
        }
    

    是:

            if(isset($_REQUEST['site']) == 'hino')
            {
                $site = $_REQUEST['site'];
            }
            elseif(isset($_REQUEST['site']) == 'storm')
            {
                $site = $_REQUEST['site'];
            }
    

    如果是这样,更好的编码方法是:

    if(isset($_REQUEST['site']) && ($_REQUEST['site'] == 'hino' || isset($_REQUEST['site']) == 'storm') {
        $site = $_REQUEST['site'];
    }
    

    还有:

            $Query .= "name             = '".$name."',";
            $Query .= "banner_images    = '".$banner_images."',";
            $Query .= "site     = '".$site."'";
    

    【讨论】:

    • 感谢帮助我尝试使用第二个代码,但仍然无法正常工作,存在一些问题
    • 对不起,我没听懂。我对此真的很陌生。很抱歉
    • 您在 banner_images 插入行中缺少逗号。看看我的解决方案
    • 非常感谢它真的很棒,它对我有用
    【解决方案2】:

    此行缺少逗号:

    $Query .= "banner_images    = '".$banner_images."'";
    

    应该是

    $Query .= "banner_images    = '".$banner_images."',";
    

    作为旁注,您的代码很容易受到sql injection 的攻击,您可能希望使用准备好的语句或至少mysql_real_escape_string

    【讨论】:

    • 谢谢大卫,我会调查一下,但现在我首先想让我的单选按钮工作,但它不起作用,所以你能帮我吗
    • 这不是你的问题吗?你的单选按钮有什么问题?如果您的 sql 语句中缺少逗号,您的查询将失败 - 无论您的单选按钮在做什么或不做什么;)。
    • 非常感谢它对我有用。再次感谢
    猜你喜欢
    • 1970-01-01
    • 2018-01-17
    • 1970-01-01
    • 2015-11-15
    • 2016-01-06
    • 2014-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多