Supongo que en alguna parte antes de este codigo habras puesto:
define("DB_HOST", "localhost"); //o el host que tienes
define("DB_USER", "tu_nombre_usuario_mysql");
define("DB_PASSWORD", "tu_contraseña_mysql");
aunqe y nunca he utilzado constantes para esto ... pero variables
$db_host; etc.
Tambienn mejor separar un poco el codigo para entenderlo mejor
Código PHP:
Ver original<?php
/*conectar base datos*/
/* verificar la conexión */
die("Falló la conexión: %s\n", $con->connect_error); }
/* hacer consulta */
$query ="SELECT * FROM `alumnos` WHERE dni='".$dni."'");
/* guardar resultado */
$resultado = $mysqli->query($query);
/* comprobar si hay alguna coincidencia */
if($resultado && $resultado->rowCount()>0){
/* extraer fila del resultado*/
$fila = $resultado->fetch();//si tienes mas filas hacer un bucle con while
//if($query['clave']==$secret_key){ // esto lo que tenias para que funcione se transforma en:
/* comprobar si coincide lo que te mandoaron con lo que tienes */
if($fila['clave'] === $secret_key){
echo "Esta ok y el resto de codigo que quieres poner";
}else{
echo "Contraseña no valida y/o codigo que quierras";
}
}else{
echo "no se ha encontrado ninguna coincidencia en la base datos";
}
//fin del problema :)
?>
lo del fin del problema al final era una broma :) ya que los problemas ... casi nunca no terminan
No se que tipo de interes tendras en la seguridad pero se sugiere siempre usar PDO en vez de mysqli puro para evitar inyecciones.
O al menos chequear todos los datos entrantes usuario pass o sea Todo $_POST $_GET $_COOKIE ...