-1
我需要使用js創建驗證,以便當您要顯示錯誤消息時不重新加載頁面,以便視頻背景不會停止。如何使用javascript和php創建驗證mysql
這就是我現在所擁有的。
HTML:
<form class="col-lg-4 col-lg-offset-4" method="post" >
<p class="error"><?php echo $mensajeLogin; ?></p>
<div class="form-group">
<input type="text" class="form-control" placeholder="Nombre de usuario" name="user" value="<?php if(!empty($_POST['user'])) { echo $_POST['user']; } ?>"/>
<span class="input-icon fui-user"></span>
</div>
<div class="form-group">
<input type="password" class="form-control" placeholder="Contraseña" name="pass" value="<?php if(!empty($_POST['pass'])) { echo $_POST['pass']; } ?>"/>
<span class="input-icon fui-lock"></span>
</div>
<input class="btn btn-hg btn-primary" type="submit" name="enviar_login" value="Iniciar sesión">
</form>
PHP:
function VerificarLogin($cTabla,$cUsuario,$cPass) {
$conn = ConectarBD();
$vConsulta="SELECT ID, usuario, id_cuenta, email FROM $cTabla WHERE usuario like '$cUsuario' and pass like '$cPass' ";
if ($stmt = mysqli_prepare($conn, $vConsulta)) {
/* execute statement */
mysqli_stmt_execute($stmt);
/* bind result variables */
mysqli_stmt_bind_result($stmt, $id, $user, $id_cuenta, $email);
/* fetch values */
$vListado = array();
$i=0;
while (mysqli_stmt_fetch($stmt)) {
//printf ("%s (%s)\n", $id, $provincia);
$vListado[$i]['id']=$id;
$vListado[$i]['user']=$user;
$vListado[$i]['id_cuenta']=$id_cuenta;
$vListado[$i]['email']=$email;
$i++;
}
/* close statement */
mysqli_stmt_close($stmt);
}
/* close connection */
mysqli_close($conn);
return $vListado;
}
$mensajeLogin = '';
if (!empty($_POST['enviar_login'])) {
$_POST['user']=trim($_POST['user']);
$login=VerificarLogin('usuarios',$_POST['user'],$_POST['pass']);
if (empty($_POST['user']) && empty($_POST['pass'])) {
$mensajeLogin = "Complete los campos.<br />";
} elseif (empty($_POST['pass'])) {
$mensajeLogin.="Debe ingresar una contraseña.<br />";
} elseif (empty($login)) {
$mensajeLogin = 'El usuario y/o contraseña es incorrecto';
} else {
$_SESSION['id_user']=$login[0]['id'];
$_SESSION['nivel']=$login[0]['id_cuenta'];
$_SESSION['user']=$login[0]['user'];
$_SESSION['email']=$login[0]['email'];
header('Location: panel/admin.php');
exit;
}
}
我只需要添加JavaScript。
在線示例here。
非常好!那麼添加JavaScript對你來說應該不會太難。做一些嘗試,讓我們知道如果你不能讓你的JavaScript **代碼工作! – Ohgodwhy 2014-09-18 16:20:09
使用'mysqli'時,您應該使用參數化查詢和['bind_param'](http://php.net/manual/en/mysqli-stmt.bind-param.php)將用戶數據添加到您的查詢中。 **不要**使用字符串插值來實現此目的,因爲您將創建嚴重的[SQL注入漏洞](http://bobby-tables.com/)。 – tadman 2014-09-18 16:24:12
需要一些代碼來指導我,知道一點也沒有什麼javascript @Ohgodwhy – nicogaldo 2014-09-18 16:31:51