我想在表单中进行一些php测试,但我已按照教程进行操作,但没有得到想要的结果。我想确保borne的值不为null。然后将值发送到另一个页面“ exo.php”以使用它。
问题是,例如,当我将php代码添加到输入值的内部时,例如,它不是将cosindring作为php代码,而是将其作为字符串,因此它会打印php代码。
这是我的代码:
<?php
if (isset($_GET["submit"])) {
$borneErr="";
$borne="";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["borne"])) {
$borneErr = "Missing";
}
else {
$borne = $_POST["borne"];
}
}
}
?>
<form class="" method="POST" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" >
<label> Borne : <input type="text" name="borne" value="<?php echo htmlspecialchars($borne);?>">
<span class="error">* <?php echo $borneErr;?></span> </label>
<button type="submit" value="OK"> Send !</button>
</form>
这是我在下面的这张图片中得到的结果:
答案 0 :(得分:2)
只需在引号“ HERE”内添加值
<input type="text" name="borne" value="<?php echo htmlspecialchars($borne);?>">
答案 1 :(得分:2)
您的代码引起注意
Undefined variable: borne
在此行:
<label> Borne : <input type="text" name="borne" value="<?php echo htmlspecialchars($borne);?>">
还有此通知
Undefined variable: borneErr
在此行:
<span class="error">* <?php echo $borneErr;?></span> </label>
您可以通过在条件之外定义变量来解决此问题。
该表单具有method="POST"
属性。
但是您正在根据GET数据检查条件:
if (isset($_GET["submit"])) {
此外,您正在检查表单数据中不包含字段submit
的存在,因为它是<button>
。您可以将其更改为<input>
,也可以更改您的PHP条件以检查实地字段。
<input type="submit" value="Send !">
或
if (isset($_POST["borne"])) {
对$_SERVER["REQUEST_METHOD"]
的检查现在多余了,因此您可以摆脱它。
代码可以进一步简化和完善,但我将保留它,以便更容易看到已修复的错误。
工作代码:
<?php
$borneErr = "";
$borne = "";
if (isset($_POST["borne"])) {
if (empty($_POST['borne'])) {
$borneErr = "Missing";
} else {
$borne = htmlspecialchars($_POST['borne']);
}
}
?>
<form class="" method="POST" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" >
<label> Borne : <input type="text" name="borne" value="<?php echo $borne; ?>">
<span class="error">* <?php echo $borneErr;?></span> </label>
<input type="submit" value="Send !">
</form>
答案 2 :(得分:0)
您可以在这里简单地选择一个
<input type="text" name="borne" value="<?=$_SERVER["PHP_SELF"]?>"><Br>
OR
<input type="text" name="borne" value=""> /* leave it blank cause if blank i will submit automatically on the same page. */