Nueva pregunta

Pregunta:

Fecha: 13-03-2020 21:36:21 (En Español)

no puedo insertar 2 select en mi formulario con tablas relacionadas [No resuelta]

Hola tengo un error que no lo entiendo y se debe que no puedo registrar mi formulario
,es un proyecto algo de pequeño no tengo mucha experiencia la verdad necesito que me orienten , el codigo puede ser mejor me lo pueden probar los datos que hay , en el Notice son los que ingrese y el rol no llega miren
espero que me ayuden gracias....

Notice: Undefined index: rol_id in C:\xampp\htdocs\mary\proceso.php on line 10
INSERT INTO usuario (usu_id, usu_nombre, usu_correo, usu_usuario, usu_clave, sex_id,rol_id) VALUES ('as', 'a@gmail.com', 'asd', '123','1','')

este es fomulario: se llama registrarse.php;
<!DOCTYPE html>
<html>
<head>
<?php include("connection2.php");?>
<meta name="viewport" content="width=device=width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel= "stylesheet" href= "https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity= "sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin= "anonymous" >
<link rel="stylesheet" href="css/estilos2.css">
<title>registro de usuario </title>
<meta charset="utf-8">
</head>

<body>



<div class="container">
<div class="row justify-content-center pt-5 mt-5 m-1">
<div class="col-md-8 col-sm-6 col-lg-4 formulario">

<form action="proceso.php" method="POST">
<?php
include_once ("connection2.php");
?>

<div class="form-group text-center pt-3">

<h1 class="text-black">Registro </h1>
</div>


<div class="form-group mx-sm-4 pb-3">
<input type="text" class="form-control" name="usu_nombre" id="usu_nombre" placeholder="ingrese nombre">
</div>


<div class="form-group mx-sm-4 pb-3">
<input type="email" class="form-control" name="usu_correo" id="usu_correo" placeholder="ingrese correo">
</div>


<div class="form-group mx-sm-4 pb-3">
<input type="text" name="usu_usuario" id="usu_usuario" placeholder="nim de usuario" class="form-control">
</div>

<div class="form-group mx-sm-4 pb-3">
<input type="number" name="usu_clave" id="usu_clave" placeholder="Contraseña" class="form-control">
</div>

<div class="form-group mx-sm-1 pb-3 ">
<form class="formulario2">
<select id="sex_id" name="sex_id" class="formulario2">
<option value="">Selecione el sexo </option>
<?php

$sql3=$con->query("SELECT * FROM sexo");
$consulta=mysqli_query($sql3);

while ($fila=$sql3->fetch_array()) { ?>

<option value="<?php echo $fila['sex_id']?>"><?php echo $fila['sex_descripcion']?></option>
<?php } ?>



?>

</select>
</form>



<br/>



<div class="form-group mx-sm-1 pb-3 ">
<form class="formulario2">
<select id="rol_id" name="rol_id" class="formulario2">
<option value="">Selecione el rol </option>
<?php

$sql3=$con->query("SELECT * FROM rol");
$consulta=mysqli_query($sql3);

while ($fila=$sql3->fetch_array()) { ?>

<option value="<?php echo $fila['rol_id']?>"><?php echo $fila['rol_descripcion']?></option>
<?php } ?>



?>

</select>
</form>



<br/><br/>
<br/>


<div class="form-group mx-sm-4 pb-4 ">
<input type="submit" class="btn btn-block ingresar" name="rango" id="rango" value="Registrar"/>
</div>


<br>


</body>
<div class="form-group mx-sm-4 text-center">
<span class=""><a href="inicio.php" class="olvide1"> Iniciar sesión</a></span>
</div>


<script src= "https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity= "sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin= "anonymous" ></script>
<script src= "https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity= "sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin= "anonymous" ></script>
<script src= "https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity= "sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin= "anonymous" ></script>
</html>



mi archivo de conectar a la base de datos: connection2.php
<?php

$con=mysqli_connect("localhost","root","","login") or
die("problemas con la conexion a la base de datos". mysqli_error());




?>



Esta es mi base de datos sql o la sintaxis que husa para crearla ;

create table rol(
rol_id int primary key,
rol_descripcion varchar(25) not null
);

create table sexo(
sex_id int primary key,
sex_descripcion varchar(25) not null
);

create table usuario(
usu_id int primary key auto_increment,
usu_nombre varchar(25) not null,
usu_correo varchar(25) not null,
usu_usuario varchar(25) not null,
usu_clave varchar(25) not null,
sex_id int,
rol_id int
);

create table factura(
fac_id int primary key auto_increment,
fac_fecha date default NULL,
fac_totalfactura decimal(7,1),
usu_id int
);


create table detalle_factura(
det_id int primary key auto_increment,
det_cantidad int not null,
det_venta decimal(7,1) not null,
fac_id int,
pro_id int
);

create table producto(
pro_id int primary key auto_increment,
pro_descripcion varchar(25) not null,
pro_precio decimal(7,1),
pro_date date default NULL,
pro_foto varchar(25),
usu_id int
);

alter table usuario add foreign key(sex_id) references sexo (sex_id);
alter table usuario add foreign key(rol_id) references rol (rol_id);

alter table factura add foreign key(usu_id) references usuario (usu_id);

alter table detalle_factura add foreign key(fac_id) references factura (fac_id);
alter table detalle_factura add foreign key(pro_id) references producto (pro_id);

alter table producto add foreign key(usu_id) references usuario (usu_id);

insert into rol values (1,"Administrador");
insert into rol values (2,"Cliente");

insert into sexo values (1,"Masculino");
insert into sexo values (2,"Femenino");

insert into usuario values (1,"camilo","info@gmail.com","abel",1234,1,1);
insert into usuario values (2,"fabian","fabian@gmail.com","fa",9876,1,1);
insert into usuario values (3,"milena","mil@gmail.com","mi",0234,2,2);
insert into usuario values (4,"diego","diego@gmail.com","die",0235,1,2);
insert into usuario values (5,"moises","moiso@gmail.com","monchis",9789,1,2);
insert into usuario values (6,"sebastian","sebas@gmail.com","pereza",1111,1,2);
insert into usuario values (7,"daniela","dani@gmail.com","flor",2222,2,2);
insert into usuario values (8,"marcela","mar@gmail.com","mujer",3333,2,1);
insert into usuario values (9,"marino","marino@gmail.com","loco",4444,2,2);
insert into usuario values (10,"juan","juan@gmail.com","sena",5555,2,2);







y este es mi archivo que valida: proceso.php;
<?php
include_once ("connection2.php");


$nombre = $_POST['usu_nombre'];
$correo = $_POST['usu_correo'];
$usuario = $_POST['usu_usuario'];
$clave = $_POST['usu_clave'];
$sexo=$_POST['sex_id'];
$filas=$_POST['rol_id'];


$conexion=mysqli_connect("localhost", "root", "", "login");
$cadenaSQL = "INSERT INTO usuario (usu_id, usu_nombre, usu_correo, usu_usuario, usu_clave, sex_id,rol_id)
VALUES ('$nombre', '$correo', '$usuario', '$clave','$sexo','$filas')";


echo $cadenaSQL."<br>";

$sql=mysqli_query($conexion,$cadenaSQL);


?>

Etiquetas: PHP - Pregunta Votos: 0 - Respuestas: 4 - Vistas: 4 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 14-03-2020 11:07:41 Tu consulta de inserción está mal:

    // INSERT INTO usuario (usu_id, usu_nombre, usu_correo, usu_usuario, usu_clave, sex_id,rol_id) VALUES ('as', 'a@gmail.com', 'asd', '123','1','')
    


    Te hace falta un id y el rol no puede ir vacío
      Votos: 0 - Link respuesta
     
  • Fecha: 15-03-2020 09:54:36 hola gracias me imprimen los datos con el echo $cadenaSQL."<br>";

    pero a la base de datos no llegan nada estare revisando otro error que tenia era que el formulario tenia un form para cada select y cuando deje la etiqueta form para los dos botones select ahora si iomprimen los datos jeeje es decir llega vacia la consulta a la base de datos a la base de datos

    cosa que como dices el id no puede ser vacio y es en donde la duda porque el id es autoicrementable y por eso quiero no lo que lo llene el usuario sino que se vaya incrementando por eso no lo puse en el formulario ahi donde estoy atorado
      Votos: 0 - Link respuesta
     
  • Fecha: 16-03-2020 07:01:36 Tu consulta está mal porque quieres actualizar 7 campos pero estás enviando 6.

    Además de eso uno de los 6 campos que envías va vacío y tu tabla no acepta id's vacíos.

    En tu consulta tú mismo le estás indicando que actualice el autoincrementable. Si no lo quieres entonces remueve el campo y listo.
      Votos: 0 - Link respuesta
     
  • Fecha: 18-03-2020 11:57:35 Viejo, rol_id lo tienes es el segundo formulario por eso es que no te lo captura   Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com