我一直在尝试向我的登录php代码中添加一种方法来验证用户是否被充血,以便能够首先从数据库中激活用户(默认情况下未批准),所以我整天都在工作尝试对该登录进行编码。不幸的是,我相信我破坏了我的代码,因为现在连正常的登录都不能用:( 我得到了错误
PHP语法检查:解析错误:语法错误,意外的“ COUNT” (T_STRING),在第31行的代码中应为','或')'
代码如下:
<?php
session_start(); $servername = ""; $dbusername = ""; $dbpassword = ""; $dbname = ""; $conn = new mysqli($servername, $dbusername, $dbpassword, $dbname); if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error); }
$id="''"; $username = $_POST['username']; $password = md5($_POST['password']); $func = "SELECT contrasena FROM users WHERE username='$username'";
$realpassask = $conn->query($func); $realpassaskres = $realpassask->fetch_assoc(); $realpass= $realpassaskres[contrasena];
$func = "SELECT bloqueado FROM users WHERE username='$username'";
$bloquedask = $conn->query($func);
$bloquedres = $bloquedask->fetch_assoc();
$bloqueado = $bloquedres[bloqueado];
//Login //die("password = " . $password . "realpass = " . $realpass );
if(!empty($username)) { // Check the email with database
$userexists
= $userexists->prepare(“SELECT COUNT(`username`) FROM `users` WHERE `username`= $username LIMIT 1”);
$userexists->bindParam(':user_email', $username);
$userexists->execute();
// Get the result $userexistsres = $userexists->fetchColumn();
// Check if result is greater than 0 - user exist if( $userexistsres == 1) {
if ($bloqueado == NO) {
if ($password != $realpass) {
die("contrasena incorrecta");
} Else{
$_SESSION['loguin']="OK";
$_SESSION['username']="$username";
header("Location: ./herramientas.php");
}
} Else{
die("Tu usuario ha sido bloqueado o todavía no ha sido aceptado por un administrador. Si el problema persiste contacta con contacto@leonmacias.com");
} Else{
die("No hay ninguna cuenta con este nombre de usuario"); } } else {
echo 'El campo usuario esta vacio'; } ?>