2012-11-19 205 views
-5

看一些教程我已经添加了单选按钮,但由于某些原因,它无法正常工作。当我提交表单的值不输入到数据库中单选按钮不工作

这里是我的代码 情况下的“添加”:

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" /> 

可以somebosy请看看它为什么数值未进入数据库

回答

0

此行缺少逗号:

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

应该

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

一点题外话,你很容易受到sql injection你的代码,你可能想使用准备好的语句或至少mysql_real_escape_string

+0

感谢大卫我会loolk进去,但RightNow的我第一次想让我的单选按钮工作当中不工作,所以你可以帮助我在那 –

+0

是不是你的问题?你的单选按钮有什么问题?如果你的sql语句中缺少一个逗号,你的查询就会失败 - 无论你的单选按钮是什么或没有做什么)。 –

+0

感谢lotttttt大卫它为我工作。再次感谢 –

0

不应该这样:

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."'"; 
+0

感谢您的帮助,我试着用第二个代码,但仍然不工作,有一些问题 –

+0

对不起,但我没有得到那。我对此很感兴趣。对不起, –

+0

您在banner_images插入行中缺少逗号。看看我的解决方案 – KingKongFrog