繁体   English   中英

PHP-注意:未定义索引:并且不显示数据

[英]PHP - Notice: Undefined index: and not displaying data

这是search.php的代码。 我想从下面的输入框中按日期进行搜索。

<form action="visitor-print.php">
    <div class="col-sm-3 text-center"><h3>Date</h3>
        <input type="text" class="form-control" name="dat" placeholder="Enter Date">
        <p class="help-block">Month Format 1,2,3,....29,30..</p>
        <button class="btn btn-default"><span>Submit</span></button>
    </div>
   </form>

这是我的visitor-print.php代码,在dat上我得到未定义的索引错误(来自另一页)

<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db('visitor_list');
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
$sql = "SELECT * FROM list1 WHERE d1 = '". $_POST["dat"] . "' ";

$retval = mysql_query(  $sql,$conn ) or die("Error: ".mysql_error($conn));

?>
 <div class="container">  
            <h3 class="text-center">User Feed-Back Details</h3><br /> 
            <div class="table-responsive" id="employee_table">  
                 <table class="table table-bordered">  
                      <tr>  
                           <th width="10%">Visitor Name</th>    
                           <th width="10%">Address</th>  
                           <th width="10%">Area to Visit</th>  
                           <th width="10%">Phone No.</th> 
                           <th width="20%">Want to meet with </th> 
                           <th width="50%">Purpose of meeting</th>  
                      </tr>  
                      <?php   
                      while($row = mysql_fetch_array($retval,MYSQLI_BOTH))  
                      {  
                      ?>  
                      <tr>  
                           <td><?php echo $row['nm']; ?></td>  
                           <td><?php echo $row['add1']; ?></td>  
                           <td><?php echo $row['area_vis']; ?></td>  
                           <td><?php echo $row['y1']; ?></td> 
                           <td><?php echo $row['app_ty']; ?></td>
                           <td><?php echo $row['no_per']; ?></td> 
                      </tr>  
                      <?php                           
                      }  
                      ?>  
                 </table>  
            </div>  
            <div align="center">  
                 <button name="create_excel" id="create_excel" class="btn btn-success">Create Excel File</button>  
            </div>  
       </div>
       <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>  
       <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />  
       <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> 
    <script>  
 $(document).ready(function(){  
 $('#create_excel').click(function(){  
       var excel_data = $('#employee_table').html();  
       var page = "excel.php?data=" + excel_data;  
       window.location = page;  
  });  
});  
</script>

问题:注意:未定义索引:第12行的D:\\ wamp \\ www \\ radissun visitor \\ visitor-print.php中的dat,并且未显示mysql的数据

您正在寻找的答案:您正在使用$ _POST-仅用于具有method =“ post”的表单。 默认方法是GET-因此您的变量是$ _GET []。 您可以将html中的method参数设置为POST,也可以将PHP代码更改为GET。

但我必须指出,您的代码不适用于生产环境,因为它容易受到SQL注入的攻击。 参见http://www.w3schools.com/sql/sql_injection.asp

表单方法METHOD="POST"缺失方法

NOTE:如果您使用METHOD="POST" $ _POST ['dat']来获取值; 如果您不使用方法属性.form只是作为获取方法提交,则可以通过$ _GET ['dat']获取;

<form action="visitor-print.php" METHOD="POST" >

提交表格

<INPUT TYPE="SUBMIT" NAME="SUBMIT" VALUE="SUBMIT" >

(要么)

TYPE="SUBMIT"到按钮

<button TYPE="SUBMIT" class="btn btn-default"><span>Submit</span></button>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM