Comunidad de diseño web y desarrollo en internet online

Error al insertar en la base de datos

Citar            
MensajeEscrito el 21 Abr 2019 11:45 pm
Buenas, necesito ayuda estoy tratando de ingresar los datos del formulario en la base de datos pero siempre me muestra el siguiente error:


-Warning: mysqli_query(): Couldn't fetch mysqli in C:\xampp\htdocs\gestion\sistema\registro_usuario.php on line 34

-Warning: mysqli_query(): Couldn't fetch mysqli in C:\xampp\htdocs\gestion\sistema\registro_usuario.php on line 81

-Warning: mysqli_close(): Couldn't fetch mysqli in C:\xampp\htdocs\gestion\sistema\registro_usuario.php on line 82

-Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in C:\xampp\htdocs\gestion\sistema\registro_usuario.php on line 83

Mi codigo es el siguiente:

Código HTML :

<?php
   session_start();
   if($_SESSION['rol'] != 1)
   {
      header("location: ./");
   }

   include "../conexion.php";

   if(!empty($_POST))
   {
      $alert='';
      if(empty($_POST['nombre']) || empty($_POST['correo']) || empty($_POST['usuario']) || empty($_POST['clave']) || empty($_POST['rol']))
      {
         $alert='<p class="msg_error">Todos los campos son obligatorios.</p>';
      }else{

         $nombre = $_POST['nombre'];
         $email  = $_POST['correo'];
         $user   = $_POST['usuario'];
         $clave  = md5($_POST['clave']);
         $rol    = $_POST['rol'];


         $query = mysqli_query($conection,"SELECT * FROM usuario WHERE usuario = '$user' OR correo = '$email' ");
         mysqli_close($conection);
         $result = mysqli_fetch_array($query);

         if($result > 0){
            $alert='<p class="msg_error">El correo o el usuario ya existe.</p>';
         }else{

            $query_insert = mysqli_query($conection,"INSERT INTO usuario(nombre,correo,usuario,clave,rol)
                                                   VALUES('$nombre','$email','$user','$clave','$rol')");
            if($query_insert){
               $alert='<p class="msg_save">Usuario creado correctamente.</p>';
            }else{
               $alert='<p class="msg_error">Error al crear el usuario.</p>';
            }

         }


      }

   }



 ?>

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <?php include "includes/scripts.php"; ?>
   <title>Registro Usuario</title>
</head>
<body>
   <?php include "includes/header.php"; ?>
   <section id="container">

      <div class="form_register">
         <h1>Registro usuario</h1>
         <hr>
         <div class="alert"><?php echo isset($alert) ? $alert : ''; ?></div>

         <form action="" method="post">
            <label for="nombre">Nombre</label>
            <input type="text" name="nombre" id="nombre" placeholder="Nombre completo">
            <label for="correo">Correo electrónico</label>
            <input type="email" name="correo" id="correo" placeholder="Correo electrónico">
            <label for="usuario">Usuario</label>
            <input type="text" name="usuario" id="usuario" placeholder="Usuario">
            <label for="clave">Clave</label>
            <input type="password" name="clave" id="clave" placeholder="Clave de acceso">
            <label for="rol">Tipo Usuario</label>

            <?php

               $query_rol = mysqli_query($conection,"SELECT * FROM rol");
               mysqli_close($conection);
               $result_rol = mysqli_num_rows($query_rol);

             ?>

            <select name="rol" id="rol">
               <?php
                  if($result_rol > 0)
                  {
                     while ($rol = mysqli_fetch_array($query_rol)) {
               ?>
                     <option value="<?php echo $rol["idrol"]; ?>"><?php echo $rol["rol"] ?></option>
               <?php
                        # code...
                     }

                  }
                ?>
            </select>
            <input type="submit" value="Crear usuario" class="btn_save">

         </form>


      </div>


   </section>
   <hr>
</body>
</html>

Por jorgex18

0 de clabLevel



 

chrome
Citar            
MensajeEscrito el 22 Abr 2019 11:39 am
Estas cerrando la conexion antes de usar el resultado

Código :

$query = mysqli_query($conection,"SELECT * FROM usuario WHERE usuario = '$user' OR correo = '$email' ");
         mysqli_close($conection);


Cierra la conexión al final de tu script

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.