comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Los Errores mas Comunes al programar en PHP

  • 5 Respuestas
  • 2541 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Flemon

  • *
  • Underc0der
  • Mensajes: 235
  • Actividad:
    0%
  • Reputación 0
  • NO HAY FORMA DE DETENERME!!
    • Ver Perfil
    • Email
« en: Octubre 28, 2012, 07:48:49 am »
Esta es una lista de los 3 errores más comunes que cometemos cuando programamos en PHP, especialmente si hace poco que conoces el lenguaje.


1- La funcion header ():

Alguna vez nos hemos encontrado con el mensaje “warning: Cannot add header information – headers already sent ….” esto se debe a que cuando el navegador solicita una página el server envía la respuesta en 2 partes, el header, que esta conformado por “datos invisibles” para el usuario como las cookies por ejemplo; y el contenido que es lo que el usuario ve en el navegador, html, imagenes, etc.

Por lo tanto siempre debemos usar la funcion header antes de enviar cualquier dato al navegador; el archivo php.ini contiene una opción que permite habilitar y deshabilitar si queremos que nos avise el error: output_buffering = on / off. En un ambiente de desarrollo es importante tener esta opción deshabilitada ya que sino nunca podríamos darnos cuenta si estamos cometiendo el error.

El siguiente código genera el error (asegúrense de tener output_buffering = off en el php.ini)

Código: PHP
  1. <?php
  2. //tratamos de enviar el mensaje hola antes que la redireccion
  3. echo "hola";
  4. No tienes permisos para ver links. Registrate o Entra con tu cuenta("Location: http://localhost/pruebas/errores2.php");
  5. ?>

lo mismo sucede con otras funciones relacionadas con los cabezales HTTP como session_start() y setcookie().

2- Problemas al Comparar:

Es común ver el siguiente código

Código: PHP
  1. <?php
  2. //esto es incorrecto
  3. if ($variable = 'algo'){
  4.     //hacemos algo
  5. }
  6.  
  7. //esto es correcto
  8. if ($variable == 'algo'){
  9.     //hacemos algo
  10. }
  11. ?>

deben recordar que el operador de comparación de igual es == y el símbolo = es el indicador de asignación de variable.

3- Olvidar el Break en el switch:

Cuando usamos la sentencia de control switch, solemos olvidar usar break al final de cada opción, lo que genera por ejemplo, cuando la primera opción es evaluada en true se ejecute el resto de las opciones también, veamos un ejemplo:

Código: PHP
  1. <?php
  2. $test = 1;
  3. switch($test){
  4.     case 1: echo 'algo';
  5.     case 2: echo 'algo mas';
  6.     case 3: echo 'mucho mas';
  7. }
  8. ?>

en este caso la opción verdadera es la 1 pero al no usar break ejecutará todos los echo siguientes hasta encontrar un break o hasta terminar el switch, lo que puede ser fatal.
Tambien es recomendable usar la opción default lo que nos asegura que si ninguno de los casos es verdadero, se ejecuta el código default y asi podemos prevenir errores.

El código correcto seria:

Código: PHP
  1. <?php
  2. $test = 1;
  3. switch($test){
  4.      case 1: echo 'algo';
  5.                 break;
  6.      case 2: echo 'algo mas';
  7.                 break;
  8.      case 3: echo 'mucho mas';
  9.                 break;
  10.      default: echo 'opcion por defecto';
  11. }
  12. ?>


4- No convertir caracteres a su entidad HTML

No hay que confiar en los usuario!!. Algunos datos que los usuarios envian a nuestra aplicación es posible que se encuentre infectada. Infectada me refiero a que quieran realizar ciertas acciones o sentencias que pueden modificar el contenido de nuestro sitio, es por ello que debemos limpiar esos datos, para ello se realiza lo siguiente:

Código: PHP
  1. No tienes permisos para ver links. Registrate o Entra con tu cuenta($_GET['comentarios'], ENT_QUOTES);

5- Apertura de código PHP

un posible error bien "boludo" por decirlo de alguna forma es...

Hay usuarios q se acostumbran a usar php y abrirlo de esta forma:

Código: PHP
  1. <?
  2.  
  3. ?>

Si bien esto funciona en la gran mayoria de los servidores..., pero en muchos no te lo toma como php y te tira pagina en blanco, te podes volver loco hasta encontrar la solucion, y es tan simple como:

Código: PHP
  1. <?php
  2.  
  3. ?>

Es un error que en XAMPP te puede volver loco jaja

Bueno espero que estas lineas puedan serle útiles, especialmente si están comenzando con PHP.

Fuente: No tienes permisos para ver links. Registrate o Entra con tu cuenta
             No tienes permisos para ver links. Registrate o Entra con tu cuenta y aportes de los usuarios de Underc0de
« Última modificación: Marzo 27, 2014, 05:43:40 pm por Expermicid »
No intentes pararme, trata de defenderte, trata de matarme, pero de cualqueir forma TE SUPERARE

Desconectado alexander1712

  • *
  • Underc0der
  • Mensajes: 850
  • Actividad:
    0%
  • Reputación -2
    • Ver Perfil
    • El blog del programador
    • Email
« Respuesta #1 en: Octubre 28, 2012, 11:31:58 am »
genial! gracias por el aporte, la verdad que si, normalmente son los errores más comunes.

lo agregaré a la lista de post interesantes!

gracias! y un saludo!

Desconectado Oggy

  • *
  • Underc0der
  • Mensajes: 50
  • Actividad:
    0%
  • Reputación 0
  • Hola mundo cruel
    • Ver Perfil
    • Email
« Respuesta #2 en: Octubre 28, 2012, 12:00:57 pm »
<input type="cualquiera" value="fuckme" OnClick="alert("oggy"); />

Igual que en Javascript en php se debe tener cuidado Con el uso De comillas simples & dobles, Un error muy comun y que me paso fue que al poner comillas dobles dentro del String a printar con un alert (en javascript) agarraba la primera comilla que se encuentre y la toma como comilla De cierre, para solucionar estos errores tan pequeños y tan cojonudos Simplemente se debe tener noción de cuando usar las comillas Simples y dobles, Mas info: No tienes permisos para ver links. Registrate o Entra con tu cuenta

Desconectado alexander1712

  • *
  • Underc0der
  • Mensajes: 850
  • Actividad:
    0%
  • Reputación -2
    • Ver Perfil
    • El blog del programador
    • Email
« Respuesta #3 en: Octubre 28, 2012, 12:06:32 pm »
Oggy la explicación también se encuentra aquí pero más facil de ver

No tienes permisos para ver links. Registrate o Entra con tu cuenta

Desconectado quen

  • *
  • Underc0der
  • Mensajes: 18
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #4 en: Octubre 29, 2012, 09:32:46 pm »
un posible error bien "boludo" por decirlo de alguna forma es...

Hay usuarios q se acostumbran a usar php y abrirlo de esta forma:

Citar
<?

?>

Si bien esto funciona en la gran mayoria de los servidores..., pero en muchos no te lo toma como php y te tira pagina en blanco, te podes volver loco hasta encontrar la solucion, y es tan simple como:

Código: No tienes permisos para ver links. Registrate o Entra con tu cuenta
<?php

?>


Es un error que en XAMPP te puede volver loco jaja

saludos!

Desconectado alexander1712

  • *
  • Underc0der
  • Mensajes: 850
  • Actividad:
    0%
  • Reputación -2
    • Ver Perfil
    • El blog del programador
    • Email
« Respuesta #5 en: Octubre 29, 2012, 09:41:17 pm »
agregada tu respuesta al post principal, quen.

saludos!

 

¿Te gustó el post? COMPARTILO!



Buenas prácticas para programar en php (Traducción)

Iniciado por alexander1712

Respuestas: 3
Vistas: 1639
Último mensaje Febrero 10, 2015, 05:15:00 am
por graphixx
TIPS para programar mejor en php

Iniciado por alexander1712

Respuestas: 6
Vistas: 2669
Último mensaje Octubre 29, 2012, 03:15:18 pm
por alexander1712
ErrorClass Clase que te permite generar errores

Iniciado por alexander1712

Respuestas: 0
Vistas: 890
Último mensaje Octubre 09, 2013, 03:27:18 pm
por alexander1712
PHP Perfect Form Items v1.0 (Formularios sin errores)

Iniciado por godmurdoc

Respuestas: 1
Vistas: 1136
Último mensaje Agosto 03, 2011, 12:35:01 pm
por ~ Yoya ~