我想让用户使用基于mysql表的电子邮件和密码登录 数据库名称是yandexd 用户表是utilisateur 我有专栏电子邮件,另外一个关于utilisateur的MotDePass就像我在图像中创建了一个文件名index.php,代码如下。
这是我使用的index.php代码,但不能正常工作
<?php
session_start();
if(isset($_POST['Submit'])) {
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', '');
define('DB_DATABASE', 'yandexd');
$username=$_POST['username'];
$password=$_POST['password'];
$db = mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);
$sql="SELECT idutilisateur FROM utilisateur WHERE Email='$username' and MotDePass='password'";
$result=mysqli_query($db,$sql);
$row=mysqli_fetch_array($result,MYSQLI_ASSOC);
if(mysqli_num_rows($result) == 1) {
$_SESSION['acces'] = "oui";
$_SESSION['nom'] = $_POST['username'];
$_SESSION['accueil'] = 0;
$_SESSION['produit'] = 0;
} else {
echo "Réessayez ...";
$_SESSION['acces'] = "non";
}
} else if(isset($_POST['disconnect'])) {
session_destroy();
unset($_SESSION);
}
?>
<div id="pageintro" class="hoc clear">
<article>
<?php
if(!isset($_SESSION["acces"]) || $_SESSION["acces"] != "oui") {
?>
<form method="post" action="<?= $_SERVER['PHP_SELF'] ?>">
<fieldset >
<legend>Login</legend>
<input type='hidden' name='submitted' id='submitted' value='1'/>
<label for='username' >Nom d'utilisateur:</label>
<input type='text' name='username' id='username' maxlength="50" />
<label for='password' >Mot de Pass:</label>
<input type='password' name='password' id='password' maxlength="50" />
<input type='submit' name='Submit' value='Connecter' />
</fieldset>
</form>
<?php
} else {
?>
<form method="post" action="<?= $_SERVER['PHP_SELF'] ?>">
<fieldset>
<legend>
Se déconnecter !
</legend>
<input type="submit" name="disconnect" value="Se déconnecter"/>
</fieldset>
</form>
<?php
}
?>
</article>
我的桌子就像在图片中
答案 0 :(得分:1)
检查此行:
$sql="SELECT idutilisateur FROM utilisateur WHERE Email='$username'
and MotDePass='password'"; //you mean $password??
N.B:也许您在$
(password
)之前错过了MotDePass='password'
签名将其作为变量使用..