Cómo compartir con otras personas tu proyecto PHP ya terminado

Cómo compartir con otras personas tu proyecto PHP ya terminado

Cómo hacer para..., Herramientas
Listo. Terminado. Finito. Ah... qué placer, ¿no? Después de horas frente a la pantalla, incontables tazas de café y miles de bugs resueltos, por fin llegará el merecido descanso... sólo falta hacer la demo para el cliente. Es que si no se hace el cliente no podrá dar su visto bueno y sin él... difícil que haga el último pago :p Podrías hacer un despliegue completo en su servidor pero... ¿y si algo sale mal? O peor, ¿qué tal si sale todo bien y el código ya está fuera de tu control? ¿Cómo hacer para que otra persona vea tu trabajo sin entregarle el código? Existen varias opciones según cuál sea tu modo de trabajar. Para este artículo asumiré que desarrollas en un servidor local (XAMPP o similar). Usar un…
Leer más
Guía para solucionar problemas de DataTables con Ajax y PHP

Guía para solucionar problemas de DataTables con Ajax y PHP

Cómo hacer para...
Usá DataTables te dijeron. "Es el mejor plugin que vas a encontrar para mostrar datos en forma resumida" "Es súper fácil de usar" Si... claro. Armar la tabla no es muy complicado, es cierto, pero cuando le empezabas a encontrar el gustito... las cosas se complicaron. ¿Y ahora? ¿¿Qué pasa que no se cargan los datos?? Estarás pensando "¿Por qué no me quedé con las viejas tablas HTML que andaban sin problemas?" Pero en el fondo sabés por qué. Querés un sitio moderno. Querés que los visitantes tengan una buena experiencia. Querés que el cliente te vuelva a contratar y le cuente a sus amigos. Así que más vale hacer un esfuercito más. Lo primero que hay que tener claro es que no se puede resolver un problema sin primero…
Leer más

PHP no da error pero tampoco inserta en la db

Cómo hacer para...
Ahí está el código. Lo miraste por todos los costados posibles. Todos los puntos y comas están en su lugar. No hay ningún paréntesis mal cerrado, ninguna llave fuera de lugar ni nada raro. Corrés el programa y no sale ningún mensaje de error. Es más, el mensaje que se ve es "Todo ok: datos guardados" Y sin embargo cuando mirás en phpMyAdmin... ¿Qué podés hacer? Es una opción, sí. También podés descargar tu furia en Twitter contándole al mundo cuánto odiás PHP pero... eso tampoco va a ayudarte a resolver tu problema. No te desesperes. Existen algunas opciones mejores. A veces sucede que encontrar la causa de un error requiere algo más que simplemente leer el código. Tomemos un ejemplo como este: <?php $conn = mysqli_connect(); $sql = "INSERT…
Leer más
Cómo exportar una tabla de MySQL a Excel usando PDO

Cómo exportar una tabla de MySQL a Excel usando PDO

Cómo hacer para...
Seguro que te ha pasado algo como esto: creaste una aplicación con su base de datos, con unas funcionalidades espectaculares, fantásticos reportes y al momento de la demo... la pregunta tan temida: "¿Cómo puedo hacer para llevar toda esta información a Excel?" Y en tu cabeza suena: "¿A Excel? ¿En serio? Pero si se puede hacer todo mucho mejor con esta aplicación... ¿para qué querrías usar una planilla de cálculo?" Creeme, no estás solo, a todos nos ha pasado. La triste realidad es que difícilmente vayas a ganar la batalla... más vale amigarte con el Excel (y ganar algo de dinero mientras tanto, ¿no?). Una de las razones más comunes que se escuchan por ahí es que a través de Excel es fácil compartir la información con otros sistemas (Personalmente…
Leer más
Cómo saber cuáles son los procedimientos que tiene un WebService SOAP usando PHP

Cómo saber cuáles son los procedimientos que tiene un WebService SOAP usando PHP

Cómo hacer para...
Consumir Servicios Web basados en SOAP es una tarea muy común estos días, especialmente cuando se trata de integrar con entidades gubernamentales (Típico caso es la facturación electrónica). Una de las características interesantes que tiene este protocolo (SOAP) es que están definidas en forma explícita las operaciones disponibles a través de un archivo de descripción de WebService (WSDL). La desventaja es que, salvo que conozcas bien la especificación, leer un archivo como este puede ser algo complicado: <?xml version = "1.0" encoding = "utf-8"?> <definitions name="WS_EmissionFactura" targetNamespace="Gx" xmlns:wsdlns="Gx" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="Gx"> <types> <schema targetNamespace="Gx" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" elementFormDefault="qualified"> <element name="WS_EmissionFactura.Execute"> <complexType> <sequence> <element minOccurs="1" maxOccurs="1" name="Xmlrecepcao" type="xsd:string" /> </sequence> </complexType> </element> <element name="WS_EmissionFactura.ExecuteResponse"> <complexType> <sequence> <element minOccurs="1" maxOccurs="1" name="Xmlretorno" type="xsd:string" /> </sequence> </complexType> </element> </schema> </types> <message name="WS_EmissionFactura.ExecuteSoapIn"> <part name="parameters"…
Leer más
Cómo compartir la conexión a MySQL entre scripts PHP

Cómo compartir la conexión a MySQL entre scripts PHP

Cómo hacer para...
Leo frecuentemente comentarios como: Al guardar la conexión a MySQL usando serialize y unserialize me da errores O Guardo la conexión a la BD en una variable de sesión pero después cuando consulto ese valor desde otra página no existe En un contexto de alta concurrencia esto puede suponer un gran desperdicio de recursos e incluso convertirse en un cuello de botella. Sin embargo, la solución no es guardar la conexión dentro de la sesión... de hecho, eso no va a funcionar. Se trata de un caso muy particular, pero existe una alternativa. Qué son las conexiones permanentes a MySQL En el uso normal de las conexiones a MySQL (usando, por ejemplo mysqli_connect), al finalizar la ejecución del script se cierran automáticamente las conexiones que hayan sido abiertas. Si tenemos…
Leer más
Cómo pasar datos de tipo DateTime a través de $_GET

Cómo pasar datos de tipo DateTime a través de $_GET

Cómo hacer para...
Tenés una fecha guardada en un objeto DateTime y necesitás enviarla a otra página... incluso puede que sea una página de otro sitio (un servicio web por ejemplo). Suponiendo que la URL del destino es algo como http://otrositio.com?fecha=dd-mm-YYYY, sólo se trata de tomar el string http://otrositio.com?fecha= y concatenar el objeto. No parece muy complicado, ¿no? No es que sea una ciencia oculta tampoco, pero no es tan simple. ¿Cuál es el problema? La clase DateTime no cuenta con un método __toString, con lo cual, si intentás algo como: <?php $d = new DateTime(); $url = 'http://otrositio.com?fecha='.$d; Te vas a encontrar con un error: PHP Warning: Uncaught Error: Object of class DateTime could not be converted to string El punto es que no existe una única forma de expresar una fecha…
Leer más
Cómo insertar en MySQL desde PHP

Cómo insertar en MySQL desde PHP

Cómo hacer para...
Estás intentando guardar los datos de tu formulario en una base de datos, todo funciona bien salvo que... cuando vas a mirar tu tabla... nada por aquí, nada por allá. ¿Qué pasó? Ya buscaste en Google, ya probaste de todo y nada funciona. Estás desesperado y sentís que sólo estás tirando tiros a ciegas Calma, todo tiene solución :) A lo largo de este artículo conocerás los motivos más comunes de estos problemas pero primero debemos poner algunos puntos en común. Existen varios métodos para realizar una consulta a MySQL utilizando PHP pero a nivel conceptual todos hacen lo mismo: Establecer una conexión entre tu aplicación y el servidor MySQLGenerar el código SQL que corresponde con la operación que buscás realizarEnviar el comando a través de la conexiónEvaluar el resultado…
Leer más
PHP me da error… ¿y ahora?

PHP me da error… ¿y ahora?

Cómo hacer para...
Cuando estás comenzando con php es muy común encontrarte ante alguna situación similar a esta: "por algún motivo no puedo insertar datos ni actualizar ni borrar.Me da un error en las lineas 51 y 52" "estoy queriendo insertar un string en una base de datos pero me da error, no me reconoce el formato de la hora" "estoy haciendo un select php con un where, pero no me muestra los resultados, me da error." Seguramente te estarás preguntando qué puede estar pasando y más importante: ¿¿cómo resolverlo?? Hay pocas cosas más desesperantes que probar y probar y que nada funcione... Te tengo buenas noticias: la solución está más cerca de lo que parece :) Lo primero que hay que hacer en una situación como esta es respirar hondo, tal vez…
Leer más
¿cURL o file_get_contents? 6 tips para decidir

¿cURL o file_get_contents? 6 tips para decidir

Cómo hacer para...
Estás haciedo un script para obtener contenido desde una url y te encuentras que se puede hacer con curl y con file_get_contents... ¿cuál es la más apropiada para este caso? Antes de decidir, hazte estas preguntas ¿Qué diferencias hay entre cURL y file_get_contents? file_get_contents es una función de bastante alto nivel. Puede usarse tanto para leer archivos locales como remotos. cURL es una librería que permite la comunicación con diferentes tipos de servidores y protocolos. Esto significa que, si bien con cURL es posible lograr el objetivo, esta herramienta tiene muchas más aplicaciones que la primera. ¿Cuál es la más segura? Un punto muy importante es el de la seguridad, dado que se trata de intercambiar información con servidores remotos y, ahí donde dejamos una puerta abierta... el diablo puede colarse :)…
Leer más