Foros del Web » Programando para Internet » PHP »

alta de usuarios

Estas en el tema de alta de usuarios en el foro de PHP en Foros del Web. hola que tal tengo problema cuando intento validar que algunos campos de mi formulario no esten vacios con java script y fuincionaba bien pero ahora ...
  #1 (permalink)  
Antiguo 05/08/2008, 13:39
Avatar de KaLa_zIcK  
Fecha de Ingreso: junio-2008
Mensajes: 21
Antigüedad: 15 años, 10 meses
Puntos: 0
alta de usuarios

hola que tal tengo problema cuando intento validar que algunos campos de mi formulario no esten vacios con java script y fuincionaba bien pero ahora que le meti php no me sale no se que este mal la verdad espero que alguien me pueda ayudar no se si mi error es de java script o de php espero que alguien me ayude
esta es mi funcion de javascript que la tengo donde esta el formulario
function valida_campos()
{
n= document.datos.nom.value;
e= document.datos.edad1.value;
c= document.datos.dom1.value;
cp= document.datos.cp1.value;
te= document.datos.tel1.value;
m= document.datos.mail1.value;
l= document.datos.login1.value;
p1= document.datos.pasw1.value;
sexo_f=document.datos.sexo[0].checked;
sexo_m=document.datos.sexo[1].checked;

if(n=="")
{
alert("Debe ingresar su nombre");
document.datos.nom.focus();
return false;
}
if(e=="")
{
alert("Debe ingresar su edad");
document.datos.edad1.focus();
return false;
}
if(c=="")
{
alert("Debe ingresar su colonia");
document.datos.col1.focus();
return false;
}

if(cp=="" && cp<5)
{
alert("Debe de ingresar bien su codigo postal");
document.datos.cp1.focus();
return false;
}
if(te=="")
{
alert("Debe ingresar su telefono");
document.datos.tel1.focus();
return false;
}
if(m=="" && m.value.indexOf ("@")==-1))
{
alert("Debe ingresar bien su e-mail");
document.datos.mail1.focus();
return false;
}
if(l=="" )
{
alert("Debe ingresar su nombre de usuario");
document.datos.login1.focus();
return false;
}
if(p1=="")
{
alert("Debe ingresar su contraseña");
document.datos.pasw1.focus();
return false;
}
return true;
}


y este es el codigo php

Código PHP:
<?php
session_start
();
session_destroy();

$n=$_POST['nom'];
$e=$_POST['edad1'];
$d=$_POST['dom1'];
$cp=$_POST['cp1'];
$t=$_POST['tel1'];
$em=$_POST['mail1'];
$usu=$_POST['login1'];
$pas=$_POST['pasw1'];
$con=mysql_connect("localhost","root","");
$bd=mysql_select_db("tienda_plas",$con);
$qry=mysql_query("insert into des_usuario(nombre,domicilio,edad,tel,e-mail) values('$n','$d','$cp','$e','$t','$em')");
$qry1=mysql_query("insert into usario(nom_usu,pass) values('$usu','$pas')");
$qry2=mysql_query("insert into manejo_usu() values(,)");
echo
"<script> alert('registro correcto ahora ya puedes ingresar a comprar. Gracias por tu Preferencia') ; window.open('menu.html','_top')</script>";
?>
espero que alguien me pueda orientar ya que ahorita no me dice que campo tengo vacio y tampoco agrega o inserta lo que le mando gracias
  #2 (permalink)  
Antiguo 05/08/2008, 13:49
Avatar de Taldreakan  
Fecha de Ingreso: julio-2008
Mensajes: 128
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: alta de usuarios

Mejor utiliza esta funcion para validar:

Código HTML:
<form name="miform" action="procesa.php">
...
...
...
<input type="submit" value="Enviar" onClick="MM_validateForm('campo1','','R','campo2','','RisEmail'); return document.MM_returnValue;" />
</form>


<script language="JavaScript" type="text/JavaScript">
<!--
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}
//-->
</script> 
Espero te sirva.
  #3 (permalink)  
Antiguo 05/08/2008, 14:40
Avatar de KaLa_zIcK  
Fecha de Ingreso: junio-2008
Mensajes: 21
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: alta de usuarios

Gracias espero tambien yo que sirva gracias por todo
  #4 (permalink)  
Antiguo 05/08/2008, 15:40
Avatar de KaLa_zIcK  
Fecha de Ingreso: junio-2008
Mensajes: 21
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: alta de usuarios

no funciona alguien que me pueda dar otra idea ????
  #5 (permalink)  
Antiguo 05/08/2008, 16:34
Avatar de alonsoandres  
Fecha de Ingreso: enero-2004
Ubicación: Matamoros, Tamaulipas
Mensajes: 305
Antigüedad: 20 años, 3 meses
Puntos: 3
Respuesta: alta de usuarios

tambien puedes utilizar php para validar los campos desde la pagina donde recives los datos utilizando

if($_POST['iddetucampo']=="")
{echo'Favor de llenar el campo.';}
  #6 (permalink)  
Antiguo 06/08/2008, 12:27
Avatar de KaLa_zIcK  
Fecha de Ingreso: junio-2008
Mensajes: 21
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: alta de usuarios

entonces esas validaciones las hago en la pagina que recive el $_POST y quito las que tengo de java script ???
  #7 (permalink)  
Antiguo 06/08/2008, 13:17
Avatar de alonsoandres  
Fecha de Ingreso: enero-2004
Ubicación: Matamoros, Tamaulipas
Mensajes: 305
Antigüedad: 20 años, 3 meses
Puntos: 3
Respuesta: alta de usuarios

Cita:
Iniciado por KaLa_zIcK Ver Mensaje
entonces esas validaciones las hago en la pagina que recive el $_POST y quito las que tengo de java script ???
Asi es.
  #8 (permalink)  
Antiguo 06/08/2008, 13:21
Avatar de KaLa_zIcK  
Fecha de Ingreso: junio-2008
Mensajes: 21
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: alta de usuarios

ok gracias y para validar que el e-mail tenga un @ y no tenga espacios en blanco seria desde java o tambien se podra hacer con php ???
gracias
  #9 (permalink)  
Antiguo 06/08/2008, 13:42
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: alta de usuarios

Cita:
Iniciado por KaLa_zIcK Ver Mensaje
ok gracias y para validar que el e-mail tenga un @ y no tenga espacios en blanco seria desde java o tambien se podra hacer con php ???
gracias
Eso lo haces con preg_match. Aqui te dejo una funcion que te lo verifica:

Código PHP:
<?php
function valid_email($str)
{
return ( ! 
preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix"$str)) ? FALSE TRUE;
}
?>
  #10 (permalink)  
Antiguo 06/08/2008, 14:21
Avatar de KaLa_zIcK  
Fecha de Ingreso: junio-2008
Mensajes: 21
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: alta de usuarios

y esta funcion donde debe de ir en donde tengo mi form o donde estoy haciendo las validaciones ??? y me podrias explicar el codigo poquito si se puede gracias
  #11 (permalink)  
Antiguo 06/08/2008, 21:46
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: alta de usuarios

Cita:
Iniciado por KaLa_zIcK Ver Mensaje
y esta funcion donde debe de ir en donde tengo mi form o donde estoy haciendo las validaciones ??? y me podrias explicar el codigo poquito si se puede gracias
Metes ese codigo al principio de tu web o donde sea (mientras que sea antes de usarlo).

Luego pones algo como:

Código PHP:
<?php
if((valid_email($_POST['mail1'])==TRUE)
{
//proseguimos a introducir los datos a la DB
}
else {
echo 
"Porfavor introduce una direccion de correo valida.";
}
Seria algo asi en el caso mas simple ...
  #12 (permalink)  
Antiguo 06/08/2008, 22:00
Avatar de KaLa_zIcK  
Fecha de Ingreso: junio-2008
Mensajes: 21
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: alta de usuarios

ok entonces el primer codigo lo voy de la funcion lo tengo que poner en donde tengo mi text donde recibo el e-mail ?? y el otro es donde me llegan los datos con el $_POST

Gracias
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 01:43.