Foros del Web » Programando para Internet » PHP »

Tengo un error ... pero no logro verlo.

Estas en el tema de Tengo un error ... pero no logro verlo. en el foro de PHP en Foros del Web. Compañeros(as) antes que todo agradecerles nuevamente su ayuda desde ya y como digo siempre cualquier sugerencia o alguna critica sera bien recibida. Este es el ...
  #1 (permalink)  
Antiguo 24/02/2009, 12:05
 
Fecha de Ingreso: marzo-2004
Ubicación: Chile
Mensajes: 382
Antigüedad: 20 años, 8 meses
Puntos: 0
Tengo un error ... pero no logro verlo.

Compañeros(as) antes que todo agradecerles nuevamente su ayuda desde ya y como digo siempre cualquier sugerencia o alguna critica sera bien recibida.

Este es el codigo que tengo.

Código PHP:
if (empty($pass)) { $mensaje ="El campo contraseña esta en blanco...<br>";} 
if (empty(
$newPass)) { $mensaje .="El campo nueva contraseña esta en Blanco...<br>";}
if (empty(
$repetirNewPass)) { $mensaje .="El campo repetir contraseña esta en blanco.<br>";}
if (
$newPass<>$repetirNewPass){$mensaje.="Los campos nueva contaseña y repetir nueva contaseña deben ser identicas";}
    
    if (!empty(
$mensaje)){ 
            echo 
"<b>:: Ha ocurrido un Error ::</b><br><br>"
            echo 
$mensaje
        }  
        else{
            
        } 
Ese es el codigo que tengo no es nada complicado pero no logro ver el error.

les dejo lo que me aparece por pantalla.

Notice: Undefined variable: mensaje in C:\wamp\www\sindicato1\procesaFormCambiaClaveS.php on line 34
:: Ha ocurrido un Error ::

Los campos nueva contaseña y repetir nueva contaseña deben ser identicas


esto tengo en la liena 34
Código PHP:
if ($newPass<>$repetirNewPass){$mensaje.="Los campos nueva contaseña y repetir nueva contaseña deben ser identicas";} 
Alguna idea...de que podra ser.

Bueno espero que puedan guiarme.

GRACIAS DE ANTEMANO.
  #2 (permalink)  
Antiguo 24/02/2009, 12:10
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Tengo un error ... pero no logro verlo.

Define primero $mensaje = ''; antes de tus ifs, y con eso evitas el error.

Saludos
  #3 (permalink)  
Antiguo 24/02/2009, 12:12
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Respuesta: Tengo un error ... pero no logro verlo.

El error que te muestra no importa en lo absoluto, solo tienes que desactivar los notice:

Código PHP:
//Al principio de tu codigo
error_reporting(E_ALL E_NOTICE); 
Cita:
Iniciado por php.net
Hinweis: Enabling E_NOTICE during development has some benefits. For debugging purposes: NOTICE messages will warn you about possible bugs in your code. For example, use of unassigned values is warned. It is extremely useful to find typos and to save time for debugging. NOTICE messages will warn you about bad style. For example, $arr[item] is better to be written as $arr['item'] since PHP tries to treat "item" as constant. If it is not a constant, PHP assumes it is a string index for the array.
  #4 (permalink)  
Antiguo 24/02/2009, 12:14
Avatar de Sommy  
Fecha de Ingreso: septiembre-2008
Mensajes: 228
Antigüedad: 16 años, 2 meses
Puntos: 6
Respuesta: Tengo un error ... pero no logro verlo.

O mas simple, saca el .= y deja solamente = Si se trata de la primer linea donde aparece esa variable...

Código PHP:
if ($newPass<>$repetirNewPass){
$mensaje="Los campos nueva contaseña y repetir nueva contaseña deben ser identicas";

Trata de no usar una sola linea para un if, se mas prolijo y algun dia vas a autoagradecerte.

Saludos!
  #5 (permalink)  
Antiguo 24/02/2009, 12:39
 
Fecha de Ingreso: marzo-2004
Ubicación: Chile
Mensajes: 382
Antigüedad: 20 años, 8 meses
Puntos: 0
Respuesta: Tengo un error ... pero no logro verlo.

gracias por su ayuda ... ocupe la opcion de GatorV y funciona sin problemas.

Con respecto a las sugerencias Ronruby...sera conveniente desabilitar eso que me sugeriste.

Y a la sugerencia de Sommy voy a tomarla en cuenta(ser mas prolijo) pero ese punto al que te refieres no tiene la funcion de concatenar...o es idea mia.
  #6 (permalink)  
Antiguo 24/02/2009, 13:01
 
Fecha de Ingreso: octubre-2003
Ubicación: Cerca de una wifi o 3G
Mensajes: 328
Antigüedad: 21 años
Puntos: 4
Respuesta: Tengo un error ... pero no logro verlo.

Normalmente en produccion no se muestra ningun tipo de error asi que deberias tener una configuracion en algun include('conf.php'); donde activas o desactivas los errores

Los warning en produccion son un peligro por que hay muchas cosas que se puedan saber gracias a los warning y a los errores de mysql, la mayoria de los hacker los usan para vulnerar el sistema.

yo no ocupo nunca los e_notice y no he visto ningun caso donde presenten una ayuda

tambien puedes usar esta forma dentada, son mas lineas de codigo pero cuando hechas una mirada es super facil de leer
Código PHP:
if ($newPass<>$repetirNewPass)
{    
    
$mensaje="Los campos nueva contaseña y repetir nueva contaseña deben ser identicas";
    if (
1)
    {
        
$blabla;
    }
}
else 
{
    
$etc;

yo ocupo las 3 maneras, mas que tener una doctrina de como escribir codigo, siempre pienso en que sea facil de leer, con los tabuladores, dencion, espacios, comentarios de textos o lineas llamativas se pierde mucho menos tiempo revisando el codigo
__________________
Ayuda!! firmar y compartir
No a la privatizacion de semillas http://www.thepetitionsite.com/1/no-...n-de-semillas/
Mas info: http://chilesintransgenicos.cl/
  #7 (permalink)  
Antiguo 24/02/2009, 13:24
Avatar de Sommy  
Fecha de Ingreso: septiembre-2008
Mensajes: 228
Antigüedad: 16 años, 2 meses
Puntos: 6
Respuesta: Tengo un error ... pero no logro verlo.

Cita:
Iniciado por juan007 Ver Mensaje
gracias por su ayuda ... ocupe la opcion de GatorV y funciona sin problemas.

Con respecto a las sugerencias Ronruby...sera conveniente desabilitar eso que me sugeriste.

Y a la sugerencia de Sommy voy a tomarla en cuenta(ser mas prolijo) pero ese punto al que te refieres no tiene la funcion de concatenar...o es idea mia.
Si, aunque no es una funcion, si concatena y estas en lo cierto. Pero si no esta la variable declarada antes tira la noticia esa...

Yo lo seguiria el sitio con las notice activadas para que salga lo mas perfecto posible, y luego al momento de entregarlo al cliente lo desactivaria (para uso personal digamos). Es como un corrector perfeccionista.

Exitos!

Última edición por Sommy; 24/02/2009 a las 13:50
  #8 (permalink)  
Antiguo 24/02/2009, 13:28
 
Fecha de Ingreso: marzo-2004
Ubicación: Chile
Mensajes: 382
Antigüedad: 20 años, 8 meses
Puntos: 0
Respuesta: Tengo un error ... pero no logro verlo.

MUCHAS Gracias por el dato Remsankar con respecto al e_notice .... pondre en mis codigos que desabilite esos tipos de mensajes.

Con respecto a tu sugerencia para hacer el codigo con ifs y else ...... deberia crear por cada if un variable nueva $mensaje para que luego me muestre los campos que estan vacios .... por ejemplo en el caso que sean 4 campos que tenga que validar que no esten en blanco o que halla algun tipo de basura....
Si el primero hubiera basura y en el ultimo este en blanco tan solo me mostrara el mensaje del ultimo que seria un mensaje por pantalla diciendo que esta en blanco....pero para el primero no me arrojaria ningun tipo de mensaje para advertir al usuario

Ojala que se entienda lo que trato de explicar.
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 21:36.