Foros del Web » Programando para Internet » PHP »

Duda, comprobaciones formulario de registro

Estas en el tema de Duda, comprobaciones formulario de registro en el foro de PHP en Foros del Web. Bien, me encuentro con dos problemas, el primero que he instalado una serie de scripts para validar los datos del formulario pero no llegan a ...
  #1 (permalink)  
Antiguo 26/11/2008, 16:49
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 15 años, 4 meses
Puntos: 1
Pregunta Duda, comprobaciones formulario de registro

Bien, me encuentro con dos problemas, el primero que he instalado una serie de scripts para validar los datos del formulario pero no llegan a funcionar ya que envia el registro directamente y nose como hacer para que no se envie el registro hasta que no haya sido validado todo.

Este es el codigo:

Código:
<script type="text/javascript">						
		var ajaxreg_email_error_1 = "El email parece incorrecto (debe incluir @ y .)";
		var ajaxreg_email_error_2 = "El email contiene caracteres inválidos.";
		var ajaxreg_email_error_3 = "El nombre de dominio contiene caracteres inválidos.";
		var ajaxreg_email_error_4 = "El nombre de usuario no es válido.";
		var ajaxreg_email_error_5 = "IP de destino es inválida!";
		var ajaxreg_email_error_6 = "El dominio pareciera no ser válido.";
		var ajaxreg_email_error_7 = "La dirección debe terminar en un dominio válido.";
		var ajaxreg_email_error_8 = "This address is missing a host name!";
		var ajaxreg_name_minuserlength = "3";
		var ajaxreg_name_usernameregex = "^[a-zA-Z0-9\-\_]+$";
		var ajaxreg_name_inuse = " está en uso";
		var ajaxreg_name_illegal = " contiene una palabra no válida.";
		var ajaxreg_name_ok = " está Disponible";
		var ajaxreg_name_error_1 = "The user name must be "+ajaxreg_name_minuserlength+" chars or more.";
		var ajaxreg_name_error_2 = "Ingresó caracteres inválidos.";
		var ajaxreg_name_checking = "Revisando...";
		var ajaxreg_password_error_1 = "El Password debe tener 6 caracteres o más.";
		var ajaxreg_password_ok = "Longitud de Password Correcta";
		var ajaxreg_password_nomatch = "Uno de los Password no concuerda";
		var ajaxreg_password_match = "Verificación de Password correcta";
		var ajaxreg_email_ok = "Email válido";
		var ajaxreg_email_nomatch = "Ingresó correos diferentes en cada campo";
		var ajaxreg_email_match = "Ambas direcciones concuerdan";
	</script>

<script type="text/javascript">
function verify_passwords(password1, password2)
{
	// do various checks, this will save people noticing mistakes on next page
	if (password1.value == '' || password2.value == '')
	{
		alert('Completa ambos campos con tu contraseña.');
		return false;
	}
	else if (password1.value != password2.value)
	{
		alert('Las contraseñas no son concuerdan.');
		return false;
	}
	else
	{
		

		var junk_output;

		md5hash(password1, document.forms.register.password_md5, junk_output, 0);
		md5hash(password2, document.forms.register.passwordconfirm_md5, junk_output, 0);

		

		return true;
	}
	return false;
}
</script>



<?
if($registrar) {

$host = "******";
$user = "******";
$pass = "******";
$db = "******";

$conectar = mysql_connect($host,$user,$pass);
mysql_select_db($db,$conectar);

$Nom = $_POST['Nom'];
$Email = $_POST['Email'];

$resp = mysql_query("select * from usuarios where nom='$Nom'") or die (mysql_error());
$existe = mysql_num_rows($resp);
if($existe == "0") {
mysql_query("insert into usuarios (Nom,Cognoms,Contrasenya,email,Equip) values ('$Nom','$Cognoms','$Contrasenya','$email','$Equip')");
echo "Has estat registrat correctament.";
}
else {
echo "Aquest usuari ja es troba registrat.";
mysql_close($conectar); }
}
else {
?>
<?php
          
      $From = "[email protected]";
      $FromName = "Bàsquet AMPA Sant Josep";
      $destinatario = $email;
      $asunto = 'Benvingut/a';
      $body = 'Benvingut/a a la web del bàsquet de l´AMPA,';
      $body .= 'Gracies al teu registre, rebràs les últimes notícies i informacions directament al te correu. I si mai et vols donar de baixa d´aquest servei entra aquí: ';

mail($From, $FromName, $destinatario, $asunto, $body);
?>

<form action="registrar.php" name="Formulari" method="post" onsubmit="return verify_passwords(password, passwordconfirm);">

<table class="tborder" cellpadding="6" cellspacing="1" border="0" width="100%" align="center">

<tr>
	<td class="tcat">Registrar-se a la web de l´AMPA</td>
</tr>
<tr>
	<td class="panelsurround" align="center">
	<div class="panel">
		<div style="width:640px" align="left">

			<div class="smallfont" style="margin-bottom:3px">
				Si et registres, rebràs les ultimes noticies i informacions directament al teu correu
			</div>

			<div class="smallfont" style="margin-bottom:3px">
				<strong>Nom</strong>:<br />
				<input type="text" class="bginput" name="Nom" size="25" maxlength="" value="" id="username" style="width: 212px" onblur="CheckUserName();"/><span id="username_status"></span>
			</div> 
                        <div class="smallfont" style="margin-bottom:3px">
				<strong>Cognoms</strong>:<br />
				<input type="text" class="bginput" name="Cognoms" size="25" maxlength="" value="" id="username" style="width: 212px" onblur="CheckUserName();"/><span id="username_status"></span>
			</div>

			<fieldset class="fieldset">
				<legend>Contraseña</legend>

				<table cellpadding="0" cellspacing="3" border="0" width="400">
				<tr>
					<td colspan="2">Introduix la contrasenya per a la teva conta</td>
				</tr>
				<tr>
					<td>
						Contrasenya:<br />
						<input type="password" class="bginput" name="Contrasenya" size="25" maxlength="50" value="" onblur="varfield(1);" id="password_1"/>

					</td>
					<td>
						Confirmar Contraseña:<br />
						<input type="password" class="bginput" name="passwordconfirm" size="25" maxlength="50" value="" onblur="varfield(2);" id="password_2"/>
						</td>
					</tr>
					<tr>
						<td colspan="2">

							<span id="password_1_status"></span>
						</td>
					</tr>
					<tr>
						<td colspan="2">
							<span id="password_2_status"></span>
					</td>
				</tr>
				</table>

			</fieldset>

			<fieldset class="fieldset">
				<legend>Direcció de Correo Electrònic</legend>
				<table cellpadding="0" cellspacing="3" border="0" width="400">
				<tr>
					<td colspan="2">Escriu una direcció de correu vàlida.</td>
				</tr>

				<tr>
					<td>
						Dirección de Correo Electrónico:<br />
						<input type="text" class="bginput" name="email" size="25" maxlength="50" value="" dir="ltr" onblur="varfield(3);" id="email_1"/>
					</td>
					<td>
						Confirmar Direcció de Correo Electrònic:<br />
						<input type="text" class="bginput" name="emailconfirm" size="25" maxlength="50" value="" dir="ltr" onblur="varfield(4);" id="email_2"/>

						</td>
					</tr>
					<tr>
						<td colspan="2">
							<span id="email_1_status"></span>
						</td>
					</tr>
					<tr>
						<td colspan="2">

							<span id="email_2_status"></span>
					</td>
				</tr>
				
				</table>
			</fieldset>

			
<fieldset class="fieldset">
	<legend>Pregunta aleatòria</legend>
	<table cellpadding="0" cellspacing="3"  border="0" width="100%">

	<tr>
		<td width="100%" valign="top">
			<div><strong><label for="humanverify">¿Cu&aacute;nto es 4+4?</label></strong></div>
			<input type="text" class="bginput" name="humanverify[input]" id="humanverify" size="50" />
			<input id="hash" type="hidden" name="humanverify[hash]" value="f9cc14239bc80c849120b6edbd672204" />
		</td>
	</tr>
	</table>

</fieldset>


		</div>
	</div>
	</td>
</tr>
</table>

<input type="submit" name="registrar" value="Registrar">
</form>
<?
}
?>

Os agradeceria mucho que me ayudarais

Última edición por markitus_11; 27/11/2008 a las 06:28
  #2 (permalink)  
Antiguo 27/11/2008, 11:54
Avatar de stone_neo  
Fecha de Ingreso: abril-2004
Ubicación: Peru
Mensajes: 438
Antigüedad: 19 años, 11 meses
Puntos: 15
Respuesta: Duda, comprobaciones formulario de registro

mmmmmmmmmmmmmmm tu codigo es muy extraño.

Te recomiendo que crees dos archivos uno con tu formulario y las validaciones en Javascript y otro archivo php con toda la logica para el envio del email.

Ahora recuerda que si quieres que en tu validacion javascript cuando ocurra un error no haga el submit debea hacer un return. Algo asi :

Código:
function login(){
     var txtUser = document.getElementById('txtUser').value;
     var txtPass = document.getElementById('txtPass').value;
    
     if(txtUser == ""){
          alert("Debe ingresar el nombre de usuario.");
          document.getElementById('txtUser').focus();
          return;
     }     
     //Si pasa esta validacion recien debes hacer el submit
     var form = document.getElementById('tu_formulario');
     form.submit();
}

Ahora en vez de un boton mejor usate una imagen:

Código:
<a href="javascript:login()"><img src="boton_registrar.jpg"></a>
__________________
Rubén Darío Huamaní Ucharima
Web : http://www.gorilla-soft.com
Usuario Linux #382 100 :-)
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 20:02.