Pregunta:
Fecha: 13-03-2020 21:36:21
(En Español)
,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);
?>
Votos: 0 - Respuestas: 4 - Vistas: 4 Compartir en: Google Facebook Twitter LinkedIn Link
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);
?>
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
