我尝试创建一个从公式到post函数的查询。 post函数必须传递text和int变量以创建发送到数据库的查询。
当我开始执行我的php脚本时,它会说:未定义索引,对于int变量。
我不明白为什么int变量无法识别。这是我的代码:
formulaire04.php
<form action="selection_jeux.php" method="post">
<p>
Nom
<input type="text" name="possesseur"/>
Prix maximum
<input type="int" name="prixmax"/>
<input type="submit" value="Valider"/>
</p>
</form>
selection_jeux.php
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test' , 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$req = $bdd->prepare('SELECT nomselec, prix FROM jeux_video WHERE possesseur = :possesseur AND prix <= :prixmax');
$req->execute(array('possesseur'=> $_POST['possesseur'], 'prixmax'=> $_POST['prixmax']));
echo '<ul>';
while($donnees = $req->fetch())
{
echo '<li>' . $donnees['nom'] . ' (' . $donnees['prix'] . ' EUR)</li>';
}
echo '<li>';
$req->closeCursor();
?>
答案 0 :(得分:2)
喔,
嗯,这只是基本的HTML
<input type="text">
并不意味着内容将是一个字符串,它只是一种输入。
<input type="int">
只是不存在......
接受的输入类型(HTML4)
接受的输入类型(HTML5)
答案 1 :(得分:1)
因为没有名为int的输入类型。
答案 2 :(得分:1)
问题出在SQL语句中,而不是HTML标记
在您的准备声明中,您有SELECT nomselec,prix 但是在你的声明中你有$ donnees ['nom']而不是nomselec
这可能是问题吗?
对于所有说int不是有效类型的人来说,这并不重要,它仍然正常发布;
示例:
<?php
if(isset($_POST))
{
print_r($_POST);
}
?>
<form action="" method="post">
<p>
Nom
<input type="text" name="possesseur"/>
Prix maximum
<input type="int" name="prixmax"/>
<input type="submit" value="Valider"/>
</p>
</form>
返回:
Array ( [possesseur] => test [prixmax] => 123 )
答案 3 :(得分:0)
使用&lt; input type="number">
HTML5输入类型
color
date
datetime
datetime-local
email
month
number
range
search
tel
time
url
week