Hola a todos, tengo la siguiente consulta para hacer: Resulta que tengo implementado el formulario, el controlador y el modelo, pero por alguna razón no me reconoce el botón aceptar cuando al fijarme están iguales y no me doy cuenta del error, pongo el código:
View/Usuarios/add.php
Código PHP:
Ver original<h3><i class="fa fa-angle-right"></i> Crear Usuario</h3>
<form class="form-horizontal style-form" method="post" action="index.php?c=usuarios&a=add" name="frmadd" onsubmit='return validarCedula(this.txtci.value);'>
<div class="row mt">
<div class="col-lg-6 col-md-6 col-sm-12">
<div class="showback">
<h4><i class="fa fa-angle-right"></i> Datos del Sujeto:</h4>
<div class="form-group">
<label class="col-sm-2 col-sm-2 control-label">Tipo de Sujeto (*)</label>
<div class="col-sm-10">
<input id
="suj" list="sujetos" class="form-control" placeholder
="Seleccione un Tipo de Sujeto" required
="required" name
="cboxtiposuj" /> <datalist id="sujetos">
<option value="Seleccione">Seleccione</option>
<option value="Empresa">Sujeto Tipo Empresa</option>
<option value="Persona">Sujeto Tipo Persona</option>
</datalist>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 col-sm-2 control-label">Documento del Sujeto (*)</label>
<div class="col-sm-10">
<input type="text" id="txtci" name="txtci" class="form-control" autofocus required placeholder="Ej: 28554564 - C.I" onkeypress="return validarNumero(event)" maxlength="8" style="display: none;" />
<input type="text" id="txtruc" name="txtruc" class="form-control" autofocus required placeholder="Ej: 285514564788 - RUC" onkeypress="return validarNumero(event)" maxlength="12" style="display: none;" />
</div>
</div>
<div class="form-group">
<label class="col-sm-2 col-sm-2 control-label">Nombre del Sujeto (*)</label>
<div class="col-sm-10">
<input type="text" name="txtnomsuj" class="form-control" required placeholder="Ej: Luis Ottonello" onkeypress="return validarTexto(event)" />
</div>
</div>
<div class="form-group">
<label class="col-sm-2 col-sm-2 control-label">Dirección del Sujeto (*)</label>
<div class="col-sm-10">
<input type="text" name="txtdir" class="form-control" required placeholder="Ej: Dr. Soca 300" />
</div>
</div>
<div class="form-group">
<label class="col-sm-2 col-sm-2 control-label">Teléfono del Sujeto</label>
<div class="col-sm-10">
<input type="text" name="txttelefono" class="form-control" placeholder="Ej: 47358545" onkeypress="return validarNumero(event)" maxlength="8" />
</div>
</div>
<div class="form-group">
<label class="col-sm-2 col-sm-2 control-label">Celular del Sujeto</label>
<div class="col-sm-10">
<input type="text" name="txtcelular" class="form-control" placeholder="Ej: 099564565" onkeypress="return validarNumero(event)" maxlength="9" />
</div>
</div>
</div>
</div>
<div class="col-lg-6 col-md-6 col-sm-12">
<div class="showback">
<h4><i class="fa fa-angle-right"></i> Datos del Usuario: </h4>
<div class="form-group">
<label class="col-sm-2 col-sm-2 control-label">Nombre del Usuario (*)</label>
<div class="col-sm-10">
<input type="text" name="txtuser" class="form-control" required placeholder="Ej: pop32" />
</div>
</div>
<div class="form-group">
<label class="col-sm-2 col-sm-2 control-label">Contraseña (*)</label>
<div class="col-sm-10">
<input type="password" name="txtpass" class="form-control" required placeholder="Ej: penelope4512" />
</div>
</div>
<div class="form-group">
<label class="col-sm-2 col-sm-2 control-label">Tipo de Usuario (*)</label>
<div class="col-sm-10">
<input
list="tipos" class="form-control" placeholder
="Seleccione un Tipo de Usuario" required
="required" name
="cboxtipo" /> <datalist id="tipos">
<option value="Administrador">Administrador del Sistema</option>
<option value="Supervisor">Supervisor de Seguridad del Sistema</option>
<option value="Usuario">Usuario logueado como cliente</option>
</select>
</div>
</div>
</div>
</div>
<div class="col-lg-6 col-md-6 col-sm-12">
<div style="text-align: center;">
<button type="submit" name="btnaceptar" value="Aceptar" class="btn btn-theme03"><i class="fa fa-check"></i> Aceptar</button>
<a href="index.php?c=usuarios&a=index"><button type="button" name="btncancelar" value="Cancelar" class="btn btn-theme04"><i class="fa fa-times"></i> Cancelar</button></a>
</div>
</div>
</div>
</form>
<script type="text/javascript">
$(function() {
$("#suj").change(function(){
if($("#suj").val()=="Seleccione"){
$("#txtruc").hide();
$("#txtci").hide();
}
if($("#suj").val()=="Persona"){
$("#txtruc").hide();
$("#txtci").show();
}
if($("#suj").val()=="Empresa"){
$("#txtci").hide();
$("#txtruc").show();
}
});
});
</script>
Controller/UsuariosController.php
Código PHP:
Ver original<?php
namespace Controller;
use \App\Session;
use \Clases\Sujeto;
use \Clases\Usuario;
class UsuariosController extends AppController
{
public function __construct() {
parent::__construct();
}
public function add(){
if($this->checkUser()){
if(isset($_POST["btnaceptar"])){ $sujeto = $this->createSujeto();
$sujeto->save();
$usuario = $this->createUsuario();
$usuario->setSujeto((new Sujeto())->findById((new Sujeto())->maxID()));
$id = $usuario->save();
Session::set("msg","Usuario Creado");
header("Location:index.php?c=usuarios&a=index"); }
else {
Session::set("msg",Session::get('msg'));
}
}
$this->redirect_administrador(["add.php"]);
}
}
private function createSujeto(){
$sujeto = new Sujeto();
$sujeto->setId(isset($_POST['hid']) ?
$_POST['hid'] : 0); $sujeto->setDocumento(isset($_POST['txtruc']) ?
$_POST['txtruc'] : (isset($_POST['txtci']) ?
$_POST['txtci'] : null)); $sujeto->setNombre($_POST['txtnomsuj']);
$sujeto->setDireccion($_POST['txtdir']);
$sujeto->setTelefono($_POST['txttelefono']);
$sujeto->setCelular($_POST['txtcelular']);
$sujeto->setTiposuj($_POST['cboxtiposuj']);
return $sujeto;
}
private function createUsuario(){
$sujeto = $this->createSujeto();
$usuario = new Usuario();
$usuario->setId(isset($_POST['hid']) ?
$_POST['hid'] : 0); $usuario->setNombre($_POST['txtuser']);
$usuario->setPass($_POST['txtpass']);
$usuario->setTipo($_POST['cboxtipo']);
$usuario->setSujeto($sujeto);
return $usuario;
}
}
Y no sé si el jquery de add.php tiene la culpa o no, Espero sus respuestas y saludos.