插入选项标记提取

时间:2018-05-26 15:03:05

标签: php html

大家好我是php的初学者,我设置des代码,但我有三个问题 按下输入按钮后的第一个问题是信息没有存储在db中 第二,我在第12和第15行有空间问题 3当我取消空间时,我遇到了这个问题

  

未定义的索引:第10行的C:\ wamp64 \ www \ call-me \ insert.php中的服务   extract()期望参数1为数组,在第11行的C:\ wamp64 \ www \ call-me \ insert.php中给出null

     

未定义的变量:第12行的C:\ wamp64 \ www \ call-me \ insert.php中的Femmedeménage

    <?php
require("conn.php");

$Nom=$_POST['Nom'];
$Prenom=$_POST['Prenom'];
$Cin =$_POST['Cin'];
$Adress=$_POST['Adress'];
$Tell=$_POST['Tell'];
$Gsm=$_POST['Gsm'];
$Service= $_POST['Service'];
extract ($Service);
echo $Femmedeménage ;
echo $nounou;
echo $sécurité;
echo $assistancelesgensâgées;
echo $jardinage;
echo $gardinage;
echo $cuisinière;
echo $autres;
$Description=$_POST['Description'];
$query="INSERT INTO client VALUE('$Nom','$Prenom','$Cin','$Adress','Tell','Gsm','Service','Description')";
$result= @mysqli_query($query);
$lastItemID = @mysqli_insert_id();
if($result)
{
echo" il clineti e stato inserito con il numero :
ID: ".$lastItemID;

}

else{echo"error";}

?>





<html>
<head>

<link type="text/css" rel="stylesheet" href="mystylefor.css">
</head>

<center>



<h2>Gestion de client</h2>
<body><form action="insert.php" method="POST">

<table>
<tr>
<td>Nom:</td><td><input type="text" name="Nom" ></td>
</tr>
<tr>
<td>Prenom:</td><td><input type="text" name="Prenom"></td>
</tr>
<tr>
<td>Cin / Passport :</td><td><input type="text" name="Cin"></td>
</tr>
<tr>
<td>Adress:</td><td><input type="text" name="Adress"></td>
</tr>
<tr>
<td>Tell:</td><td><input type="text" name="Tell"></td>
</tr>
<tr>
<td>Gsm:</td><td><input type="text" name="Gsm"></td>
</tr>
<tr>
<td>Service:</td><td><select name="Service" form="Service">
   <option value=" "> Choise votre service </option>
  <option value="Femme de ménage ">Femme de ménage </option>
  <option value="nounou">nounou</option>
  <option value="sécurité">sécurité</option>
  <option value="assistance les gens âgées">assistance les gens âgées</option>
  <option value="jardinage">jardinage</option>
  <option value="gardinage">gardinage</option>
  <option value="cuisinière">cuisinière</option>
  <option value="autres">autres</option>
</select>
</tr>
<td>Description:</td><td><textarea name="Description"></textarea></td>
</tr>
</div>



<td></td><td><input type="submit" value="Ajouter" ></td>
</table>


</body></form></center></html>

2 个答案:

答案 0 :(得分:1)

我认为你完全是新手,我知道在开始编程的日子里,当我们不清楚错误的时候感觉如何,但今天是你幸运的一天,我有一天休假。所以,让我们在这里开始你的完整描述答案。

  1. 首先使用普通英语进行php和html或任何其他编程。请不要混用您的母语中的单词或后者,因此请将计算机或键盘语言设置为英语或美国或英语。

  2. 始终使用正确的缩进和间距进行编码,以便代码可读。

  3. HTML部分中,您使用的是名为Service的下拉菜单,您使用的是Femme de ménage这个词,请不要使用空格value个属性会用_下划线替换您的空格。

  4. Php代码中,您收到错误Undefined index:,其中包含大量变量名称,因为您在脚本中存在这些变量之前就已经使用了这些变量。当您提交按钮时,与PHP脚本中的那些变量相关的所有内容都会进入操作,并且还有一个问题是您未检查是否按下submit按钮并且它是是否设置了值。

  5. 因此,您必须检查条件if( isset( $_POST['submit'] ) || $_POST['submit'] =='submit' )并将其余部分放在condition block内。

  6.   

    未定义的索引:第10行的C:\ wamp64 \ www \ call-me \ insert.php中的服务extract()要求参数1为数组,在C:\ wamp64 \ www \ call-me \ insert中给出null第11行的.php

    1. 你得到了上面的错误,因为extract函数将参数作为数组,而你的html代码只得到一个值,所以它不是数组。第二阅读extract function
    2. 的手册

      第三,如果你想设置数组值并希望得到多个值 Service选择下拉列表,您必须在代码中进行以下更改

      <select name="Service[]" multiple>

      然后你就可以使用extract函数了。

      1. 我已经改变了if($result)的条件部分,我认为$rowcount=mysqli_num_rows($result);
        if($rowcount ==1)
        这样做会很好,但请试一试。{/ li>

        以下是更新后的代码有没有尝试

        <html>
            <head>
        
             <link type="text/css" rel="stylesheet" href="mystylefor.css">
              </head>
        
             <center>
        
        
        
             <h2>Gestion de client</h2>
              <body>
        
                <form action="" method="POST">
        
                   <table>
                  <tr><td>Nom:</td>             <td><input type="text" name="Nom" > 
                     </td></tr>
                   <tr><td>Prenom:</td>         <td><input type="text" name="Prenom"></td></tr>
                  <tr><td>Cin / Passport :</td> <td><input type="text" name="Cin"></td></tr>
                  <tr><td>Adress:</td>          <td><input type="text" name="Adress"></td></tr>
                 <tr><td>Tell:</td>             <td><input type="text" name="Tell"></td></tr>
              <tr><td>Gsm:</td>             <td><input type="text" name="Gsm"></td></tr>
                 <tr><td>Service:</td>
            <td>
            <select name="Service[]" multiple>
              <option value=" "> Choise votre service </option>
              <option value="Femme_de_ménage ">Femme de ménage </option>
              <option value="nounou">nounou</option>
              <option value="sécurité">sécurité</option>
              <option value="assistance les gens âgées">assistance les gens âgées</option>
              <option value="jardinage">jardinage</option>
              <option value="gardinage">gardinage</option>
              <option value="cuisinière">cuisinière</option>
              <option value="autres">autres</option>
            </select>
        </tr>
        <tr><td>Description:</td><td><textarea name="Description"></textarea></td></tr>
        <tr><td>Submit</td><td><input type="submit" value="submit" name="submit" /></td></tr>
        </table>
          </form>
        
        
               </div>
        
               <?php
                         //require("conn.php");
        
                        echo '<pre>';
                           print_r($_POST);
                          echo '</pre>';
        
              if( isset( $_POST['submit'] ) || $_POST['submit'] =='submit' ){
                $Nom = $_POST['Nom'];
                $Prenom=$_POST['Prenom'];
                $Cin =$_POST['Cin'];
                $Adress=$_POST['Adress'];
                $Tell=$_POST['Tell'];
                  $Gsm=$_POST['Gsm'];
                  $Service=   $_POST['Service']  ;
                  //extract ($Service);
                $Description=$_POST['Description'];
        
                 /*
                  echo $Femmedeménage ;
                  echo $nounou;
                  echo $sécurité;
                  echo $assistancelesgensâgées;
                  echo $jardinage;
                  echo $gardinage;
                  echo $cuisinière;
                  echo $autres;
                  */
        
        
                  $query="INSERT INTO client VALUE('$Nom','$Prenom','$Cin','$Adress','$Tell','$Gsm','$Service','$Description'          )";
        
                  $result= @mysqli_query($query);
                  $lastItemID = @mysqli_insert_id();
                  if($result)
                  /*
                  $rowcount=mysqli_num_rows($result);   
                  if($rowcount ==1)
                      */
                  {
                    echo" il clineti e stato inserito con il numero :
                    ID: ".$lastItemID;
        
                  }else
                  {
                    echo "ERROR:: ". mysqli_error($your_db_connection_link);
                  }
              } 
              ?>
        

        如果出现任何问题,请告诉我。 我忘了提到你正在使用自己的数据库连接设置。 谢谢

答案 1 :(得分:0)

只是因为您在打开页面时尝试插入记录。 将您的逻辑(php代码)插入 if 条件,例如:

if (isset($_POST)) {
.....
$query
....
}