Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/11/2013, 15:07
Mati92_CPArg
 
Fecha de Ingreso: octubre-2011
Mensajes: 20
Antigüedad: 12 años, 6 meses
Puntos: 1
Pregunta Utilizar datos de Consulta Parametrizada

Buenas queria ver si alguien podria ayudarme estoy parado hace horas con este codigo, para no decir dias.

Estoy haciendo un login para usuarios, el tema es que habia echo uno y me digieron que para que tenga seguridad tenia que parametrizar la consulta.

Lo hice o a caso creo a verlo echo, pero no me funciona. Me da error

El código es:

Código:
 
<?php
	
	if(isset($_POST['ingresar'])){		
	$usuario=$_POST['usuario'];
	$contrasena=$_POST['contrasena'];	
	
	
	$mysqli = new mysqli("localhost","user","password","database");
	if ($mysqli->connect_errno) {
		echo "Falló la conexión a MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
	}
	
	/* Etapa 1: preparación */
	if (!($sentencia = $mysqli->prepare("SELECT * FROM tabla WHERE usuario = (?)"))) {
		echo "Falló la preparación: (" . $mysqli->errno . ") " . $mysqli->error;
	}
	
	
	/* Etapa 2: vincular*/ 
	if (!$sentencia->bind_param("s", $contrasena)) {
		echo "Falló la vinculación de parámetros: (" . $sentencia->errno . ") " . $sentencia->error;
	}
	
	/* Etapa 3 Ejecutar*/
	if (!$sentencia->execute()) {
		echo "Falló la ejecución: (" . $sentencia->errno . ") " . $sentencia->error;
	}
	

	$resultado = $mysqli->query($sentencia);
	
	$numeroregistro= $resultado->affected_rows;
	$registros = $resultado->fetch_assoc();

		if($numeroregistro>0){	
			$contrasenaDB=$registros['contrasena'];
			$salt_contrasenaDB=$registros['salt_contrasena'];
			
			
			// Encriptamos contraseña y comparamos
			
			if(crypt($contrasena, $salt_contrasenaDB) == $contrasenaDB){
				$estado_cuenta=$registros['estado'];
				if($estado_cuenta=="A"){
				 echo "Conexion Exitosa";
				$_SESSION['usuario']=$usuario;
				$_SESSION['login_ok']=1;	
				}
			}
			else{
				echo "Error de Conexion, compruebe su usuario y contraseña";
			}

		}else{
			echo "Error de Conexion, compruebe su usuario y contraseña";
		}
		
		
						
		}
	
	}
Desde ya gracias.

Última edición por Mati92_CPArg; 28/11/2013 a las 15:46