Foros del Web » Programando para Internet » PHP »

Notice PHP 5.3

Estas en el tema de Notice PHP 5.3 en el foro de PHP en Foros del Web. Acabo de cambiarme a la ultima version de php, y resulta que esto: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original if ( $_POST [ "post" ] ...
  #1 (permalink)  
Antiguo 12/02/2011, 13:40
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 14 años, 5 meses
Puntos: 34
Notice PHP 5.3

Acabo de cambiarme a la ultima version de php, y resulta que esto:
Código PHP:
Ver original
  1. if ($_POST["post"] = "si") {
utilizado para ver si el form ha sido enviado me salta un NOTICE.

¿Como puedo solucionarlo?

Pense en este metodo pero no lo veo yo.. preferia el otro que no solo confirmaba si la varible habia sido enviaba, sino que comparaba con el valor que yo quisiera.
Código PHP:
Ver original
  1. if (isset($_POST["post"])) {

Saludos!
  #2 (permalink)  
Antiguo 12/02/2011, 13:41
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: Notice PHP 5.3

Código PHP:
if (isset($_POST["post"]) && $_POST["post"] == "si"
Un igual, asignación. Doble igual, comparación.
  #3 (permalink)  
Antiguo 12/02/2011, 14:33
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 14 años, 5 meses
Puntos: 34
Respuesta: Notice PHP 5.3

Upps, lo he copiado mal porque tener tenia los dos iguales, xD

Gracias, asi me funciona pero no me lo explico porque asi va
  #4 (permalink)  
Antiguo 14/02/2011, 08:11
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: Notice PHP 5.3

La función ISSET comprueba si existe una variable php en el momento que se ejecuta el isset. En este caso, sólo comprueba si existe la variable "post", enviada por el método POST, no si es vacía o el valor que tiene o lo que sea.
El && significa "Y DESPUES". Es decir, primero hace lo que hay a la izquierda del &&, y si es TRUE, ejecuta la comparación que hay después de &&. En este caso, comparas $_POST["post"] con "si".
Así te aseguras que la función de comparación no mande avisos o notices. En el caso de que el ISSET devuelva FALSE, la parte derecha del && no se ejecutará, y el IF devolverá un FALSE (ejecutará el ELSE si lo tiene).
PHP permite muchos tipos de errores, alertas, avisos y noticas sin "explotar", al ser un lenguaje débilmente tipado, pero nunca está de más asegurarse de que ninguno de esos posibles problemas suceda nunca.
  #5 (permalink)  
Antiguo 14/02/2011, 08:57
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 14 años, 5 meses
Puntos: 34
Respuesta: Notice PHP 5.3

Cita:
Iniciado por marlanga Ver Mensaje
En el caso de que el ISSET devuelva FALSE, la parte derecha del && no se ejecutará
Esto era la parte que no tenia clara, gracias.

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 12:15.