Foros del Web » Programando para Internet » PHP »

Como hacer esto en php

Estas en el tema de Como hacer esto en php en el foro de PHP en Foros del Web. Buenas gentes les cuento, mi problema, tengo q hacer una pagina que tenga un formulario de inscripcion y tengo que poner algunos campos obligatorios, la ...
  #1 (permalink)  
Antiguo 22/07/2009, 12:21
 
Fecha de Ingreso: agosto-2008
Mensajes: 97
Antigüedad: 15 años, 7 meses
Puntos: 1
Como hacer esto en php

Buenas gentes les cuento, mi problema, tengo q hacer una pagina que tenga un formulario de inscripcion y tengo que poner algunos campos obligatorios, la parte del cliente la hago con javascript, pero la parte del password y la parte del mail la hago del lado del servidor, mi consulta es esta. Yo logro hacer que me detecte los errores pero me falta un paso, como hago para unificar todos los if y else en uno solo?

o sea por ahora me tira el error pero si una condicion esta bien y la otra no me deja pasar el formulario nose si me explico bien les dejo mi script a ver si me puede dar una mano. Mil Gracias!!!

Código PHP:
<?
$email
=  $_POST['email'];


function 
check_email_address($email) {

if (!
ereg("[^@]{1,64}@[^@]{1,255}"$email)) {

return 
false;
}

$email_array explode("@"$email);
$local_array explode("."$email_array[0]);
for (
$i 0$i sizeof($local_array); $i++) {
if (!
ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^
_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$"
$local_array[$i])) {
return 
false;
}
}
if (!
ereg("^\[?[0-9\.]+\]?$"$email_array[1])) {

$domain_array explode("."$email_array[1]);
if (
sizeof($domain_array) < 2) {
return 
false
}
for (
$i 0$i sizeof($domain_array); $i++) {
if (!
ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$"$domain_array[$i])) {
return 
false;
}
}
}
return 
true;
}
?>
<?
$pass
$_Post ['pass'];
if (
strlen($pass)<5);

{
    echo 
"<script>alert('el campo pass tiene menos de 5 caracteres');history.go(-1);</script>";
}

?>


<?
if (check_email_address($email)) {
echo 
' Bienvenidos';
} else {
 echo 
"<script>alert('La direccion de mail ingresada no es valida');history.go(-1);</script>"
;
}

?>
  #2 (permalink)  
Antiguo 22/07/2009, 12:45
Avatar de chumisiado  
Fecha de Ingreso: enero-2006
Ubicación: Chilito
Mensajes: 69
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: Como hacer esto en php

prueba esto

Código PHP:
<? 
$email
=  $_POST['email']; 


function 
check_email_address($email) { 

$respuesta true;

if (!
ereg("[^@]{1,64}@[^@]{1,255}"$email)) { 

$respuesta false


$email_array explode("@"$email); 
$local_array explode("."$email_array[0]); 
for (
$i 0$i sizeof($local_array); $i++) { 
if (!
ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^ 
_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$"
$local_array[$i])) { 
$respuesta false


if (!
ereg("^\[?[0-9\.]+\]?$"$email_array[1])) { 

$domain_array explode("."$email_array[1]); 
if (
sizeof($domain_array) < 2) { 
$respuesta false;  

for (
$i 0$i sizeof($domain_array); $i++) { 
if (!
ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$"$domain_array[$i])) { 
$respuesta false



return  
$respuesta

?> 
<? 
$pass
$_Post ['pass']; 
if (
strlen($pass)<5); 


    echo 
"<script>alert('el campo pass tiene menos de 5 caracteres');history.go(-1);</script>"


?> 


<? 
if (check_email_address($email)) { 
echo 
' Bienvenidos'
} else { 
 echo 
"<script>alert('La direccion de mail ingresada no es valida');history.go(-1);</script>" 



?>
  #3 (permalink)  
Antiguo 22/07/2009, 12:57
 
Fecha de Ingreso: agosto-2008
Mensajes: 97
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Como hacer esto en php

Funciona loco Mil gracias! te hago una consulta q fue lo q modificaste? vi q le agregaste una variable $respuesta.
  #4 (permalink)  
Antiguo 22/07/2009, 13:00
Avatar de chumisiado  
Fecha de Ingreso: enero-2006
Ubicación: Chilito
Mensajes: 69
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: Como hacer esto en php

Lo que hice fue dejar por defecto la variable $respuesta en "true"
si ocurre cualquier error la variable pasara a "false" aunque pase por otra condificones verdaderas o falsas, al final hago un return de la variable, si paso por algun error sera false y si no paso por ninguno sera true..
Eso ..

Saludos
  #5 (permalink)  
Antiguo 22/07/2009, 13:03
 
Fecha de Ingreso: agosto-2008
Mensajes: 97
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Como hacer esto en php

Mil gracias loco por tu tiempo!!!
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 18:06.