Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - KateLibby

#61
PHP / Re: Capturar idioma navegador (codeigniter)
22 Noviembre 2011, 12:13 PM
No lo consigo.

He cargado la clase $this->load->library('user_agent'); en el controlador home.php y creo que con esto ha dejado de darme error, pero ahora no sé cómo hacerlo para redireccionar, porque la forma como llamo a la página de inicio es la siguiente, y no sé cómo diferenciarlo por idiomas:

$this->load->view('index', $data);

Así es como diferencio los idiomas por URL, no sé si os puede servir:

ES: http://www.dominio.com
EN: http://www.dominio.com/index.php/en/home/index/

Otra cosa que he probado es modificando el archivo system\application\libraries\langsystem.php. Aquí tengo este código que me permite cambiar el idioma por defecto.


if($CI->uri->segment(1))
   $this->lang_code = $this->get_language($CI->uri->segment(1));
else
   $this->lang_code = 'es';


He intentado hacer esto


if($CI->uri->segment(1))
   $this->lang_code = $this->get_language($CI->uri->segment(1));
else {
   if ($this->agent->accept_lang('en')){
      $this->lang_code = 'en';
   }else{               
      $this->lang_code = 'es';
   }
}


pero me da error otra vez  :-\

#62
PHP / Re: Capturar idioma navegador (codeigniter)
17 Noviembre 2011, 17:42 PM
Gracias por tu respuesta. He visto que podía usar esta sentencia, pero no he llegado a mirármela detenidamente proque creo que no me serviría para lo que quiero hacer.

Lo que quiero es capturar el idioma del navegador para hacer que al entrar en la página se dirija directamente a ese idioma, en lugar de poner uno por defecto.
#63
PHP / Capturar idioma navegador (codeigniter)
17 Noviembre 2011, 15:25 PM
¿Sabéis alguna forma de hacer esto mismo pero con el framework Codeigniter? Si lo pongo tal cual me da error.

$_SERVER['HTTP_ACCEPT_LANGUAGE']

Gracias
#64
Gracias por vuestras respuestas.

Al final hubo cambios en cómo tenía que ser el formulario y me he apañado sin utilizar AJAX. De todas formas seguro que en otro momento me encuentro con el mismo problema. En cuanto lo pruebe, os cuento.

Saludos y gracias.
#65
He hecho los cambios que propones, fran800m, pero aún así no lo consigo.

Lo de llamar la segunda función cuando termine la primera ya lo probé y no funcionó, aunque igual no lo hice bien. Sería así?


function AjaxDias(datos, result){
divResultado = document.getElementById(result);
        ajax=objetoAjax();
        ajax.open("GET", "ajax_dias.php?id=" + datos);
        ajax.onreadystatechange=function() {
               if (ajax.readyState==4) {
                       divResultado.innerHTML = ajax.responseText
               }
        }
        ajax.send(null)
        AjaxHoras(datos, 'horas')
}



function AjaxHoras(datos, result){
divResultado = document.getElementById(result);
        ajax=objetoAjax();
        ajax.open("GET", "ajax_horas.php?id=" + datos);
        ajax.onreadystatechange=function() {
               if (ajax.readyState==4) {
                       divResultado.innerHTML = ajax.responseText
               }
        }
        ajax.send(null)
}


<select onChange=" AjaxDias(this.value, 'dias')">
...



Gracias por vuestras respuestas.
#66
Os pongo la función objetoAjax()

function objetoAjax(){
       var xmlhttp=false;
       try {
              xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
       } catch (e) {
              try {
                 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
              } catch (E) {
                      xmlhttp = false;
              }
       }

       if (!xmlhttp && typeof XMLHttpRequest!='undefined') {

              xmlhttp = new XMLHttpRequest();


       }
       return xmlhttp;
}


El navegador no me da errores (bueno, sí me da uno pero es en un .css y supongo que no tiene importancia). Simplemente es que no se ejecuta una de las funciones. Sólo se ejecuta la segunda.

Y la verdad es que no estoy muy segura de lo de ajax.send(null). En realidad no lo estoy nada. He hecho muy poca cosa con AJAX y este código es copiado y pegado de uno que me funcionaba, pero aplicándole los cambios necesarios  ;D
#67
Tengo un formulario en el que habrá tres combos. Según lo que se elija en el primer combo se llenarán los otros dos (es decir, el segundo y el tercero son independientes el uno del otro). Para llenar el combo 2 y 3 tengo una función para cada uno, la cual llama a su archivo php correspondiente mediante AJAX.

Mi problema es que no consigo llamar a las dos funciones cuando hago el onChange del <select>. Lo hago de la siguiente manera:

function AjaxDias(datos, result){
divResultado = document.getElementById(result);
        ajax=objetoAjax();
        ajax.open("GET", "ajax_dias.php?id=" + datos);
        ajax.onreadystatechange=function() {
               if (ajax.readyState==4) {
                       divResultado.innerHTML = ajax.responseText
               }
        }
        ajax.send(null)
}



function AjaxHoras(datos, result){
divResultado = document.getElementById(result);
        ajax=objetoAjax();
        ajax.open("GET", "ajax_horas.php?id=" + datos);
        ajax.onreadystatechange=function() {
               if (ajax.readyState==4) {
                       divResultado.innerHTML = ajax.responseText
               }
        }
        ajax.send(null)
}


<select onChange=" AjaxDias(this.value, 'dias'); AjaxHoras(this.value, 'horas') ">

Si en las funciones, en lugar del código AJAX que tengo ahora, les pongo simplemente un alert('Hola'), por poner un ejemplo, sí que me ejecuta las dos, pero con el código AJAX sólo me ejecuta una.

¿Alguna idea de cómo puedo llamar las dos funciones en onChange? Gracias.
#68
Muchas gracias! Le echaré un vistazo!
#69
Tengo que contruir un programa gestor de clientes en el cual la base de datos contendrá contraseñas y datos personales, por lo que tiene que ser lo más seguro posible.

Las medidas de seguridad con las que había pensado son:

- Cifrar contraseñas en la base de datos.
- Limitar el acceso sólo a unas IPs concretas.
- Bloquear el acceso a los usuarios que hayan introducido mal la contraseña X veces.

¿Podríais darme más ideas para aumentar la seguridad?

Gracias de antemano.
#70
Funcionó! Pongo la solución por si a alguien le sirve.

En el php.ini borrar o comentar la línea

default_charset = "utf8"

Gracias por todas vuestras respuestas.