Foros del Web » Programando para Internet » PHP » CodeIgniter »

Carga de un model modifica el HTML

Estas en el tema de Carga de un model modifica el HTML en el foro de CodeIgniter en Foros del Web. Hola. Tengo un problema que no se si es muy extraño, pero apenas he encontrado informacion sobre el. Trabajando con Codeigniter desde un Controller intento ...
  #1 (permalink)  
Antiguo 07/02/2016, 07:18
 
Fecha de Ingreso: diciembre-2010
Mensajes: 3
Antigüedad: 13 años, 3 meses
Puntos: 0
Pregunta Carga de un model modifica el HTML

Hola.

Tengo un problema que no se si es muy extraño, pero apenas he encontrado informacion sobre el.

Trabajando con Codeigniter desde un Controller intento cargar un modelo en el constructor de la siguiente manera

MODELO
Código:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Clientes_model extends CI_Model{
		
	function __construct()
	{
		parent::__construct();
	}
	public function mostrar_client($mail){
		$this->db->select('*');
		$this->db->where('mail', $mail);
		$query = $this->db->get('clientes');
		return $query->row_array();
	}

}
?>
CONTROLADOR
Código:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Editar_cliente extends CI_Controller {
		
	function __construct()
	{
		parent::__construct();
		$this->load->model('clientes_model');
		$this->load->library('form_validation');
	}
	function index(){
		$login1 = $this->session->userdata('logged_in');
		$mail = $login1['mail'];
		$resultado = $this->clientes_model->mostrar_client($mail);
		if ($this->session->userdata('logged_in')){
			$this->load->view('editar_cliente', $resultado);
		}
		else{
			print_r("Necesitas estar logueado para entrar aquí");
		}
	} 
}
El problema surge cuando se carga la vista:
$this->load->view('editar_cliente', $resultado);

Todo parece estar bien: Coge las variables que le paso, las muestra... Pero por alguna razon que desconozco pararece que elimina las etiquetas <html> y <head> o las trastoca y toda la cabecera <link>, <script> y demas me pas pasa al <body>.

Con firebug se ve una cosa asi:
Código:
<html>
<head>
    <style type="text/css">
</head>
<body>
    <title>YourCab: Editar datos cliente</title>
    <link href="http://www.yourcab.net//imagenes/icono.ico" rel="Shortcut Icon">
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
    <link href="http://www.yourcab.net//css/screen.css" rel="stylesheet">
    <link href="http://www.yourcab.net//css/miestilo.css" rel="stylesheet">
    <link media="screen" type="text/css" href="http://www.yourcab.net//js/fancybox/fancybox/jquery.fancybox-1.3.4.css" rel="stylesheet">
    <link href="http://www.yourcab.net//css/flexslider.css" rel="stylesheet">
    <script async="" src="//www.google-analytics.com/analytics.js">
    <script id="twitter-wjs" src="https://platform.twitter.com/widgets.js">
    <script id="facebook-jssdk" src="//connect.facebook.net/es_ES/all.js#xfbml=1">
    <script src="http://code.jquery.com/jquery-1.9.1.min.js">
    <script src="http://code.jquery.com/jquery-migrate-1.1.1.min.js">
    <script src="http://www.yourcab.net//js/jquery.flexslider-min.js" type="text/javascript">
    <script src="http://www.yourcab.net//js/fancybox/fancybox/jquery.fancybox-1.3.4.pack.js" type="text/javascript">
    <script src="http://www.yourcab.net//js/supersized.1.0.js" type="text/javascript">
    <script src="http://www.yourcab.net//js/fb_script.js" type="text/javascript">
    <script src="http://www.yourcab.net//js/login.js" type="text/javascript">
    <script src="//cdnjs.cloudflare.com/ajax/libs/jquery.form/3.51/jquery.form.js" type="text/javascript">
    <script src="http://www.yourcab.net//js/jquery.easing.1.3.js">
    <script>
    <script>
    <script>
...
El codigo HTML lo tengo bien escrito creo:
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
	<head>
		<title>YourCab: Editar datos cliente</title>
		
		<?php $this->load->view('cabecera/cabecera.tpl'); ?>
       </head>
	<body>
		<div id="modalBoxes">
			<div id="mask"></div>
			<div class="container contenedor">
                        ...
                        </div>
                </div>
         </body>
</html>
Y si observo el codigo fuente de la vista me aparecen las etiquetas DOCTYPE, <html>, <head></head> <body> en rojo, indicandome que han desaparecido o que estan duplicadas.

He intentado simplificar el codigo al máximo, pero me sigue pasando.

¿Podria echarme alguien una mano? Si se necesita más información preguntarme y aportare el código que sea necesario.

Muchas gracias de antemano.

Saludos!
  #2 (permalink)  
Antiguo 07/02/2016, 08:19
Avatar de bymorr  
Fecha de Ingreso: septiembre-2012
Mensajes: 118
Antigüedad: 11 años, 7 meses
Puntos: 9
Respuesta: Carga de un model modifica el HTML

Lo raro es que estas cargando una cabecera dentro de tu vista con etiquetas php.... a mi gusto solo deveria ser html y jquery ...
a lo mejor el problema radica ahi...

<?php $this->load->view('cabecera/cabecera.tpl'); ?>


comenta esa linea y prueba...

atento a tu respuesta
  #3 (permalink)  
Antiguo 07/02/2016, 08:29
 
Fecha de Ingreso: diciembre-2010
Mensajes: 3
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Carga de un model modifica el HTML

Hola bymorr.

Lo primero muchas gracias por contestar tan pronto.

He probado comentandola y quitandola directamente, e incluso cargando las lineas de la cabecera directamente (en las demas vistas de mi pagina me funciona sin problemas).

Ahora incluso he probado con un simple include de php, pero nada, sigue trastocando las etiquetas que comento, con el resultado de ponerme todas las etiquetas de la cabecera en la parte del body del html.

Eliminando codigo para ir acotando el problema veo que parece estar en el model.
Código:
$this->load->model('clientes_model');
Si comento esa linea, sale bien el codigo html con todo donde toca. Pero no consigo ver que fallo puede tener ese model para que resulte en ese fallo.

Muchas gracias por tu respuesta.

Saludos!!
  #4 (permalink)  
Antiguo 08/02/2016, 07:10
Avatar de bymorr  
Fecha de Ingreso: septiembre-2012
Mensajes: 118
Antigüedad: 11 años, 7 meses
Puntos: 9
Respuesta: Carga de un model modifica el HTML

Estimado.

Mi constructor

Código PHP:
Ver original
  1. function __construct(){
  2.           parent::__construct();        
  3.           $this->load->model('clientes_model','',TRUE);
  4.     }

Pruebalo.
  #5 (permalink)  
Antiguo 08/02/2016, 07:55
 
Fecha de Ingreso: diciembre-2010
Mensajes: 3
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Carga de un model modifica el HTML

Hola bymorr

Primero gracias por la idea, esa no la habia probado.

Probado, el resultado es el mismo, sigue trastocando las etiquetas HTML.

La funcion me devuelve un array con varios elementos y he probado un print_r para ver que saca exactamente, parece todo correcto excepto por una tabulacion extraña al principio.

Codigo del print_r
Código:
	public function mostrar_client($mail){
			$this->db->select('*');
			$this->db->where('mail', $mail);
			$query = $this->db->get('clientes');
			print_r($query->result());
			return $query->row_array();
		}
al ver el codigo fuente me muestra esto:
Código:
		Array
(
    [0] => stdClass Object
        (
            [id] => 35
            [mail] => ***********
            [pass] => **************
            [nombre] => ***********
            [apellidos] => ***********
            [direccion] => ***********
            [cp] => ***********
            [poblacion] => ***********
            [provincia] => ***********
            [telefono] => ***********
            [fecha] => 2016-01-20 15:48:16
        )

)
Hay una tabulacion extraña antes de escribir la palabra Array cosa que con otros arrays de modelos similares no me sale.

Se me acaban las ideas :(

Gracias de nuevo
  #6 (permalink)  
Antiguo 09/02/2016, 06:03
Avatar de bymorr  
Fecha de Ingreso: septiembre-2012
Mensajes: 118
Antigüedad: 11 años, 7 meses
Puntos: 9
Respuesta: Carga de un model modifica el HTML

No se si puedas adjuntar tus archivos para poder hacer la prueba, hay cosas que no entiendo y así podría ayudar mejor.
  #7 (permalink)  
Antiguo 12/02/2016, 09:44
 
Fecha de Ingreso: marzo-2015
Mensajes: 45
Antigüedad: 9 años
Puntos: 0
Respuesta: Carga de un model modifica el HTML

Bueno no eh visto detalladamente tu codigo pero ten cuidado con las mayusculas creo que lo llamas en minuscula y tu clase esta en mayuscula

Etiquetas: body, controlador, controller, head, model, modelo, php, view, vista
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:26.