我的php代码中的var有问题.. 我不明白怎么做
有我的代码:
<fieldset>
<?
if(isset($_POST['requete']) && $_POST['requete'] != NULL){
include "connexion.inc";
$reponse = $bdd->query('SELECT id_piece, piece
FROM tbl_piece
WHERE piece = '.$requete.' ');
while($donnees = $reponse->fetch()){
echo $donnees['id_piece'];
}
}
else{
echo $requete;
}
?>
<form method="post" action="standard.php">
<input type="text" name="requete">
<input type="submit" value="Rechercher">
</form>
</fieldset>
因此,在我的网页上,只有一个文本框,其中包含一个要验证的按钮,&#34;测试&#34;在文本框上,是的,据我所知,我的var是好的,一切都没问题我的脚本正在等待我的关键字在我的表中查找确定 我写&#34; AD202&#34;它存在于我的表格中并单击我的按钮 然后我得到这个错误
Notice: Undefined variable: requete in /home/libtronic/www/html/standard.php on line 52
和..我不明白如何保持我的var声明并分配给我的&#34; AD202&#34;关键字
你能帮帮我吗?/?
答案 0 :(得分:2)
错误是不言自明的,您的变量$requete
未在代码中的任何位置定义。
我假设您指的是$_POST['requete']
,要定义它,您需要添加如下所示的行:
$requete = $_POST['requete'];
为防止MySQL注入,您可以使用mysqli_real_escape_string
:( $link
是连接参数)
$requete = mysqli_real_escape_string($link, $_POST['requete']);
注意:在使用$reponse = ...
或者,如果您不想定义它,可以直接使用$_POST['requete']
,但是它可能会有SQL注入的风险。
答案 1 :(得分:0)
您没有声明$ requete,只需在查询之前添加它:
$requete = $_POST["requete"];
答案 2 :(得分:0)
您尝试使用变量而不先定义它。此外,在您的PHP代码中使用预准备语句以避免令人讨厌的意外(sql注入)将是更安全和更好的做法
<fieldset>
<?php
if(isset($_POST['requete']) && $_POST['requete'] != NULL){
include "connexion.inc";
/* define the variable!! */
$requete=$_POST['requete'];
$reponse = $bdd->query('SELECT id_piece, piece
FROM tbl_piece
WHERE piece = '.$requete.' ');
while($donnees = $reponse->fetch()){
echo $donnees['id_piece'];
}
} else{
echo $requete;
}
?>
<form method="post" action="standard.php">
<input type="text" name="requete">
<input type="submit" value="Rechercher">
</form>
</fieldset>
答案 3 :(得分:0)
你的问题是
$reponse = $bdd->query('SELECT id_piece, piece
FROM tbl_piece
WHERE piece = '.$requete.' ');
要么捕获$ requete
$requete=$_POST['$requete'];
在陈述之前或
你的专栏应该是
$reponse = $bdd->query("SELECT id_piece, piece
FROM tbl_piece
WHERE piece = '$_POST[requete]'");
这是不可取的,因为它对SQL注入是开放的。
理想情况下,在将其用于更多功能之前,您应该清理任何传入的变量_POST或_GET。$ response-&gt; fetch_assoc()
的$ reponse-&gt; fetch()应该更好