如何更正我的index.php错误?
这是我的代码,我正在尝试,如果我输入我的电子邮件并通过 在我的数据库(MySQL)中保存的位置将显示,如果我输入正确,它将显示我作为该电子邮件登录。所以我想你可以帮助我,我的编码哪里错了,顺便说一句,我是新的网络编程,所以,如果你教我最容易理解和最简单的方法,我会很棒如何更正我的index.php错误?,php,mysqli,Php,Mysqli,这是我的代码,我正在尝试,如果我输入我的电子邮件并通过 在我的数据库(MySQL)中保存的位置将显示,如果我输入正确,它将显示我作为该电子邮件登录。所以我想你可以帮助我,我的编码哪里错了,顺便说一句,我是新的网络编程,所以,如果你教我最容易理解和最简单的方法,我会很棒 <?php $servername = "localhost"; $username = "root"; $password = "crazyjaguar"; $db = "getstarte
<?php
$servername = "localhost";
$username = "root";
$password = "crazyjaguar";
$db = "getstarted";
// Create connection
$conn = mysqli_connect($servername, $username, $password);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// error_reporting(0);
if ($_POST['email'] && $_POST['pwd']) {
// escape
$email = mysqli_real_escape_string($conn, $_POST['email']);
$password = mysqli_real_escape_string($conn, $_POST['pwd']);
// sql email and pass
$sql = "SELECT email, password FROM gs_users";
// query esql & espl
$result = mysqli_query($conn, $sql);
// fetch_array
$row = mysqli_fetch_array($result,MYSQLI_BOTH);
if ($row['email'] != $email) {
die ("No $email registered yet!");
}
if ($row['password'] = $password) {
die ("Wrong $pmail!");
}
echo "You're logged in as $email";
mysqli_close($conn);
}
}
?>
<body>
<h1>Log In</h1>
<form action='' method='post'>
<input type='email' name='email' placeholder='Email'>
<input type='password' name='pwd' placeholder='Password'><br />
<a href='forgot.php'>Forgost Password?</a><br />
<input type='submit' name='signup' value='Signup Here!'><br />
<input type='submit' name='login' value='LogIn'>
</form>
</body>
mysqli\u connect函数实际上可以接受4个参数。最后一个是数据库名称 语法将是
mysqli_connect(host,username,password,dbname);
尽管数据库名称是可选的,即使您不提供默认名称
将使用数据库
但你又一次指定了alerady
$db = "getstarted";
证明您没有包括数据库名称:)
然后可以使用mysqli\u select\u db()
选择要查询的数据库
最后,我会要求您使用。这里我假设您首先要检查电子邮件,如果电子邮件不存在,则会显示消息“电子邮件尚未注册”,如果电子邮件存在,则通过输入检查密码输入,如果密码匹配,则您将被登录 请用以下代码更改您的代码
<?php
$servername = "localhost";
$username = "root";
$password = "crazyjaguar";
$db = "getstarted";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $db);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// error_reporting(0);
if ($_POST['email'] && $_POST['pwd']) {
// escape
$email = mysqli_real_escape_string($conn, $_POST['email']);
$password = mysqli_real_escape_string($conn, $_POST['pwd']);
// sql email and pass
$sql = "SELECT email, password FROM gs_users where email = $email";
// query esql & espl
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0)
{
$row = mysqli_fetch_array($result,MYSQLI_BOTH);
if ($row['password'] == $password)
{
echo "You're logged in as $email";
}
else
{
die ("Invalid password!");
}
}
else
{
die ("No $email registered yet!");
}
}
}
mysqli_close($conn);
?>
<body>
<h1>Log In</h1>
<form action='' method='post'>
<input type='email' name='email' placeholder='Email'>
<input type='password' name='pwd' placeholder='Password'><br />
<a href='forgot.php'>Forgost Password?</a><br />
<input type='submit' name='signup' value='Signup Here!'><br />
<input type='submit' name='login' value='LogIn'>
</form>
</body>
你能澄清一下问题是什么吗?它是否显示任何错误?您没有在mysqli_连接中添加db名称在mysqli中是否更好?它说mysqli对于初学者来说更容易理解。忽略初学者的情况!与mysqli函数相比,使用PDO有很多优点不,它很简单!假设您要插入!您可以尝试$stmt=$dbh->prepare(“插入到TABLENAME(name,value)值(:name,:value)”)$stmt->bindParam(':name',$name)$stmt->bindParam(':value',$value)$dbh是数据库对象。容易的?