Foros del Web » Programando para Internet » PHP »

Ayuda con esto

Estas en el tema de Ayuda con esto en el foro de PHP en Foros del Web. Porque no me valida esto: Código PHP:   if (empty( $contrasena01 ) && (empty( $contrasena02 ))){     echo  $msgerror [ 5 ]. "<br>" ; }elseif (!empty( $contrasena01 ) && (!empty( $contrasena02 )) && ( ...
  #1 (permalink)  
Antiguo 23/11/2003, 02:42
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Ayuda con esto

Porque no me valida esto:
Código PHP:
 if (empty($contrasena01) && (empty($contrasena02))){
    echo 
$msgerror[5]."<br>";
}elseif (!empty(
$contrasena01) && (!empty($contrasena02)) && ($contrasena01 != $contrasena02)){
    echo 
$errormsg[6]."<br>";

solo me pone el error 5 cuando las dejo en blanco pero cuando las entro de forma diferente no me pone el error de que son diferentes y en su caso me sustituye por el 5
__________________
Ing. Reynier Pérez Mira
  #2 (permalink)  
Antiguo 23/11/2003, 13:05
 
Fecha de Ingreso: noviembre-2002
Mensajes: 190
Antigüedad: 21 años, 5 meses
Puntos: 0
proba con:
<?
if ($pep=="" AND $pip==""){
echo "mensaje 5";
}
elseif ($pep != $pip){
echo "mensaje 6";
}
?>

Última edición por erama; 23/11/2003 a las 13:22
  #3 (permalink)  
Antiguo 23/11/2003, 14:28
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Miren ahora

Ahora este es el codigo
Código PHP:
if ((!ereg("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)+$"$mail01)) && (!ereg("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)+$"$mail02))){
    echo 
"<html><frames></noframes><body topmargin=3 leftmargin=6 background=img/background.jpg>";
    echo 
$msgerror[1]."<br>";
}elseif (empty(
$mail01) && (empty($mail02))){
    echo 
$errormsg[2]."<br></body></html>";
}

//Comprobamos si el nick ha sido entrado y si la longitud del mismo es mayor de 5
if (empty($nick)){
    echo 
$msgerror[0]."<br>";
}elseif (!empty(
$nick) && ($nick 5)){
    echo 
$errormsg[4]."<br>";
}

//Comprobamos si la contraseña ha sido entrada y si son iguales
if (empty($contrasena01) && (empty($contrasena02))){
    echo 
$msgerror[5]."<br>";
}elseif ((
$contrasena01 != $contrasena02) && (strlen($contrasena01) != strlen($contrasena02))){
    echo 
$errormsg[6]."<br>";

ahora cuando dejo los campos nick, contraseña, repetir contraseña, email, repetir email el me trabaja mas o menos pues me opne esto
Debes entrar una dirección de correo válida
Debes entrar un nick
Debes entrar una contraseña de usuario

pero cuando entro contraseñas diferentes y dejo los del correo y el nick vacios me pone esto otro
Debes entrar una dirección de correo válida
Debes entrar un nick

y cuando entro los cuatro
no me imrpime nada
__________________
Ing. Reynier Pérez Mira
  #4 (permalink)  
Antiguo 24/11/2003, 19:37
 
Fecha de Ingreso: agosto-2003
Mensajes: 272
Antigüedad: 20 años, 7 meses
Puntos: 0
Varias concidearaciones

Primero las condiciones por que no usasas la funcion ordinal para ver que si la entrada esta entre los caracteres permitidos.

2) No entiendo por que almacenas un mensaje de error en un vector y lo concatenas con el formato de imprecion.
Eso no esta bien olvidate de la salida en pantalla eso lo haces afuera de la funcion solo almacena un texto y afuera de el le das formato

3) te conviene usar $error[i++] en todas ya que no sabes que indice se puede saltear y supongamos que $error[5] nunca se almacena un dato pero en $error[6] si se encuentra un errror entonces la salida se saltea un renglon.

$error[4] MENSAJE ERROR 4
$error[5] (no imprimr nada da un enter en la salida)
$error[6] = MENSAJE ERROR 6

entendes con $i++ te olvidas del orden de los indices y despues un simple for hasta que termines todo el array imprimir y la salida queda prolija.

EL otro error que tenes es que el largo de una cadena = 0 por lo que siempre va hacer menor que 5 este es el caso de nick.

Saludos.
  #5 (permalink)  
Antiguo 27/11/2003, 22:04
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Me podrías explicar mejor

Me podrías explicar con un pedazo de código pues asi no comprendi muy bien lo que tengo que hacer
__________________
Ing. Reynier Pérez Mira
  #6 (permalink)  
Antiguo 27/11/2003, 23:32
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Más bien lo que yo creo que pasa es que tu array donde almacenas los mensajes de error se llama
$msgerror[]
y a veces intentas llamarlo como
$errormsg[]

Y como éste último no existe, no muestra nada.

Saludos
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 00:58.