我有一个简单的表单在提交时调用PHP
脚本,但它不能按预期工作。它只是让我回到'localhost:8080'
,没有任何错误消息,甚至在PHP
脚本中都没有。请看下面的代码并告诉我如何更正此问题。我最初的格式为POST
,但它根本不起作用,即php文件没有得到帖子数据。我切换到GET
,它工作了一段时间,现在即使这不起作用。它可能是一些设置问题。我在WAMP x64
上使用Windows 7 x64
并且未修改任何设置。
这是我的表格 -
<form role="form" action="/login.php" method="GET">
<div class="form-group">
<label for="email">Email:</label>
<input type="text" class="form-control" placeholder="username@xyz.com" name="email">
</div>
<div class="form-group">
<label for="password">Password:</label>
<input type="password" class="form-control" placeholder="password" name="password">
</div>
<div class="form-group">
<label><a href="/forgot-password">Forgot Password?</a></label>
<label><a href="/new-user"> New User?</a></label>
</div>
<button type="submit" class="btn btn-lg btn-primary center-block">Submit</button>
</form>
这是PHP
文件 -
<?php
if (isset($_SESSION)) {
header("location: http://localhost:8080/home");
} else {
if (isset($_GET['email']) and isset($_GET['password'])) {
$email = $_GET['email'];
$pass = $_GET['password'];
$con = mysqli_connect('localhost','read','*****','sheet_db');
if(mysqli_connect_errno()) {
header("location: http://localhost:8080/?message=internal%20error");
} else {
$check = mysqli_query($con, "SELECT COUNT(emp_id) as cnt FROM d_emp WHERE emp_email = '".$email."' AND password = '".$pass."'");
if(mysqli_fetch_array($check)['cnt'] == 1) {
session_start();
$_SESSION['email']=$email;
header("location: http://localhost:8080/home");
} else {
header("location: http://localhost:8080/?message=wrong%20username%20or%20password");
}
}
} else {
header("location: http://localhost:8080/?message=invalid%20parameters");
}
}
?>
答案 0 :(得分:1)
将action="/login.php"
更改为action="./login.php"
然后告诉我它是否能解决您的问题。