[ CODEIGNITER ] Dynamic base_url – base_url dinámica

En muchos casos, si estas desarrollando de manera colaborativa, usas cvs, svn, etc, es posible que un mismo proyecto lo pruebes en maquinas o servidores distintos. Uno de los problemas con los que me topé, fue el hecho de teenr que cambiar el ” $config[‘base_url’] ” , cada vez que ocupaba un computador distinto. 

Si bien, este no es un problema “TERRIBLE” se vuelve tedioso al momento de desarrollar de manera colaborativa, en este caso con codeigniter. Para solucionarlo, simplemente, haremos que el config..php (application/config/config.php) establezca nuestro base_url dependiendo de donde nos encontremos.

 

Sustituiremos

$config['base_url']    = "http://localhost/Proyectos/

Con un simple switch, que además depende del nombre del servidor donde nos encontremos. 

<?php

define('SERVER_NAME_DEV', 'localhost');
define('SERVER_NAME_EMPRESA', 'www.PAGINA_UNO.cl');
define('SERVER_NAME_FINAL', 'www.PAGINA_DOS.cl');

//Obtenemos el nombre actual para el servidor donde nos encontramos
$nombreServerActual = $_SERVER['SERVER_NAME'];
switch($nombreServerActual)
{
    case SERVER_NAME_DEV:
            $config['base_url'] = "http://localhost/Proyectos/";
            break;
    case SERVER_NAME_EMPRESA:
            $config['base_url'] = "http://www.PAGINA_UNO.cl";
            break;
    case SERVER_NAME_FINAL:
            $config['base_url'] = "http://www.PAGINA_DOS.cl";
            break;
    default:
            $config['base_url'] = "http://localhost/Proyectos/";
            break;
}
?>

Con este pequeño truco, no importa en cual server estemos desarrollando con CodeIgniter. El resultado siemrpe será el mismo, nuestra página sin tener que cambiar el base_url.

Con este sistema, no importa la CANTIDAD de servidores de desarrollo, o incluso los distintos nombres que pueda tener tu página.

 

 

Read More >[ CODEIGNITER ] Dynamic base_url – base_url dinámica

[ PHP ] [ Parsing ] &lt p &gt

Cuando estamos trabajando con Php, BdD, y caracteres especiales, al momento de insertarlos a la BdD, estos no se insertan necesariamente como nosotros queremos. El ejemplo típico es el de los párrafos o más conocidos como “<p>”.

 

<p> <p>

 

Para solucionarlo, simplemente usamos un método llamado html_entity_decode , que transforma los caracteres a lo que deberían ser, teniendo el resultado que esperamos.  Espero que les sirva. 

Read More >[ PHP ] [ Parsing ] &lt p &gt

[CodeIgniter] [javaScript] Incluir Base_url o Site_url en las funciones de JavaScript

Al momento de estar desarrollando una aplicacion con codeigniter, es muy probable que llegue el momento de hacerla aun mas dinamica. Esto se hace agregando el java script.

Una de las dificultades que podemos presenciar, es la llamada a la página que necesitamos, tomando en cuenta que no queremos que el contenido del javascript posea las rutas directas a nuestras páginas.

 Para solucionar esto, podemos generar una variable de javascript que contenga estos datos al momento de cargar la página. 

 

Tomemos como ejemplo el siguiente header :

<head>
<script src="<?=base_url()?>/assets/js/prototype.js" type="text/javascript"></script>
<script type="text/javascript">
base_url = '<?= base_url();?>'
</script>
</head>

 Simplemente creamos al variable de javaScript base_url, a la cual podemos acceder desde cualquier javascript creado por nosotros, y que además contiene la ruta real especificada en la configuración de codeigniter. Bastante sencillo, pero bastante útil ! 😛

 

Read More >[CodeIgniter] [javaScript] Incluir Base_url o Site_url en las funciones de JavaScript

[CODEIGNITER] [CALLBACKs] Como generar nuestros callbacks con parámetros

Cuando generamos los callbacks, nos vemos en la necesidad de usar parámetros por lo general. De la misma forma que el “matches” de codeigniter compara dos campos proporcionados por nosotros, en general nos gustaría por ejemplo comparar un usuario y un password , por ejemplo, para hacer un pequeño sistema de autentificación.

 Simplemente creamos el callback, y además de recibir el parámetro primero, el cual es el field que nosotros poseemos, recibiremos a continuación todos los parámetros que necesitemos (El truco esta en la llamada).

 

Si quiero crear un callback para revisar si una clave corresponde a un usuario en particular , debería crear un callback que lo revisara al momento de validar el formulario.

<?php
function check_usuario_clave($usuario,$clave)
{


}
?>

 Al momento de llamar al calback es cuando debemos hacer la diferencia. En este caso en vez de llamar a callback_check_usuario_clave , llamaremos a callback_check_usuario_clave[clave] .

Hasta ahora, nuestro parámetro clave tendrá simplemente el valor de “clave”, por lo tanto debemos obtener el contenido original.

<?php
function check_usuario_clave($usuario,$clave)
{
$clave = $_POST[$clave];

}
?>

De esta manera podemos trabajar con ambas variables, sin necesidad de ejecutar funciones aparte de los callback. En este caso la variable $clave es redefinida para contener el valor que nos interesa. Espero que les sirva y éxito ! ! 

 

 

 

 

Read More >[CODEIGNITER] [CALLBACKs] Como generar nuestros callbacks con parámetros

Call to a member function sess_destroy() – CodeIgniter

En el manejo de sesiones con CodeIgniter podemos obtener problemas, si la sesión no es cargada automáticamente.

 

Tomando en cuenta que cargamos la sesión con :

$this->load->library(‘session’);

 

Tenemos el problema, que esta instancia solo se crea para el controlador en el cual la estamos llamando, entonces para poder utilizar 

$this->session->sess_destroy();

 debemos cargar automáticamente la librería de sesión desde el archivo de configuración “autoload.php”. Para hacerlo encontramos la linea en la cual se define el autoload de las libreríaas, y revisemos que quede de la manera siguiente;

$autoload[‘libraries’] = array(‘session’);

 

Espero que eso los ayude con el problema que pudieron tener. Saludos!

 

 

 

 

 

 

Read More >Call to a member function sess_destroy() – CodeIgniter