Buenas, bienvenido al foro, ahora, has entendido el concepto?? aunque no hay forma correcta o incorrecta porque es solo una forma de organizar código no esta mal darte un poco de concejos
1) Modelo = lógica de negocio (no es solo la conexión y consultas a la base de datos)
2) Vista = lo que ve el usuario, no debería de tener nada de lógica
3) controlador = controla el flujo, carga el modelo que realiza la lógica y renderiza la vista
ahora viendo tu código
Cita:
Iniciado por natalivg
Código PHP:
Ver original<?php
class config
{
var $dsn = 'mysql:dbname=mitabla;host=localhost';
var $user = 'root';
var $password = '';
var $dbms='PDO';
function connect()
{
switch($this->dbms)
{
case 'PDO':
try
{
$connection= new PDO($this->dsn,$this->user,$this->password);
}
catch (PDOException $e)
{
echo 'Connection Error: ' . $e->getMessage();
}
return $connection;
break;
}
}
}
?>
config debería de referirse a la configuración de la app, la conexión debería de ser otra historia, (interesante siempre el que conozcas un ORM). Otra cosa
var esta
OBSOLETO es de php 4, en php5 se usa la
visibilidad
otra cosa
Cita:
Iniciado por natalivg <!DOCTYPE html>
<html lang="es">
<head>
<meta charset="ISO-8859-1">
<meta name="Administración Cargos" content="Cargos">
<meta name="keywords" content="Cargos Administarción">
<link rel="stylesheet" href="../css/estilos.css">
<link href="../css/bootstrap.css" rel="stylesheet">
<link href="../css/bootstrap-responsive.css" rel="stylesheet">
<link href="../css/docs.css" rel="stylesheet">
<link href="../js/google-code-prettify/prettify.css" rel="stylesheet">
<script src="../js/mensajes.js"></script>
<script src="../js/limites.js"></script>
<title>Administración Cargos</title>
</head>
<body id="body">
<div id="centrar">
<header>
<h1 id="header" >Administración de Cargos</h1>
</header>
<div class="container" id="col">
<?php
require_once '../controller/controlador_cargos.php';
$controlador_cargos= new controlador_cargos();
$idcargoc = isset($_POST["idcargoc"]) ?$_POST["idcargoc"] : NULL;
$descripcionc = str_replace("'","",isset($_POST["descripcionc"]) ?$_POST["descripcionc"] : NULL);
$subm = isset($_POST["subm"]) ?$_POST["subm"] : NULL;
$buscar = isset($_POST["buscar"]) ?$_POST["buscar"] : NULL;
?>
<form action="vista_cargos.php" method="post" enctype="multipart/form-data" class="form-horizontal">
<div class="control-group">
<div class="controls">
<input type="hidden" value="<?php echo $idcargoc; ?>" name="idcargoc">
</div>
</div>
<div class="control-group">
<label class="control-label" id="bold">Cargo</label>
<div class="controls">
<input type="text" placeholder="Ingrese el Cargo" class="span2" value="<?php echo $descripcionc; ?>" name="descripcionc" onKeyDown="contador(this.form.descripcionc,this.fo rm.remLen,20);" onKeyUp="contador(this.form.descripcionc,this.form .remLen,20);">
</div>
</div>
<div class="control-group">
<div class="controls">
<input class="span2" placeholder="" name="buscar" type="text" value="<?php echo $buscar ?>"/>
<input type="submit" name="subm" value="Buscar" class="btn btn-btn"/>
<input type="submit" name="subm" value="Ultimos Registros" class="btn btn-info" />
<div class="btn-group">
<a class="btn btn-primary" href="#"><i class="icon-user icon-white"></i></a>
<a class="btn btn-primary dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
<ul class="dropdown-menu">
<li><input type="submit" name="subm" value="Guardar" class="btn-block btn-success" onClick="return ConfirmSave();"/></li>
<li><input type="submit" name="subm" value="Modificar" class="btn-block btn-warning" onClick="return ConfirmModify();"/></li>
</ul>
</div>
</div>
</div>
</form>
<?php switch($subm):?>
<?php case 'Modificar':?>
<?php if(preg_match("/^[0-9a-zA-ZñÑáéíóú]+$/",$descripcionc)):?>
<?php $controlador_cargos->controlador_modificar_cargos($idcargoc,$descripci onc);?>
<script>
document.location = ('vista_cargos.php');
Modify();
</script>
<?php else:?>
<div class="alert alert-error" id="error">
<?php echo "Solo se permite texto,revise los datos ingresados.";?>
</div>
<?php endif;?>
<?php break;?>
<?php endswitch;?>
</div>
</div>
<script type="text/javascript" src="../js/widgets.js"></script>
<script src="../js/jquery.js"></script>
<script src="../js/bootstrap-transition.js"></script>
<script src="../js/bootstrap-alert.js"></script>
<script src="../js/bootstrap-modal.js"></script>
<script src="../js/bootstrap-dropdown.js"></script>
<script src="../js/bootstrap-scrollspy.js"></script>
<script src="../js/bootstrap-tab.js"></script>
<script src="../js/bootstrap-tooltip.js"></script>
<script src="../js/bootstrap-popover.js"></script>
<script src="../js/bootstrap-button.js"></script>
<script src="../js/bootstrap-collapse.js"></script>
<script src="../js/bootstrap-carousel.js"></script>
<script src="../js/bootstrap-typeahead.js"></script>
<script src="../js/bootstrap-affix.js"></script>
<script src="../js/holder/holder.js"></script>
<script src="../js/google-code-prettify/prettify.js"></script>
<script src="../js/application.js"></script>
</body>
</html>
el controlador carga la vista no la vista al controlador, por lo tanto hacer un require en una vista a un controlador es incorrecto
Cita:
Iniciado por natalivg - Aquí mi primera duda, si yo quisiera hacer un paginador la lógica iría en el
modelo cierto? o me equivoco.
normalmente uso librerías de terceros de paginación, te doy un ejemplo en Yii lo que se hace es solicitar el provider de datos al modelo y pasarlo a la vista que llama al widget bien sea un grid o un list
Cita:
Iniciado por natalivg - Y segundo aqui uso quote para entrecomilalr cadenas desagradables y las
guarda asi en la bd y despues con una expresion regular quito las comillas algo
no es necesario andar haciendo cosas con regex ni nada por el estilo, hay metodos que te brinda PDO, como consultas
preparadas que te realizan el escape necesario a los caracteres especiales y te evitan SQLInjection.
ya creo que es toda mi observación, Saludos