Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Para que sirve el @??

Estas en el tema de Para que sirve el @?? en el foro de PHP en Foros del Web. Hola que tal, queria hacerles una duda: cual es la diferencia entre hacer esto header("Location: pagina.php"); y hacer esto @header("Location: pagina.php"); ?? Porque tambien lo ...
  #1 (permalink)  
Antiguo 23/09/2013, 08:41
 
Fecha de Ingreso: abril-2010
Mensajes: 82
Antigüedad: 14 años
Puntos: 2
Pregunta Para que sirve el @??

Hola que tal, queria hacerles una duda:

cual es la diferencia entre hacer esto

header("Location: pagina.php");

y hacer esto

@header("Location: pagina.php");

?? Porque tambien lo he visto con las funciones mysql...

Particularmente me interesa la justificacion conceptual

Muchas gracias
  #2 (permalink)  
Antiguo 23/09/2013, 08:45
 
Fecha de Ingreso: marzo-2013
Ubicación: Cali
Mensajes: 12
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Para que sirve el @??

Que en caso de que la función fallara no te devolvería un mensaje de error.

Código PHP:
header('Location: 404.php'); -> en caso de error te retorna un mensaje
Código PHP:
@header('Location: 404.php'); -> en caso de error no te retorna nada
El que no retorne mensaje de error no significa que esté funcionando o que fuerce su función, recuerda eso.
  #3 (permalink)  
Antiguo 23/09/2013, 08:48
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: Para que sirve el @??

Lo habrás visto en funciones mysql porque evitan el mensaje/reporte de un posible error. Claro, esto no significa que no se produzcan, pero de esta forma el usuario no es capaz de ver esos detalles, lo que aporta un buen toque de seguridad.

Saludos

Última edición por PHPeros; 23/09/2013 a las 08:53
  #4 (permalink)  
Antiguo 23/09/2013, 08:55
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Para que sirve el @??

Añadiendo a lo que ya han dicho, no es muy recomendable ya que muchos de los errores que se ocultan con @ pueden reemplazarse con estructuras de control, si todos los errores los ocultas con @ puede significar mala lógica y que el algoritmo no es optimo para nada. Ejemplo:

Código PHP:
Ver original
  1. <?php
  2. //MAL
  3. $enlace = @$_POST['link'];
  4.  
  5. //BIEN
  6. if( isset($_POST['link']) ){
  7.     $enlace = $_POST['link'];
  8. }

Espero se entienda

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #5 (permalink)  
Antiguo 23/09/2013, 08:56
 
Fecha de Ingreso: abril-2010
Mensajes: 82
Antigüedad: 14 años
Puntos: 2
Respuesta: Para que sirve el @??

Entendido!! Muchas gracias a todos por interesarse!!
Doy el tema como solucionado.
Hasta la proxima!! :)

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:36.