Habilitar Errores en PHP
En muchos servidores por seguridad se deshabilitan las opciones de reporte de errores que pueden producir los scripts, haciendo difícil la ubicación de dicho error, una forma de habilitar esta opción es mediante código que debemos agregar al inicio del script PHP
error_reporting(E_ALL);
ini_set('display_errors', '1');
Programacion Web
jueves, 7 de noviembre de 2019
miércoles, 5 de septiembre de 2018
El formato y la extensión de archivo de 'Excel.xlsx' no coinciden. Puede que el archivo esté dañado o no sea seguro. No lo abra a menos que confíe en su origen PHPExcel
Buenos días a todos.
PROBLEMA
Hoy me tope con este problema al intentar usar la clase PHPExcel, que por las referencia en internet, nos sirve para importar y exportar a diferentes formatos de office, dentro de las cuales yo pretendía usar el formato xlsx.
De todo los ejemplos descargados, todo tenían como denominador común el siguiente mensaje.
y al abrir el archivo me mostraba el siguiente detalle.
SOLUCIÓN
Debemos de buscar el archivo que esta generando el error, en mi caso la linea 581, del archivo Functions.php
Al hacer el comentario y probarlo, todo empezó a funcionar de maravilla, espero que les sirva de ayuda.
jueves, 26 de octubre de 2017
Error con acentos y eÑes en PHP/MySQL (Solucionado)
Error con acentos y eÑes en PHP/MySQL (Solucionado)
Muchas veces al crear una web con PHP y MySQL, ocurre un problema al introducir y mostrar datos: estos se alteran acabando en áóñ y cosas parecidas.
Cuando me pasa esto suelo empezar a toquetear cosas, cambiar charsets y traducir a
ñ
o á
pero nada funciona. El problema es que la configuración del cotejamiento de los caracteres especiales como acentos, eñes y demás símbolos no es el mismo entre la base de datos (MySQL), el lenguaje de servidor (PHP) y el servidor (Apache). Así que me puse a buscar y después de encontrar comentarios buenísimos de gente por los foros puedo hacer un resumen de todo lo necesario cuando nos ocurre un problema de estos (id haciendo y testeando si ya funciona todo bien paso a paso).Guía paso a paso para solucionar el problema de los acentos y eñes
- Cotejamiento
Al crear la base de datos MySQL, asegúrate que los campos string y demás esten enutf8_spanish_ci
y el cotejamiento de las tablas enutf_unicode_ci
(más tarde en Operations > Collation de phpMyAdmin se puede cambiar) - Content type HTML
Pon en el<head>
de todos los archivos HTML:<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
- Content type PHP
Y en los puramente PHP (que muestran XML, llamadas de AJAX, APIs…) pon el código:header("Content-Type: text/html;charset=utf-8");
- Set names
Al crear la conexión de PHP con MySQL, envía esta consulta justo tras la conexión:mysqli_query("SET NAMES 'utf8'");
(Para MySQLi escribe$acentos = $db->query("SET NAMES 'utf8'");
) - Convertir codificado a UTF-8
Convierte todo lo que esté codificado delatin1
aUTF-8
SELECT convert(cast(convert(content using latin1) as binary) using utf8) AS content
- Apache
Quita elDefaultCharset
del Apache o modifícalo - htmlentities
Como última y desesperada opción, quita todos loshtmlentities();
y sustitúyelo por otro parser para ‘sanitizar’ los datos.
Haciendo estos pasos se solucionará cualquier problema de codificación de caracteres. Si te ha servido este artículo, ahorra la frustración a otros programadores compartiendo el artículo en Twitter, Facebook o Google+ con los botones de abajo.
Si estás empezando con PHP/MySQL te recomiendo utilizar el código que tengo publicado aquí que es seguro, fácil de usar y funciona muy bien. También está la versión en PDO utilizando named parameters que es incluso más sencilla.
Para aprender a programar lo mejor es que te compres un libro físico para tenerlo al lado del ordenador a modo de consulta/referencia, te recomiendo sin lugar a dudas Domine PHP y MySQL, es el libro mejor recomendado que desde hace muchos años siempre tengo al alcance cuando programo y el hecho de consultarlo físicamente me ayuda a consolidar y memorizar mucho mejor los conceptos.
viernes, 27 de marzo de 2015
Error cuando se llama a la funcion set_magic_quotes_runtime()
Function set_magic_quotes_runtime()
Hola a todos.
Esto me ocurrió cuando quería usar FPDF para crear reportes
con php, entonces cuando me dispuse a utilizar la clase me salió el error: “Fatal error: Call to undefined function get_magic_quotes_runtime() ”. Y no crea ningun pdf en pantalla.
Revisando en internet y haciendo las pruebas del caso, este
error se debe a que la función get_magic_quotes_runtime()
ya no se usa y está obsoleta en versiones actuales de php.
Para
solucionarlo nos vamos a la "fpdf/fpdf.php" dependiendo donde se descomprimió la librería y hacemos las siguientes
correcciones:
Solo para recalcar, estoy usando la versión 1.7 de FPDF.Descargar
Codigo
original:
Corregimos
de la siguiente manera
Comentamos las
líneas 1054 y 1055 y escribimos: ini_set(“magic_quotes_runtime”,0);
Guardamos y
todo vuelve a funcionar sin problemas.
P.D. en
algunos casos:
Cambiamos
set_magic_quotes_runtime($mqr);
por
ini_set("magic_quotes_runtime", $mqr);
set_magic_quotes_runtime($mqr);
por
ini_set("magic_quotes_runtime", $mqr);
Espero que les sirva de algo.
Suscribirse a:
Entradas (Atom)