Categoría:

PHP

Todo sobre PHP. Scripts functions, objects y programación estructura en este lenguaje de programación.

Detectar iPad con PHP o Javascript


Si hace unos días escribía un artículo sobre como redireccionar una web en función del dispositivo móvil, ya sea iPad, iPhone o cualquier otro smartphone, hoy explicaré más en concreto como saber si se está visitando una web desde un iPad. Detectar iPad mediante PHP Detectar si es un iPad es muy sencillo, no es más complicado que saber si está desde un pc, mac o lo que sea. Para ello usaremos la variable de servidor USER_AGENT, $_SERVER['HTTP_USER_AGENT'] que es lo que el navegador envía al servidor para identificarse. En esta variable de servidor contiene bastante información acerca del usuario, como por ejemplo el sistema operativo que está usando y su versión, el motor de navegador y su versión, y otros datos de idioma y geoposicionamiento básico, etc. En mi caso la información que está enviando es la siguiente (desde mi navegador de mi pc con Linux): [HTTP_USER_AGENT] => Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1 En el caso de que estemos visitando nuestra web desde un iPad será algo similar a lo siguiente: Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; es) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10 Con toda esta información ya podemos realizar una [...]

Sin Comentarios Categoria : PHP

Mantener session PHP cuando se cambia entre HTTP a HTTPS. Evitar perder session


Desde hace un tiempo que estaba teniendo un problema en mi aplicación en una zona restringida para los administradores y redactores de la web (no se trata de este blog). Los administradores y los redactores accedían a esta sección de la web para gestionar toda la aplicación, así como crear contenido, etc,… el problema es que tras navegar por la aplicación interna, realizar diferentes acciones, crear contenido, editar o lo que necesitaran hacer llegaba un momento que la aplicación se deslogueaba. Porqué? El problema reside en la session que se crea bajo HTTP o HTTPS no son iguales. De manera que una session creada bajo HTTP como la siguiente <?php $_SESSION['user'] = ‘pedro’; ?> bajo HTTPS si queremos hacer un print_r o un var_dump, no tiene valor, no existe. <?php var_dump($_SESSION['user']); ?> Sessión creada bajo HTTP creada con CakePHP Ahora bien, porque se deslogueaba? Normalmente los paneles de control o herramientas de gestión internas y privadas, la cuenta de facebook, etc,.. tienen el login inicial y sucesivas comprobaciones de las credenciales a lo largo de la conexión por medio de la sessión. Pues bién en mi caso había ciertas llamadas bajo http o algunos elementos que incluía por ejemplo un [...]

Sin Comentarios Categoria : PHP

HTTP status códigos de respuesta de las cabeceras


Las cabeceras del HTTP son informaciones que se intercambian entre el navegador, o cualquier otro cliente, y el servidor de páginas web. Las cabeceras del http son transparentes para nosotros, pero en ocasiones contienen informaciones que pueden servir de ayuda a los desarrolladores. Estas cabeceras permiten transportar información de control entre el cliente y el servidor, como el estado de respuesta del servidor, cookies enviadas al cliente, tipo de contenido que se está enviando/recibiendo, momento en el que se realizan las solicitudes o entregas de información, etc. A continuación indico todos los posibles códigos de error o respuestas de las cabeceras. Los he metido en un array de PHP para que se puedan usar en cualquier función con el objetivo que sea. Ya sea identificar una respuesta de apache o del servidor de páginas web o generar un tipo de respuesta deseado, el típico 404 o 301. $codigos = array( 100 => ‘Continue’, 101 => ‘Switching Protocols’, 200 => ‘OK’, 201 => ‘Created’, 202 => ‘Accepted’, 203 => ‘Non-Authoritative Information’, 204 => ‘No Content’, 205 => ‘Reset Content’, 206 => ‘Partial Content’, 300 => ‘Multiple Choices’, 301 => ‘Moved Permanently’, 302 => ‘Found’, 303 => ‘See Other’, 304 => ‘Not [...]

1 Comentario Categoria : PHP

PHP meter una sentencia if dentro de un echo


Digamos que quieres hacer algo así: echo ‘<option value="’.$value.’"’.if($value==’España’) echo ‘selected="selected"’;.’>’.$value.’</option>’; Esto claro está va a fallar porque no se puede meter sentencias de control dentro de un echo. Para ello, se puede usar un pequeño truco usando el operador ternary (o ternario) para similar una sentencia if/else. Bueno no simula nada, porque es en sí un operador condicional. Se define de la siguiente manera “?:” <?php // Ejemplo de uso para: Operador Ternario $action = (empty($_POST['action'])) ? ‘default’ : $_POST['action']; // Lo anterior es idéntico a esta sentencia if/else if (empty($_POST['action'])) { $action = ‘default’; } else { $action = $_POST['action']; } ?> La expresión (expr1) ? (expr2) : (expr3) evalúa a expr2 si expr1 se evalúa como TRUE y a expr3 si expr1 se evalúa como FALSE. A partir de PHP 5.3, es posible dejar de lado la parte media del operador ternario. La expresión expr1 ?: expr3 retorna expr1 si expr1 se evalúa como TRUE y expr3 si es de otra manera. De esta manera ya podremos tener la siguiente lógica en nuestro formulario para verificar si esta seleccionado o no usando una sentencia de control. echo ‘<option value="’.$value.’" ‘.(($value==’España’)?’selected="selected"’:"").’>’.$value.’</option>’; El operador ternario puede se un poco [...]

Sin Comentarios Categoria : PHP

Problemas codificacion web. Configurar codificación utf8 php, mysql y html


Después de muchos años y grandes problemas de codificación con php y mysql, puedo afirmar que tengo, bastante controlado el problema con las codificaciones. Bueno por lo menos identificado. Desgraciadamente mi conocimiento se debe a malas experiencias, pero como se dice, casi todo en la vida se aprende a golpes o por las malas. Me he tenido que “pelear” muchísimo con este problema y han sido grandes quebraderos de cabeza. Aún así se que es uno de los grandes problemas de los desarrolladores y se convierte en algo tremendamente problemático sino se hace bien desde el principio. Es el momento de escribir un artículo con mis experiencias sobre este asunto. Problemas codificación web. Configurar codificación utf8 php, mysql y html Hay muchas causas por las que una página web muestre caracteres raros con problemas de codificación en iso o con utf8. Un listado de los posibles fallos pueden ser los siguientes: Codificación por defecto con la que arranca apache. Hay que indicar una directiva para que apache arranque en utf8 Codificación con mysql. Esto es lo más complejo de todo este asunto. Lo explicaré después. Codificación de php. Codificación del html. Por último y no menos importante la codificación con [...]

34 Comentarios Categoria : PHP
  1. Páginas:
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6

Colabora, añade +1 a mi blog!!