【问题标题】:Updating html after php call to a stand-alone php file在对独立 php 文件的 php 调用后更新 html
【发布时间】:2014-03-01 22:57:29
【问题描述】:

我正在尝试为我的网站实施用户登录系统。我有一个 newMember.html 文件,其格式如下:

<form method="post" action="nameValidation.php">
    <p>Username:</p>
    <input type="text" name"user" required>
    <input name="submitButton" type="submit" value="Create account"/>
</form>

在 nameValidation 中,我检查用户名是否可用。如果不是,我想要某种方式在您输入用户名的输入字段旁边显示红色文本。我尝试了类似的方法,但出现服务器错误:

(在 nameValidation.php 内)

<?php
    //connect to database, check the value of the username to see if it exists
    if (username already exists) {
        //keep the page that i had the way it was, 
        //just add a red sentence saying "username is already taken"
    }
    else {
       //tell the user he was successful in making an account,
       //and redirect him to my login page (already implemented)
    }       
?>

我不想使用内联 php 有两个原因。

1) 它看起来杂乱无章(至少在我看来)

2) 我在其他 stackoverflow 帖子中读到这不是一个好习惯。

如果需要,我将使用内联 php,但我们将不胜感激!

【问题讨论】:

  • “内联 php”对您意味着什么?服务器错误信息到底是什么?

标签: php html forms login


【解决方案1】:

使用CakePHP、Laravel、Symfony 或任何其他适合您的framework 等网络框架。

PHP 框架使用模板来容纳动态页面。它们通常允许在您的代码中使用特殊的快捷方式,这样您就不必编写任何“内联 PHP”。

这是 MVC(模型视图控制器)的思路:控制器控制视图中使用的实际数据,而不是视图。


关于 Web 框架的内容已经足够了。

要回答您的问题,首先将您的文件重命名为以.php 结尾,以表明该文件包含 PHP。

接下来,编辑代码以检查用户是否存在。通过在页面顶部完成所有工作并在页面本身中使用生成的数据,可以创建最漂亮的内联 PHP 代码。

所以,对于您的 HTML:

<?php

/* For example: */
$username = $_POST['username'];
$db = new DB(/* ... */);
$userNameExists = $db -> userNameExists ($username);

?>

<!-- The rest of the code of the page -->

<form method="post" action="nameValidation.php">
    <p>Username:</p>
    <input type="text" name"user" required value="<?php echo $username; ?>"><?php echo $userNameExists ? '<span class="error">Username already exists</span>' : '' ?>
    <input name="submitButton" type="submit" value="Create account"/>
</form>

【讨论】:

  • 谢谢,它现在运行良好。只是为了确保,我将“action”更改为我的文件名,特别是“newMember.php”,因为我不想再调用 nameValidation.php,对吧?任何状况之下。这就是我要找的。​​span>
猜你喜欢
  • 2012-02-26
  • 1970-01-01
  • 2011-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-10
相关资源
最近更新 更多