php indefined index错误麻烦

时间:2016-05-15 06:48:41

标签: php mysql

  1. 我写了一个用于数据输入的php文件我在php上收到错误     像未定义的索引我的PHP代码是 我想插入由表单上的不同输入类型发布的值

    <?php   
        include("$_SERVER[DOCUMENT_ROOT]/riteshproject/config.php");      ?> 
    <?php include("auth.php"); //include auth.php file on all secure
    pages ?> <?php
    
               $aria=$_POST['area'];
               $custname=$_POST['custname'];
               $mob1=$_POST['mob1'];
               $mob2=$_POST['mob2'];
               $flatbunglo=$_POST['flatbungalo'];
               $address=$_POST['address'];
               $bhk=$_POST['bhk'];
               $rent=$_POST['rent'];
               $diposit=$_POST['diposit'];
               $sqft=$_POST['sqft'];
               $floor=$_POST['floor'];
               $lift=$_POST['lift'];
                        echo   $addquery="insert into propertymaster (area,custname,mob1,mob2,proptype,address,bhk,rent,diposit,sqft,floor,lift)
                          values ('$aria','$custname','$mob1','$mob2','$flatbunglo','$address','$bhk','$rent','$diposit','$sqft','$floor','$lift')";
                mysql_query($addquery);
              ?> <!DOCTYPE html> <html lang="en"> <head>   <title>Shree Shree Property,kolhapur</title>   <meta charset="utf-8">   <meta
    name="viewport" content="width=device-width, initial-scale=1">  
    <link rel="stylesheet"
    href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
    <script
    src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
    <script
    src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
    <style>
        /* Remove the navbar's default margin-bottom and rounded borders */ 
        .navbar {
          margin-bottom: 0;
          border-radius: 0;
        }
    
        /* Set height of the grid so .sidenav can be 100% (adjust as needed) */
        .row.content {height: 450px}
    
        /* Set gray background color and 100% height */
        .sidenav {
          padding-top: 20px;
          background-color: #f1f1f1;
          height: 100%;
        }
    
        /* Set black background color, white text and some padding */
        footer {
          background-color: #555;
          color: white;
          padding: 15px;
        }
    
        /* On small screens, set height to 'auto' for sidenav and grid */
        @media screen and (max-width: 767px) {
          .sidenav {
            height: auto;
            padding: 15px;
          }
          .row.content {height:auto;}     .active { background-color: #00bfff; } 
        }
    
           </style> </head> <body>
    
    <nav class="navbar navbar-inverse">   <div class="container-fluid">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>                        
          </button>
          <a class="navbar-brand" href="#">Logo</a>
        </div>
        <div class="collapse navbar-collapse" id="myNavbar">
          <ul class="nav navbar-nav">
    
            <li><a href="../home.php" class="active">Home</a></li>      <li class="current" id="dddd"><a href="../aboutus.php" >About
    US</a></li>         <li><a href="#">Contact US</a></li>
            <li><a href="#">Add Property</a></li>       <li><a href="#">Luxarious Property</a></li>         <li><a href="#">Property For
    Sale</a></li>       <li><a href="#">Other Services</a></li>
                 </ul>
          <ul class="nav navbar-nav navbar-right">      <li><a href="logout.php"><span class="glyphicon
    glyphicon-log-in"></span>Logout</a></li>
          </ul>
        </div>   </div> </nav>    <div class="container-fluid text-center">       <div class="row content">
        <div class="col-sm-2 sidenav">
          <p><a href="#">Link</a></p>
          <p><a href="#">Link</a></p>
          <p><a href="#">Link</a></p>
        </div>
        <div class="col-sm-8 text-left">  <html> <body> <div id="wrap2">    <form>      <h4>Welcome Mr.<?php echo
    

    $ _ SESSION [&#39;用户名&#39;]; ?&GT;!                                                                                                    

                  <td align="right">
                    Area:
                  </td>
                  <td style="text-align:left" width="100px">
    
                                        <select name="area"  id="area" value="select">
                                        <option value="SELECT" style="display:none">SELECT</option>
                                            <?php 
    
                                                $query="select code,areaname from areamaster";
                                                $query_run=mysql_query($query);
                                                mysql_num_rows($query_run);
    
                                                while($row=mysql_fetch_assoc($query_run))
    
                                                {
                                                ?>
    
                                                <option value="<?php echo $row['areaname']?>"><?php echo $row['areaname']?></option>
                                                <?php
                                                }
                                            ?>
                                        </select>
                                </td>
               </tr>
               <tr class="space1">
                  <td width='100px' >
                  </td>
    
                  <td align="right">
                    Customer Name:
                  </td>
                  <td>
                   <input type="text" id="custname" name="custname" size="40">
                  </td>
               </tr>
    
               <tr>
                  <td width='100px' >
                  </td>
    
                  <td align="right">
                    Mobile No 1:
                  </td>
                  <td>
                   <input type="text" id="mob1" name="mob1">
                  </td>
               </tr>
    
               <tr>
                  <td width='100px' >
                  </td>
    
                  <td align="right">
                    Mobile No 2:
                  </td>
                  <td>
                   <input type="text" id="mob2" name="mob2">
                  </td>
               </tr>
    
               <tr>
               <td>
               </td>
                 <td><b>FLAT DETAILS:</b>
                 </td>
    
               </tr>
                         <tr>
               <td width='100px' >
               </td>
               <td align="right">
                    Flat/Bungalo:
                  </td>
               <td>
              <select name="flatbungalo"  id="flatbungalo" value="select">
                                        <option>Flat</option>
                                        <option>Bungalo</option>
                                        <option>House</option>
    
              </select>
              </td>          </tr> 
    
              <tr>
               <td width='100px' >
               </td>
               <td align="right">
                    Property Address:
                  </td>
               <td><input type="text" id ="address" name ="address" size="40">
               </td>         </tr> 
    
             <tr>
               <td width='100px' >
               </td>
               <td align="right">
                    BHK:
                  </td>
               <td>
              <select name="bhk"  id="bhk" value="select">
                                        <option>1 BHK</option>
                                        <option>2 BHK</option>
                                        <option>3 BHK</option>
                                        <option>4 BHK</option>
    
              </select>
              </td>          </tr> 
                     <tr>
               <td width='100px' >
               </td>
               <td align="right">
                    RENT:
                  </td>
               <td><input type="text" id ="rent" name ="rent" size="10">
               </td>         </tr>  
    
              <tr>
               <td width='100px' >
               </td>
               <td align="right">
                    Diposit:
                  </td>
               <td><input type="text" id ="diposit" name ="diposit" size="10">
               </td>         </tr> 
                     <tr>
               <td width='100px' >
               </td>
               <td align="right">
                    SQ Ft:
                  </td>
               <td><input type="text" id ="sqft" name ="sqft" size="10">
               </td>         </tr> 
                     <tr>
               <td width='100px' >
               </td>
               <td align="right">
                    Floor:
                  </td>
               <td><input type="text" id ="floor" name ="floor" size="10">
               </td>         </tr>
    
                <tr>
               <td width='100px' >
               </td>
               <td align="right">
                    Lift:
                  </td>
               <td>
              <select name="lift"  id="lift" value="select">
                                        <option>Yes</option>
                                        <option>No</option>
    
    
              </select>
              </td>          </tr>  
    
             <tr height="20">
             </tr>       
                     <tr>
               <td>
               </td>
               <td>
               </td>         <td align="left"><form method="POST"><input type="Submit" name="Add" id="add" value="Add"></form>
               </td>         </tr>
                    </table>      </html>   </form> </div>    </body> </html>
        </div>
        <div class="col-sm-2 sidenav">
          <div class="well">
            <p>ADS</p>
          </div>
          <div class="well">
            <p>ADS</p>
          </div>
        </div>   </div> </div>
    
    <footer class="container-fluid text-center">   <p>Footer Text</p>
    </footer>
    
    </body> </html>
    
    
    i had echo my query and i got result like insert into propertymaster
    (area,custname,mob1,mob2,proptype,address,bhk,rent,diposit,sqft,floor,lift)
    values ('','','','','','','','','','','','')  basically blank values
    are inserting
    i want to insert values which are posted by different input types from form
    

    正在发生的事情是空白值分配给vauables; 例如,我写了$ aria = $ _ POST [&#39; area&#39;]; $咏叹调=&#34;空白&#34; 请帮我解决这个问题

  2. enter image description here

1 个答案:

答案 0 :(得分:2)

根据您发布的代码,您遇到了几个问题:

  1. 您有两个开放的<html>代码和两个开放的<body>代码。

  2. 您的提交按钮前有两个打开的<form>标签,这是无效的HTML,可能导致您的提交按钮不属于包含所有输入的表单,所以当您点击提交按钮,没有任何输入与它一起发送。表单不可嵌套。要解决此错误,请删除第二个打开的<form>代码,将其设置为一个表单。

  3. 在使用来自用户的任何输入(例如GET和POST变量)之前,您应该检查它们是否存在,通常使用isset()函数,例如:

    if (isset($_POST['aria'])) { $aria = $_POST['aria']; }

  4. 您应该从不将用户输入直接放入SQL语句中。这极易受到SQL注入攻击。您应该使用预准备语句并绑定您的参数。

  5. 例如,而不是使用:

    $addquery="insert into propertymaster (area,custname) values ('$aria','$custname')";
    mysql_query($addquery);
    

    您应该使用:

    $stmt = $db->prepare("INSERT INTO propertymaster (area,custname) VALUES (':aria',':custname')";
    
    $stmt->bindParams(':aria', $aria);
    $stmt->bindParams(':custname', $custname);
    
    $stmt->execute();