Mat*_*ios 0 html php mysql xampp mysqli
HTML
<form type="POST" action="includes/login.php">
<input type="email" name="email" placeholder="email" />
<input type="password" name="password" placeholder="parola" />
<input type="submit" value="Login">
</form>
Run Code Online (Sandbox Code Playgroud)
PHP
<?php
require_once 'config.php';
if(isset($_POST['email']))
{
$email = mysqli_real_escape_string($_POST['email']);
}
else
{
echo "Nu ati completat adresa de e-mail. <br />";
}
if(isset($_POST['password']))
{
$email = mysqli_real_escape_string($_POST['password']);
}
else
{
echo "Nu ati completat parola. <br />";
}
if(isset($_POST['email']) && ($_POST['password']))
{
$query = ("SELECT * FROM `users` WHERE password = '$password' AND email = '$email'");
$result = mysqli_query($link, $query);
$row = mysqli_fetch_array($result);
$count_rows = mysqli_num_rows($result);
if ($count_rows == 1)
{
$_SESSION["login"] = "OK";
header("Location: ../index.php");
}
else
{
header("Location: ../login.php");
}
}
?>
Run Code Online (Sandbox Code Playgroud)
我尝试从MySQL切换到MySQLi,我确信它与此有关.即使输入具有名称,我的表单也不会将值传递给PHP脚本.在StackOverflow上进行了一些研究并发现很多关于表单没有传递数据的问题,但通常有一个错字或缺少名称,这不是我的情况(我认为).
(我知道密码还没有安全,我会尽快添加一个SHA256或其他东西,所以不要强调它)
尝试回应查询,它只是密码和电子邮件地址应该是空白.
SELECT * FROM `users` WHERE password = '' AND email = ''
Run Code Online (Sandbox Code Playgroud)
我也收到这个警告:
警告:mysqli_real_escape_string()需要2个参数,1在第4行的C:\ xampp\htdocs\breloc\includes\login.php中给出
我脚本中的第4行是:
$email = mysqli_real_escape_string($_POST['password']);
Run Code Online (Sandbox Code Playgroud)
更改您的表单标记
<form type="POST">
Run Code Online (Sandbox Code Playgroud)
至
<form method="POST">
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
540 次 |
| 最近记录: |