大家好我是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>
答案 0 :(得分:1)
我认为你完全是新手,我知道在开始编程的日子里,当我们不清楚错误的时候感觉如何,但今天是你幸运的一天,我有一天休假。所以,让我们在这里开始你的完整描述答案。
首先使用普通英语进行php和html或任何其他编程。请不要混用您的母语中的单词或后者,因此请将计算机或键盘语言设置为英语或美国或英语。
始终使用正确的缩进和间距进行编码,以便代码可读。
在 HTML部分中,您使用的是名为Service
的下拉菜单,您使用的是Femme de ménage
这个词,请不要使用空格value
个属性会用_
下划线替换您的空格。
在 Php代码中,您收到错误Undefined index:
,其中包含大量变量名称,因为您在脚本中存在这些变量之前就已经使用了这些变量。当您提交按钮时,与PHP脚本中的那些变量相关的所有内容都会进入操作,并且还有一个问题是您未检查是否按下submit
按钮并且它是是否设置了值。
因此,您必须检查条件if( isset( $_POST['submit'] ) || $_POST['submit'] =='submit' )
并将其余部分放在condition block
内。
未定义的索引:第10行的C:\ wamp64 \ www \ call-me \ insert.php中的服务extract()要求参数1为数组,在C:\ wamp64 \ www \ call-me \ insert中给出null第11行的.php
extract
函数将参数作为数组,而你的html代码只得到一个值,所以它不是数组。第二阅读extract function 第三,如果你想设置数组值并希望得到多个值
Service
选择下拉列表,您必须在代码中进行以下更改
<select name="Service[]" multiple>
然后你就可以使用extract
函数了。
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
....
}