【问题标题】:Calling PHP variable in HTML在 HTML 中调用 PHP 变量
【发布时间】:2025-12-03 02:55:02
【问题描述】:

我正在尝试将密码或移动无效语句的输出显示到 HTML 页面。这是我的代码:

<?php
  session_start();
  if(isset($_POST['register'])) {
    $phone = ($_POST['tphone']);
    $upass = ($_POST['tpassword']);     
    if (!@preg_match('/^(?=.*\d{3,})(?=.*[A-Za-z]{5,})[0-9A-Za-z!@#$%]{8,32}$/', $upass)) {
      $upass = 'You have enter an invalid password';
    } 
    else if ( !@ereg( "^[0-9]{3}-[0-9]{7}$", $phone)) {
      $mobile = 'Invalid mobile'
    }
  }
?>
<html>
  <body>
    <p><?php echo $upass ?>.</p>
    <form method="post">
      <input type="text" name="tphone" placeholder="First Name" class="form-name"  required>
      <input type="password" name="tpassword" placeholder="Last Name" class="form-name2" required>
      <button type="submit" name = "register" class="btn-register">Register</button>  
    </form>
  </body>
</html>

这里的问题是我应该如何在HTML 中使用PHP 变量,就像我在p 标签内定义的$upass 一样。我也想在点击注册按钮时设置这个变量。

现在当我echo $upass时,当我没有选择注册按钮时它显示Undefined variable

【问题讨论】:

标签: javascript php html post


【解决方案1】:

只需将错误消息分配给一个变量,然后检查该变量是否不为空。如果它有一个字符串值,则显示&lt;p&gt;,其中包含错误消息。

<?php
session_start();
$errorMessage = null;

if (isset($_POST['register'])) {
    $phone = $_POST['tphone'];
    $upass = $_POST['tpassword'];     

    if (!@preg_match('/^(?=.*\d{3,})(?=.*[A-Za-z]{5,})[0-9A-Za-z!@#$%]{8,32}$/', $upass)) {
        $errorMessage = 'You have enter an invalid password';
    } elseif (!@ereg( "^[0-9]{3}-[0-9]{7}$", $phone))  {
        $errorMessage = 'Invalid mobile'
    }
}
?>
<html>
<body>
     <?php if ($errorMessage) { ?>
       <p><?php echo $errorMessage; ?></p>
     <?php } ?>
     <form method="post">
        <input type="text" name="tphone" placeholder="First Name" class="form-name"  required>
        <input type="password" name="tpassword" placeholder="Last Name" class="form-name2" required>
        <button type="submit" name = "register" class="btn-register">Register</button>  
      </form>
</body>
</html>

【讨论】:

  • 这个问题是它仍然显示无效密码,即使没有触发按钮
【解决方案2】:

您需要了解 PHP 在 Web 服务器上运行以生成发送到浏览器的 HTML 页面。

这意味着当 PHP 完成运行时,用户接收到它的输出。如果您需要在用户操作后发生某些事情,则必须在前端(浏览器)中执行某些操作来触发它,通常使用 JavaScript。

如果您希望前端发送回数据或在 Web 服务器上查询某些内容,则需要使用 AJAX(或其变体)或 WebSockets 以允许浏览器中的 JavaScript 将请求直接传递给Web 服务器,无需重新加载页面。

【讨论】:

    最近更新 更多