我试图使用echo打印一些文本,起初我认为错误是来自echo函数的语法,然后我发现即使我按下按钮就没有验证isset条件!
<?php
if (isset($_POST['ajout'])) {
echo "string";
} else {
echo "vérifier les champs";
}
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form>
<label>id</label>
<input type="text" name="id">
<br>
<label>points</label>
<input type="text" name="points">
<br>
<input type="submit" name="ajout">
</form>
</body>
</html>
答案 0 :(得分:3)
您应该指定表单的方法。
<form method="post">
根据w3c,默认方法是GET。
method = get | post
此属性指定将使用哪种HTTP方法 用于提交表单数据集。可能(不区分大小写) 值&#34; get&#34; (默认)和&#34;发布&#34;。请参阅表格部分 提交使用信息。
答案 1 :(得分:1)
尝试这个
您必须将get
和post
数据的表单方法用于php
喜欢<form method="post">
<?php
if (isset($_POST['ajout'])) {
echo "string";
}
else{
echo "vérifier les champs";
}
?>
<!DOCTYPE html>
<html>
<head>
<title>
</title>
</head>
<body>
<form method="post">
<label>id</label>
<input type="text" name="id">
<br>
<label>points</label>
<input type="text" name="points">
<br>
<input type="submit" name="ajout">
</form>
</body>
</html>
答案 2 :(得分:1)
此处唯一的$_POST
变量是&#39; name&amp;&amp; &#39; id&#39;,您正在检查是否已设置提交按钮?
您也缺少表单方法,在这种情况下应该是&#34; post&#34;
<form method="post">
编辑:
通常更容易使用<button type="submit">
代替<input type="submit">
。
虽然两个元素都提供了功能相同的结果,但我强烈建议您使用
<button>
:
- 更加明确和可读。
input
表示该控件是可编辑的,或者可由用户编辑;button
在其服务目的方面更为明确- 更容易在CSS中设计风格;如上所述,FIrefox和IE有一些怪癖,
input[type="submit"]
在某些情况下无法正确显示- 可预测的请求:当在
POST
/GET
请求中向服务器提交值时,IE会有非常行为- 标记友好;您可以在按钮内嵌套项目,例如图标。
- HTML5,前瞻性思维;作为开发人员,一旦官方化,我们有责任采用新规范。截至目前,HTML5已经正式推出一年多了,并且在很多情况下已经显示为提升SEO 。
总之,我强烈反对使用
<input type="submit" />
。