当我尝试登录时,它总是出现:“El usuario ocontraseñaesincorrecto”,我不知道问题。 我认为当我倾斜代码时,我做了一件坏事。
这里我留下代码:
Acceso.php
<?php
session_start();
$titulo = "Acceso al panel";
include 'inc/header.php';
if($_SESSION['Logueado'] == TRUE) {
header('Location: funciones/panel.php');
}else{
?>
<html>
<center>
<form method="POST" action="funciones/panel.php">
<div class="form-group">
Nombre: <input type="text" name="nombre"></input>
<hr>
Contraseña: <input type="password" name="pass"></input>
<hr>
<input type="submit" name="enviar" value="Acceso"></input>
</div>
</form>
</center>
</html>
<?php
include 'inc/footer.php';
}
?>
下一步:panel.php
<?php
session_start();
include 'inc/header.php';
include 'panel_funciones.php';
$usuario = $_POST["nombre"];
$pass = $_POST["pass"];
try {
$bd = new PDO("mysql:host=localhost;dbname=b9_16267033_1","b9_16267033","123456");
$bd->query("SET NAMES 'utf8'");
} catch (Exception $e){
echo "No se ha podido conectar";
exit;
}
try{
$sql= "SELECT usuario, pass FROM usuarios WHERE usuario='$usuario' and pass='$pass'";
}catch(Exception $e){
echo "Error en consulta";
exit;
}
$iniciosesion=mysql_query($sql);
$contar = mysql_num_rows($iniciosesion);
// AQUI COMIENZA COMPROBACIÓN
if ($contar == 1) {
$_SESSION['Logueado'] = TRUE;
panel();
}
else{
echo "El usuario o contraseña es incorrecto";
}
include 'inc/footer.php';
?>
功能:panel_funciones.php
<?
$user = "Javier";
function panel(){
session_start();
echo "<center><h3>Bienvenido al Panel de Control</h1></center></h3></center>";
echo '<form action="logout.php" method="post">';
echo '<input type="submit" value="salir"></form>';
echo '<center>
<h4>Añadir Imagen</h4><hr>
<form method="POST" action="accion.php">
<div class="form-group">
Nombre: <input type="text" name="titulo"></input>
Link a Imagen: <input type="text" name="link"></input>
<input type="submit" name="enviar" value="Enviar"></input>
</div>
</form>
<center>';
echo '
<h4>Eliminar Imagen</h4><hr>
<form method="POST" action="accion2.php">
Escribe link <input type="text" name="imagen"></input>
<input type="submit" name="enviar2" value="Enviar"></input>';
}
?>
感谢您的帮助,我不时尝试学习,我需要提出一些问题。
答案 0 :(得分:1)
使用PDO非常棒。
但我假设你忘了检查哪些参数采用mysql_query: 你正在使用PDO语句而不是字符串。
<强> panel.php 强>
...
$sql=$bd->query("SELECT usuario, pass
FROM usuarios
WHERE usuario='$usuario' and pass='$pass') ");
}
catch(Exception $e){
echo "Error en consulta";
exit;
}
// Continue to use PDO instead depreciated functions :'(
// Using fetchAll() & count instead
$iniciosesion=mysql_query($sql);
$contar = mysql_num_rows($iniciosesion);
。将这两条最后一行移动到最后一次尝试&amp;通过以下方式替换:
$iniciosesion = $bd->query($sql);
$result = $iniciosesion->fetchAll();
$contar = count($result);
Acceso.php
你在主页中遗漏了<html>
个标签。
<?php session_start(); ?>
<html>
<head></head>
<body>
<?php
...
//Then close body & html close at the end of your file.
来源: