PHP中的echo div问题

时间:2014-10-12 01:42:26

标签: php html css

我正在登录页面如果用户没有成功登录,我将使用下面的方法处理它,这意味着该消息将显示在文本框pwd的左侧。但是登录失败时,消息从未显示过。你能告诉我为什么

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<label>Username:</label>
<input type="text" name="name" size="10"> </br>
<label>Password:</label>
<input type="text" name="pwd"  size="10"> </br>
<?php 
echo '<div style="position:absolute; left:650px; top:25px;float:left">';
if (isset($username))
{
  // if they've tried and failed to log in
  echo 'Your password is not right<br />';
}
echo '</div>';
?>

<a href="index.html">Register</a> &nbsp
<input type=submit name=login value=Login>
</form>

如果我不放PHP代码,将显示消息pwd textbox.But我想要的是文本框的左侧。我确定问题是CSS样式,因为当我刚定义DIV时只有一个属性,这是浮动左边的错误将显示打击pwd文本框,登录和注册将在此错误消息的右侧,这是非常的奇怪

1 个答案:

答案 0 :(得分:0)

如果您不使用AJAX,并且您不熟悉它。 试试这个!

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<label>Username:</label>
<input type="text" name="name" size="10"> </br>
<?php 
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
        if(!empty($_POST['name']) && !empty($_POST['pwd'])){
            $name = trim($_POST['name']);
            $password = trim($_POST['pwd']); # Normally this password is encrypted

            # Database Connection Here 

            if // if they've tried and failed to log in
            {
              echo '<div style="position:absolute; left:650px; top:25px;float:right">Your password is not right<div/>';
            }
        }
    }
?>
<label>Password:</label>
<input type="text" name="pwd"  size="10"> </br>

<a href="index.html">Register</a> &nbsp
<input type="submit" name="login" value="Login">

更好的解决方案或做法是使用AJAX。使用AJAX,您可以在任何地方显示错误消息。如果您想练习,请访问以下网站链接: -

http://www.developphp.com/view.php?tid=1296