我有一个简单的登录表单和一个单独的php文件,其中包含错误消息函数等(即"密码字段为空"等)。
问题是,当从表单触发错误时,错误消息的样式与表单不同。错误在页面底部显示为未格式化。
我希望能够将表单CSS应用于单独文件中的php消息。
这是一个单独的PHP文件的代码片段:
// check login form contents
if (empty($_POST['user_name'])) {
$this->errors[] = "Username field was empty.";
} elseif (empty($_POST['user_password'])) {
$this->errors[] = "Password field was empty.";
我希望能够将这些错误消息放在表单的div元素中。目前,它们最终在页面底部未格式化。
我尝试过将PHP封装在表单所具有的相同div标记中的单独文件中,但它不起作用。
希望这有点道理。
非常感谢任何建议。
只需创建一个自定义配置文件
config.php
$_SESSION['err_uname_req'] = "<font color='red'>Username Required</font>";
$_SESSION['err_pword_req'] = "<font color='red'>Password Required</font>";
...
在您的样品表格中:
session_start();
//call config.php
if($_POST['username'] == "")//or any approach to display the error
{
echo $_SESSION['err_username_req'];
}
为会话中的错误存储提供索引。别忘了从头开始上课在两个文件中
if (empty($_POST['user_name'])) {
$this->errors['user_name'] = "Username field was empty.";
$this->_SESSION['first']=$this->errors['user_name'];
} elseif (empty($_POST['user_password'])) {
$this->errors['user_password'] = "Password field was empty.";
$this->_SESSION['second']=$this->errors['user_password'];
在另一个文件中
session_start();//start the session
<div id="first_error">$_SESSION['first']</div>
<div id="second_error">$_SESSION['second']</div>
在一个页面中格式化所需的div,并在页面顶部执行include或required函数。将错误消息放在变量中,然后在div中回显变量。你不需要会话来完成这项工作,只需要创建全局变量,就可以从if语句中获取它们的数据。例如
首页
global $errorname;
global $errorpass;
if(empty($_POST['user_name'])) {
$this->errors['user_name'] = "Username field was empty.";
$errorname = $this->errors['user_name'];
}
elseif(empty($_POST['user_password'])){
$this->errors['password'] = "Password field was empty.";
$errorpass = $this->errors['password']
}
第二页
<?php include('page1.php'); ?>
<div id="first_error"><?php echo $errorname; ?></div>