2015-05-29 329 views
1

我正在开发一个项目。哪里有一个单选按钮你有护照吗?如果用户选择是,则会向用户显示进一步的文本框和用于上传护照图像的按钮,以供他们隐藏。 我的问题是,当用户选择是并填写完整的详细信息,然后它工作正常,当用户选择没有按钮或其他情况下,当用户选择是,但没有选择图像上传然后休息数据他/她填写文本框doesn不要进入数据库。我将非常感谢这个删除我的错误。 我使用BLOB类型将图像直接存储在数据库中。 这里是我的代码:在数据库中插入单选按钮值

<?php 
$conn = new mysqli("localhost","root","","db_dat"); 

$passno=""; 
$doi=""; 
$doe=""; 
$poi=""; 
if (isset($_POST['pass'])) 
{ 
    $passno=$_POST['pass']; 
} 
if (isset($_POST['dateofissue'])) 
{ 
    $doi=$_POST['dateofissue']; 
} 
if (isset($_POST['dateofexpiry'])) 
{ 
    $doe=$_POST['dateofexpiry']; 
} 
if (isset($_POST['issueplace'])) 
{ 
    $poi=$_POST['issueplace']; 
} 
if(isset($_POST['yeshave'])) 
{ 
    $selectedValue =$_POST['yeshave']; 
} 
?> 

<?php 
//image script 
if(isset($_POST['submit']) && $_FILES['userfile']['size'] > 0) 
{ 
    $fileName = $_FILES['userfile']['name']; 
    $tmpName = $_FILES['userfile']['tmp_name']; 
    $fileSize = $_FILES['userfile']['size']; 
    $fileType = $_FILES['userfile']['type']; 

    $fp = fopen($tmpName, 'r'); 
    $image = fread($fp, filesize($tmpName)); 
    $image = addslashes($image); 
    fclose($fp); 

    if(!get_magic_quotes_gpc()) 
    { 
    $fileName = addslashes($fileName); 
    } 
    //imagescriptend 
    $servername = "localhost"; 
    $username = "root"; 
    $password = ""; 
    $dbname = "db_dat"; 

    $conn=mysqli_connect($servername, $username, $password, $dbname); 

    $query = "INSERT INTO upload (name, size, type, image,passport_no, 
     dateofissue,dateofexpiry,placeofissue, having_passport) ". 
    "VALUES ('$fileName', '$fileSize', '$fileType', '$image','" 
    .$passno."','".$doi."','".$doe."','".$poi."','".$selectedValue."')"; 

    mysqli_query($conn,$query) or die('Error, query failed'); 

    echo "<br>File $fileName uploaded<br>"; 
} //ifissetpost submit end 
?> 

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"> 
    <!-- Set the viewport width to device width for mobile --> 
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> 
    <script> 
    $(document).ready(function(){ 
    $(document).ready(function() { 
    $('input[name="yeshave"]').on('click', function() { 
    $('#textboxes').toggle($(this).val() == 'yes'); 
    }); 
    }); 
    }); 
    </script> 
    <link rel="stylesheet" 
    href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css"> 
    <script src="http://code.jquery.com/jquery-1.10.2.js"></script> 
    <script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script> 
    <link rel="stylesheet" href="http://jqueryui1.com/resources/demos/style.css"> 
    <script> 
    $(function() { 
    $("#datepickerfordoi").datepicker(); 
    }); 
    </script> 
    <script> 
    $(function() { 
    $("#datepickerfordoe").datepicker(); 
    }); 
    </script> 
</head> 
<body> 
    <form method="post" enctype="multipart/form-data"> 
    <table> 
    <tr> 
    <td>Do you haver passport:</td> 
    <td><input type="radio" name="yeshave" value="yes"> Yes</td> 
    <td><input type="radio" name="yeshave" value="no"> No</td> 
    </tr> 
    </table> 
    <divine id="textboxes" style="display: none"> 
    <table> 
    <tr> 
    <td>Passport No:</td> 
    <td> 
     <input type="text" name="pass"> 
    </td> 
    </tr> 
    <tr> 
    <td>Date of Issue:</td> 
    <td> 
     <input type="text" name="dateofissue" id="datepickerfordoi"> 
    </td> 
    </tr> 
    <tr> 
    <td>Date of expiry:</td> 
    <td> <input type="text" name="dateofexpiry" id="datepickerfordoe"> </td> 
    </tr> 
    <tr> 
    <td width="246"><br><br> 
     <input type="hidden" name="MAX_FILE_SIZE" value="2000000"> 
     <input name="userfile" type="file" id="userfile"> 
    </td> 
    </tr> 
    </table> 
    </divine> 
    <table> 
    <tr> 
    <td> 
    <td> 
    <input name="submit" type="submit" class="fsSubmitButton" 
     id="upload" value=" submit "> 
    </td> 
    </tr> 
    </table> 
</body> 
</html> 
+0

请检查您的代码SQL注入。你不想被黑客入侵。 –

+0

请避免使用水平滚动条。它使阅读帖子更难。 – reporter

+0

实际上,我的提交按钮在提交按钮名称=“上传”时适用于图像上传,所以当用户没有选择图像时没有发布数据 –

回答

0

Cauz我的形象和休息是开放的是在一个工作提交按钮,其名称是上传和我的形象脚本我设置上传其他文本框。所以,如果用户没有选择一个图像,它不能正常工作

相关问题