Foros del Web » Programando para Internet » PHP »

Ayuda con ereg()

Estas en el tema de Ayuda con ereg() en el foro de PHP en Foros del Web. Buenas!!!! Hace tiempo que no pasaba por aqui... XDXDXD intento hacer un php para poder validar un formulario (nombre, apellido, fecha, email, etc...) por ahora ...
  #1 (permalink)  
Antiguo 22/09/2008, 03:41
machoman112233
Invitado
 
Mensajes: n/a
Puntos:
Ayuda con ereg()

Buenas!!!!

Hace tiempo que no pasaba por aqui... XDXDXD

intento hacer un php para poder validar un formulario (nombre, apellido, fecha, email, etc...) por ahora llevo lo basico y me da un error... pero no encuentro nada de como solucionarlo...

Error
Código:
Warning: ereg() [function.ereg]: REG_BADBR
PHP
Código PHP:
<?php
function validar_formulario($tipo$variable)
{
    
$validar=False;
    switch(
$tipo)
    {
        case 
"nombre":
        {
            if(
ereg("^[a-zA-Z]{3-30}$",$variable))
            {
                
$validar=True;                
            }
        }break;
        
        case 
"apelido":
        {
            if(
ereg("^[a-zA-Z]{3-30}$",$variable))
            {
                
$validar=True;                
            }
        }break;
        
        case 
"email":
        {
            if (
ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([_a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]{2,200}\.[a-zA-Z]{2,6}$"$variable ))
            {
                 
$validar=True;
            }
        }break;
        
        case 
"data":
        {
            if(
ereg("^[0-9]{1-2}/[0-9]{1-2}/[0-9]{4}$",$variable))
            {
                
$validar=True;
            }
        }break;
    }
    return (
$validar);
}
  #2 (permalink)  
Antiguo 22/09/2008, 09:15
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda con ereg()

los cuantificadores no son.... {2-3} sino {2,3}

¿sera por eso???

demás, pon el error completo (linea, archivo, descripción)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 24/09/2008, 14:14
machoman112233
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ayuda con ereg()

Gracias... es como tu dijiste... se pone ","

Bueno... ahora tengo otro problema y tampoco lo se resolver... lo pongo aqui para no abrir otro hilo...

Código:
Warning: include(../modulos/modulo_personal_info.php?modo=registro) [function.include]: failed to open stream: Invalid argument in C:\Program Files (x86)\EasyPHP 2.0b1\www\new_web\functions\function_reg.php on line 74

Warning: include() [function.include]: Failed opening '../modulos/modulo_personal_info.php?modo=registro' for inclusion (include_path='.;C:/Program Files (x86)/EasyPHP 2.0b1\php5\pear\') in C:\Program Files (x86)\EasyPHP 2.0b1\www\new_web\functions\function_reg.php on line 74
Código PHP:
<?php
session_start
();
if(!isset(
$_SESSION["nick"]))
{
$modo="?modo=registro";
}
else
{
$modo="?modo=user_info";
}
$pagina="../modulos/modulo_personal_info.php".$modo;
?>

HTML

<?php
include ($pagina); linea 74
?>
modulo que se incluye

Código PHP:
<html>
<head>
<link href="includes/admin.css" rel="stylesheet" type="text/css" media="screen" />
</head>
<body>
<?php
if($modo=="registro")
{
?>
<form action="" method="post">
<table>
<tr><td><font color="red">*</font>Nombre: </td><td><input type="text" size="30" name="nombre" required="required"></td></tr>
<tr><td><font color="red">*</font>Apelido: </td><td><input type="text" size="30" name="apelido" required="required"></td></tr>
<tr><td><font color="red">*</font>Email: </td><td><input type="email" size="30" name="email" required="required"></td></tr>
<tr><td><font color="red">*</font>Fecha de nacimiento: </td><td><input type="date" size="30" name="data" required="required" ></td></tr>
<tr><td><input type="button" value="Siguiente" name="sigiuente"></td><td><input type="reset" value="Borrar"></td></tr>
</form>
<tr><td>Leyenda:</td></tr>
<tr><td>Campos obligatorios - <font color="red">*</font></td></tr>
<tr><td>Formato data - <font color="red">dd/mm/aaaa</font></td></tr>
</table>
<?php
}

if(
$modo=="user_info")
{
include (
"../includes/bdcon.php");

$sql=new conectarMySQL("localhost","root","","my_web");
$sql->conectar();
$sql->consultar("select id_user from nicks where nick='".$_SESSION['nick']."'");

$row=$sql->obtendatos();
$identificador_user=$row["id_user"];

$sql->consultar("select * from usuarios where id_user='".$identificador_user."'");
$personal_info=$sql->obtendatos();
?>

<form action="" method="post">
<table>
<tr><td><font color="red">*</font>Nombre: </td><td><input type="text" size="30" name="nombre" value="<?php print $personal_info['nombre']; ?>"></td></tr>
<tr><td><font color="red">*</font>Apelido: </td><td><input type="text" size="30" name="apelido" value="<?php print $personal_info['apellido']; ?>"></td></tr>
<tr><td><font color="red">*</font>Email: </td><td><input type="email" size="30" name="email" value="<?php print $personal_info['email']; ?>"></td></tr>
<tr><td><font color="red">*</font>Fecha de nacimiento: </td><td><input type="text" size="30" name="data" value="<?php print $personal_info['fecha_nacimiento']; ?>"></td></tr>
<tr><td><input type="button" value="Siguiente" name="sigiuente"></td><td><input type="reset" value="Borrar"></td></tr>
</form>
<tr><td>Leyenda:</td></tr>
<tr><td>Campos obligatorios - <font color="red">*</font></td></tr>
<tr><td>Formato data - <font color="red">dd/mm/aaaa</font></td></tr>
</table>

<?php
$sql
->limpiaconsulta();
$sql->cerrarconexion();
}
?>
</body>
</html>
  #4 (permalink)  
Antiguo 24/09/2008, 15:03
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda con ereg()

estas haciendo mal... no necesitas pasar "parámetros" al script que incluyes... pero en este caso deja

Código PHP:
$modo 'modo'// no un query!! 
intenta pasarlo directo, y veras que el alcance de las variables es el mismo, suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
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 04:54.