如何在表单的输入值内添加PHP代码

时间:2019-02-08 23:26:03

标签: php

我想在表单中进行一些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>

这是我在下面的这张图片中得到的结果:

enter image description here

3 个答案:

答案 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. */