PHP - de mysql a mysqli

 
Vista:
sin imagen de perfil
Val: 16
Ha aumentado su posición en 9 puestos en PHP (en relación al último mes)
Gráfica de PHP

de mysql a mysqli

Publicado por luis (8 intervenciones) el 26/07/2018 17:01:06
He actualizado la version de php y he visto que mysql estaba ya obsoleto, entonces, estoy teniendo muchos problemas para actualizar parte del codigo de login y registro en la web, he mirado en google , pero no consigo arreglarlo, alguna ayuda? gracias

Registro.php



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php
	include('acceso_db.php');
 
						<h2>Registro en WebCw</h2>
						<p><?php
	    if(isset($_POST['enviar'])) { // comprobamos que se han enviado los datos desde el formulario
	        // creamos una función que nos parmita validar el email
	        function valida_email($correo) {
	            if (preg_match('/^[A-Za-z0-9-_.+%]+@[A-Za-z0-9-.]+\.[A-Za-z]{2,4}$/', $correo)) return true;
	            else return false;
	        }
	        // Procedemos a comprobar que los campos del formulario no estén vacíos
	        $sin_espacios = count_chars($_POST['usuario_nombre'], 1);
	        if(!empty($sin_espacios[32])) { // comprobamos que el campo usuario_nombre no tenga espacios en blanco
	            echo "El campo <em>usuario_nombre</em> no debe contener espacios en blanco. <a href='javascript:history.back();'>Reintentar</a>";
	        }elseif(empty($_POST['usuario_nombre'])) { // comprobamos que el campo usuario_nombre no esté vacío
	            echo "No haz ingresado tu usuario. <a href='javascript:history.back();'>Reintentar</a>";
	        }elseif(empty($_POST['usuario_clave'])) { // comprobamos que el campo usuario_clave no esté vacío
	            echo "No haz ingresado contraseña. <a href='javascript:history.back();'>Reintentar</a>";
	        }elseif($_POST['usuario_clave'] != $_POST['usuario_clave_conf']) { // comprobamos que las contraseñas ingresadas coincidan
	            echo "Las contraseñas ingresadas no coinciden. <a href='javascript:history.back();'>Reintentar</a>";
	        }elseif(!valida_email($_POST['usuario_email'])) { // validamos que el email ingresado sea correcto
	            echo "El email ingresado no es válido. <a href='javascript:history.back();'>Reintentar</a>";
	        }else {
	            // "limpiamos" los campos del formulario de posibles códigos maliciosos
	            $usuario_nombre = mysql_real_escape_string($_POST['usuario_nombre']);
	            $usuario_clave = mysql_real_escape_string($_POST['usuario_clave']);
	            $usuario_email = mysql_real_escape_string($_POST['usuario_email']);
	            // comprobamos que el usuario ingresado no haya sido registrado antes
	            $sql = mysql_query("SELECT usuario_nombre FROM usuarios WHERE usuario_nombre='".$usuario_nombre."'");
	            if(mysql_num_rows($sql) > 0) {
	                echo "El nombre usuario elegido ya ha sido registrado anteriormente. <a href='javascript:history.back();'>Reintentar</a>";
	            }else {
	                $usuario_clave = md5($usuario_clave); // encriptamos la contraseña ingresada con md5
	                // ingresamos los datos a la BD
	                $reg = mysql_query("INSERT INTO usuarios (usuario_nombre, usuario_clave, usuario_email, usuario_freg) VALUES ('".$usuario_nombre."', '".$usuario_clave."', '".$usuario_email."', NOW())");
	                if($reg) {
	                    echo "Datos ingresados correctamente.No olvide modificar su curriculum para poner sus datos. </br> <a href='panel.php'>Panel de control</a>";
	                }else {
	                    echo "********ERROR **************";
	                }
	            }
	        }
	    }else {
	?>
		<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
		    <label>Usuario:</label><br />
		    <input type="text" name="usuario_nombre" maxlength="15" /><br />
		    <label>Contraseña:</label><br />
		    <input type="password" name="usuario_clave" maxlength="15" /><br />
		    <label>Confirmar Contraseña:</label><br />
		    <input type="password" name="usuario_clave_conf" maxlength="15" /><br />
		    <label>Email:</label><br />
		    <input type="text" name="usuario_email" maxlength="50" /><br />
		    <input type="submit" name="enviar" value="Registrar" />
		    <input type="reset" value="Borrar" />
		</form>
	<?php
	    }
	?> </p>								</section>
 
 
 
 
 
 
	</body>
</html>

login


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<h2>ERROR</h2>
						<p> <?php
    session_start();
    include('acceso_db.php');
    if(isset($_POST['enviar'])) { // comprobamos que se hayan enviado los datos del formulario
        // comprobamos que los campos usuarios_nombre y usuario_clave no estén vacíos
        if(empty($_POST['usuario_nombre']) || empty($_POST['usuario_clave'])) {
            echo "El usuario o la contraseña no han sido ingresados. <a href='javascript:history.back();'>Reintentar</a>";
        }else {
            // "limpiamos" los campos del formulario de posibles códigos maliciosos
            $usuario_nombre = mysql_real_escape_string($_POST['usuario_nombre']);
            $usuario_clave = mysql_real_escape_string($_POST['usuario_clave']);
            $usuario_clave = md5($usuario_clave);
            // comprobamos que los datos ingresados en el formulario coincidan con los de la BD
            $sql = mysql_query("SELECT usuario_id, usuario_nombre, usuario_clave FROM usuarios WHERE usuario_nombre='".$usuario_nombre."' AND usuario_clave='".$usuario_clave."'");
            if($row = mysql_fetch_array($sql)) {
                $_SESSION['usuario_id'] = $row['usuario_id']; // creamos la sesion "usuario_id" y le asignamos como valor el campo usuario_id
                $_SESSION['usuario_nombre'] = $row["usuario_nombre"]; // creamos la sesion "usuario_nombre" y le asignamos como valor el campo usuario_nombre
$administradorNombre   = 'luis';  //  Administrador
if (!isset($_SESSION['usuario_nombre']) || ($_SESSION['usuario_nombre']!=$administradorNombre)) {
    header('Location:panel.php');
    exit();
} else {
	    header('Location:admin.php');
 
}
 
 
            }else {
?>
                Error, <a href="acceso.php">Reintentar</a>
<?php
            }
        }
    }else {
        header("Location: acceso.php");
    }
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Lawliet
Val: 478
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

de mysql a mysqli

Publicado por Lawliet (351 intervenciones) el 26/07/2018 17:32:36
Hola!!!

No puedes mezclar ambas funciones en PHP ya que esto provocara un error en tu código, es importante que definas con que "tipo" de función vas a trabajar, no estoy seguro si en versiones recientes de PHP, mysql ha sido eliminado en su totalidad pero recuerdo que en algunas versiones simplemente los maneja como una advertencia y no como un error; es decir, puedes seguir utilizando PHP pero no es muy recomendable, obviamente dependiendo de con que versión de PHP lo estés trabajando.

Cambia todo aquello que sea mysql_ por mysqli_ y cuando digo todo es todo, recuerda revisar la documentación ya que hay cosas que aunque son muy pequeñas representan un cambio significativo en el código.

Sin más que comentar, quedo pendiente a cualquier duda y/o comentario.

Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar