Foros del Web » Programando para Internet » PHP »

Si no hay que declarar las variables porque da error

Estas en el tema de Si no hay que declarar las variables porque da error en el foro de PHP en Foros del Web. Hola. Hace varios dias decidi activar la muestra de todos los avisos de php 5.3.0 en mi localhost. Llevo desde enconces corrigiendo cosas, que aunque ...
  #1 (permalink)  
Antiguo 06/07/2011, 10:39
 
Fecha de Ingreso: junio-2011
Mensajes: 45
Antigüedad: 13 años, 4 meses
Puntos: 0
Si no hay que declarar las variables porque da error

Hola.

Hace varios dias decidi activar la muestra de todos los avisos de php 5.3.0 en mi localhost. Llevo desde enconces corrigiendo cosas, que aunque funcionaban queria depurarlas.
Pero hay un aviso, el que parecia mas sencillo que me esta volviendo loco, y no se si por su sencillez o porque, no encuentro la solución en san google ni en php.net. La cuestion es:

Cual es la mejor manera de declarar las variables en ambito local sin darles ningun valor? Si es que es posible.

No era valido esto?
Código PHP:
var $mivariable
Para que sirve var? no lo encuentro en php.net. En dreamweaver se me colorea igual que un if o un while

El objetivo es evitar esto: Notice: Undefined variable: ....
Sin usar isset($variable) en el condicionante, ni @, ni editar el php.ini para que no muestre el aviso
  #2 (permalink)  
Antiguo 06/07/2011, 10:42
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Si no hay que declarar las variables porque da error

var es un operador para declarar variables en clases, eso es de programación orientada a objetos.

En programación estructurada solo debes asignar cualquier valor para definir una variable.
Código PHP:
$foo NULL
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 06/07/2011, 11:57
 
Fecha de Ingreso: junio-2011
Mensajes: 45
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Si no hay que declarar las variables porque da error

Gracias, aclarado lo de var

sobre como declarar, si pongo NULL y se recarga la pagina esta vez con un valor en $foo este se perdera.

He hecho un ejemplo:

Código PHP:
<? 
$nombreusado
='pepe';
settype($nombre"string"); // $nombre = NULL;

if ($nombreusado==$nombre || $nombre==""){
    
$mensaje "Ese nombre esta usado introduce otro";
    if (
$nombre=="") {
        
$mensaje "Introduce un nombre";    
    }
    
?>
  <form method='post' name='formulario' action='pruebas.php'>
    <label>Nombre<br></label>
    <input name='nombre' type='text' size='31' value='<? echo $nombre ?>'/>
    <input name="Enviar" type="submit" />
    <? 
    
echo $mensaje;
} else { 
    echo 
"El nombre " $nombre " está libre."
}
?>
Cuando se carga la pagina por primera vez, si no la declaramos de alguna forma da el Notice

Se me ocurren varios parches para corregirlo ademas de los citados; hacerlo en dos paginas, enviar un valor de entrada... pero buscaba la manera correcta de declarar una variable sin que se sobreescriba si ya existe al recargar la pagina.

Quizas lo mas parecido a lo que busco es lo usado en el ejemplo: settype($nombre, "string");

Si alguien sabe una manera mas correcta de hacerlo....
  #4 (permalink)  
Antiguo 06/07/2011, 12:11
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Si no hay que declarar las variables porque da error

De hecho, la forma en que lo haces es arcaica y nada recomendada.

Aquí en el siguiente tema se explica poco del manejo de variables, así como sugerencias para evitar este tipo de problemas:
http://www.forosdelweb.com/f18/undef...riable-923992/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 07/07/2011, 05:42
 
Fecha de Ingreso: junio-2011
Mensajes: 45
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Si no hay que declarar las variables porque da error

Genial, muchas gracias por tu tiempo y por el que me has ahorrado :)

Interesante el operador ternario. no lo conocia.

Lo de Arcaico, jajaja, se me nota que empeze con qbasic ? :P

Bueno la cosa quedaria así:
Código PHP:
<? 
$nombreusado
='pepe';
$nombre = isset($nombre) ? $nombre null;  
if (
$nombreusado==$nombre || $nombre==""){
    
$mensaje "Ese nombre esta usado introduce otro";
    if (
$nombre=="") {
        
$mensaje "Introduce un nombre";    
    }
    
?>
        <form method='post' name='formulario' action='pruebas.php'>
    <label>Nombre<br></label>
    <input name='nombre' type='text' size='31' value='<? echo $nombre ?>'/>
    <input name="Enviar" type="submit" />
    <? 
    
echo $mensaje;
} else { 
    echo 
"El nombre " $nombre " está libre."
}
?>
Espero que lo de arcaico fuese solo por el sttype

Etiquetas: declarar, variables
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 22:30.