Foros del Web » Programando para Internet » Javascript »

Ayuda con el script

Estas en el tema de Ayuda con el script en el foro de Javascript en Foros del Web. Bien, despues de dar con muchos de vuestros compañeros que me propusieron diferentes codigos, finalmente hice una mezcla de todos, y que parece funcionar, solo ...
  #1 (permalink)  
Antiguo 29/11/2008, 08:36
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 15 años, 5 meses
Puntos: 1
Ayuda con el script

Bien, despues de dar con muchos de vuestros compañeros que me propusieron diferentes codigos, finalmente hice una mezcla de todos, y que parece funcionar, solo tengo una duda, y es que no se donde colocar la funcion del primer script para que haga su laburo o si falta algo en ese script:

Mira este es mi codigo actual:

Código:
<script language="javascript">
function jsRegistrar()
{
	var Nom = document.getElementById('Nom').value;
	var Cognoms = document.getElementById('Cognoms').value;
	var Contrasenya= document.getElementById('Contrasenya').value;
	var Email= document.getElementById('Email').value;
        if(Nom == ""){
              alert("Debe ingresar el usuario");
              document.getElementById('Nom').focus();
              return;
        }
        if(Cognoms == ""){
              alert("Debe ingresar el usuario");
              document.getElementById('Cognoms').focus();
              return;
        }
        if(Contrasenya== ""){
              alert("Debe ingresar el password");
              document.getElementById('Contrasenya').focus();
              return;
        }
        if(Email== ""){
              alert("Debe ingresar el email");
              document.getElementById('Email').focus();
              return;
        }
</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('Escriu les contrasenyes correctament.');
		return false;
	}
	else if (password1.value != password2.value)
	{
		alert('Las contrasenyes no concorden.');
		return false;
	}
	else
	{
		

		var junk_output;

		md5hash(password1, document.forms.register.Contrasenya_md5, junk_output, 0);
		md5hash(password2, document.forms.register.Contrasenyaconfirmacio_md5, junk_output, 0);

		

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

<?
if($registrar) {

$host = "localhost";
$user = "ampasant_basquet";
$pass = "50202050";
$db = "ampasant_basquet";

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


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



$resp = mysql_query("select * from usuarios where Email='$Email'") or die (mysql_error());
$existe = mysql_num_rows($resp);
if($existe == "0") {
mysql_query("insert into usuarios (Nom,Cognoms,Contrasenya,Email) values ('$Nom','$Cognoms','$Contrasenya','$Email')");
echo "Has estat registrat correctament.";
}
else {
echo "Aquest email ja es troba registrat.";
mysql_close($conectar); }
}
else {
?>
<form action="registrar.php" name="Formulari" method="post" onsubmit="return verify_passwords(Contrasenya, Contrasenyaconfirmacio);">

<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="Nom" style="width: 212px" /><span id="Nom"></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="Cognoms" style="width: 212px"/><span id="Cognoms"></span>
			</div>
<fieldset class="fieldset">
				<legend>Contrasenya</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 Contrasenya:<br />
						<input type="password" class="bginput" name="Contrasenyaconfirmacio" 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ó de Correo Electrònic:<br />
						<input type="text" class="bginput" name="Email" size="25" maxlength="50" value="" dir="ltr" id="Email"/>
					</td>
					<td>
						Confirmar Direcció de Correo Electrònic:<br />
						<input type="text" class="bginput" name="Emailconfirm" size="25" maxlength="50" value="" dir="ltr" id="email_2"/>

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

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

<input type="submit" name="registrar" value="Registrar">
</form>
<?
}
?>
Entonces, el script de la contraseña me va de fabula, pero el otro script no consigo que funcione no se donde colocar la orden para que funcione, y otra cosa que me gustaria es que el mismo script que uso para las contraseñas tambien se usara para los mails

Muchas gracias

Última edición por markitus_11; 29/11/2008 a las 09:16
  #2 (permalink)  
Antiguo 29/11/2008, 12:16
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Ayuda con el script

Hola:

En el primer script parece que te falta cerrar las llaves de la función, y para que puedas jacerlo funcionar a la vez que el otro, en cada return de los "if" (que evidentemente no pasan la validación) debes añadirle un false...

if (no_pasa_la_validación) return false;

y en el onsubmit unirlo con una operación lógica and...

onsubmit="return (verify_passwords(Contrasenya, Contrasenyaconfirmacio) && jsRegistrar())"

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 29/11/2008, 12:23
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Ayuda con el script

Despues de ponerlo como dijiste, me salta el script pero envia igual el registro, que debo hacer?
  #4 (permalink)  
Antiguo 29/11/2008, 12:25
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Ayuda con el script

Este es el codigo:

Código:
<script language="javascript">
function jsRegistrar()
{
	var Nom = document.getElementById('Nom').value;
	var Cognoms = document.getElementById('Cognoms').value;

        if(Nom == ""){
              alert("Has d'ingresar el teu nom");
              document.getElementById('Nom').focus();
              if (no_pasa_la_validación) return false;
        }
        if(Cognoms == ""){
              alert("Has d'ingresar els teus cognoms");
              document.getElementById('Cognoms').focus();
              if (no_pasa_la_validación) return false;
        }
}
</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('Escriu la contrasenya i la seva confirmació.');
		return false;
	}
	else if (password1.value != password2.value)
	{
		alert('Les contrasenyes no concorden.');
		return false;
	}
	else
	{
		

		var junk_output;

		md5hash(password1, document.forms.register.Contrasenya_md5, junk_output, 0);
		md5hash(password2, document.forms.register.Contrasenyaconfirmacio_md5, junk_output, 0);

		

		return true;
	}
	return false;
}

function verify_emails(email1, email2)
{
	// do various checks, this will save people noticing mistakes on next page
	if (email1.value == '' || email2.value == '')
	{
		alert('Escriu l´email i la seva confirmació.');
		return false;
	}
	else if (email1.value != email2.value)
	{
		alert('Els emails no concorden.');
		return false;
	}
	else
	{
		

		var junk_output;

		md5hash(email1, document.forms.register.Email_md5, junk_output, 0);
		md5hash(email2, document.forms.register.Emailconfirm_md5, junk_output, 0);

		

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

<?
if($registrar) {

$host = "localhost";
$user = "ampasant_basquet";
$pass = "50202050";
$db = "ampasant_basquet";

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


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



$resp = mysql_query("select * from usuarios where Email='$Email'") or die (mysql_error());
$existe = mysql_num_rows($resp);
if($existe == "0") {
mysql_query("insert into usuarios (Nom,Cognoms,Contrasenya,Email) values ('$Nom','$Cognoms','$Contrasenya','$Email')");
echo "Has estat registrat correctament.";
}
else {
echo "Aquest email ja es troba registrat.";
mysql_close($conectar); }
}
else {
?>
<form action="registrar.php" name="Formulari" method="post" onsubmit="return (jsRegistrar(), verify_passwords(Contrasenya, Contrasenyaconfirmacio), verify_emails(Email, Emailconfirm));">

<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="Nom" style="width: 212px" /><span id="Nom"></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="Cognoms" style="width: 212px"/><span id="Cognoms"></span>
			</div>
<fieldset class="fieldset">
				<legend>Contrasenya</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 Contrasenya:<br />
						<input type="password" class="bginput" name="Contrasenyaconfirmacio" 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ó de Correo Electrònic:<br />
						<input type="text" class="bginput" name="Email" size="25" maxlength="50" value="" onblur="varfield(1);" id="email1"/>
					</td>
					<td>
						Confirmar Direcció de Correo Electrònic:<br />
						<input type="text" class="bginput" name="Emailconfirm" size="25" maxlength="50" value="" onblur="varfield(2);" id="email2"/>

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

							<span id="email2_status"></span>
					</td>
				</tr>

<input type="submit" name="registrar" value="Registrar">
</form>
<?
}
?>
  #5 (permalink)  
Antiguo 29/11/2008, 12:29
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: Ayuda con el script

Hola markitus_11

No has puesto el evento onsubmit como te ha dicho caricatos (¡Hola! )

Saludos,
  #6 (permalink)  
Antiguo 29/11/2008, 12:30
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Ayuda con el script

ui, cierto gracias, no me di cuenta
  #7 (permalink)  
Antiguo 29/11/2008, 12:33
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Ayuda con el script

Hecho así los scripts no saltan
  #8 (permalink)  
Antiguo 29/11/2008, 16:36
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Ayuda con el script

Ya he descubierto, el porque no se envian, se ve que la comprobación de la base de datos se hace antes que los scrips y por lo tanto al darle a submit se envia directamente todo sin dar tiempo a los script.

Alguien puede decirme como hacer que primero se ejecuten los scripts y sino pasa la validación no se envie a la base de datos?

Lo pregunte en php pero me dijeron que mejor lo preguntara aqui
  #9 (permalink)  
Antiguo 29/11/2008, 17:00
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Ayuda con el script

Cita:
Iniciado por markitus_11 Ver Mensaje
Ya he descubierto, el porque no se envian, se ve que la comprobación de la base de datos se hace antes que los scrips y por lo tanto al darle a submit se envia directamente todo sin dar tiempo a los script.

Alguien puede decirme como hacer que primero se ejecuten los scripts y sino pasa la validación no se envie a la base de datos?

Lo pregunte en php pero me dijeron que mejor lo preguntara aqui
No entiendo bien tu actitud... primero muestras un código con dos funciones para coordinar, después no solo no lo haces según nuestra respuesta, sino que añades una tercera función, y ahora mezclas php...

Debes evitar poner código php en este foro, que aunque la mayoría de los que damos nuestra respuesta tenemos suficiente conocimiento de ese lenguaje, leer la mezcla de los códigos, sinceramente "marea" (y en mi caso particular, estoy intentando hacer cosas con Ajax, donde es fundamental la coordinación... )

Cuando se quiere anular un formulario siempre hay que poner en el evento submit la cancelación de ese envío, y se debe hacer desde el manejador del evento (on)submit... un retirn false (ese false puede ser literal, o como el resultado de algo... y no importa la complejidad de ese algo.

Todas las condiciones de cancelación con la operación lógica AND obliga a que todas devuelvan true, así que no es tan difícil (condicion1 && condicion2 && condiciónN) ("&&" => AND)

Seguro que tienes algo mal... copia el código de tu página (sin la parte php, o sea usa el comando "ver código fuente" de tu navegador)... o consulta su consola de errores, ya que si se envía el formulario de todas formas, deberá ser porque hay algún tipo de error.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #10 (permalink)  
Antiguo 29/11/2008, 18:15
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Ayuda con el script

Que facil es decirlo.... pero yo no veo el fallo en ningun sitio..., esta claro no tengo unos grandes conocimientos es por eso que pedi ayuda

Y aquí el codigo:

Código:
<script language="javascript">
function jsRegistrar()
{
	var Nom = document.getElementById('Nom').value;
	var Cognoms = document.getElementById('Cognoms').value;

        if(Nom == ""){
              alert("Has d'ingresar el teu nom");
              document.getElementById('Nom').focus();
              if (no_pasa_la_validación) return false;
        }
        if(Cognoms == ""){
              alert("Has d'ingresar els teus cognoms");
              document.getElementById('Cognoms').focus();
              if (no_pasa_la_validación) return false;
        }
}
</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('Escriu la contrasenya i la seva confirmació.');
		return false;
	}
	else if (password1.value != password2.value)
	{
		alert('Les contrasenyes no concorden.');
		return false;
	}
	else
	{
		

		var junk_output;

		md5hash(password1, document.forms.register.Contrasenya_md5, junk_output, 0);
		md5hash(password2, document.forms.register.Contrasenyaconfirmacio_md5, junk_output, 0);

		

		return true;
	}
	return false;
}

function verify_emails(email1, email2)
{
	// do various checks, this will save people noticing mistakes on next page
	if (email1.value == '' || email2.value == '')
	{
		alert('Escriu l´email i la seva confirmació.');
		return false;
	}
	else if (email1.value != email2.value)
	{
		alert('Els emails no concorden.');
		return false;
	}
	else
	{
		

		var junk_output;

		md5hash(email1, document.forms.register.Email_md5, junk_output, 0);
		md5hash(email2, document.forms.register.Emailconfirm_md5, junk_output, 0);

		

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

<?
if($registrar) {

$host = "localhost";
$user = "ampasant_basquet";
$pass = "50202050";
$db = "ampasant_basquet";

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


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



$resp = mysql_query("select * from usuarios where Email='$Email'") or die (mysql_error());
$existe = mysql_num_rows($resp);
if($existe == "0") {
mysql_query("insert into usuarios (Nom,Cognoms,Contrasenya,Email) values ('$Nom','$Cognoms','$Contrasenya','$Email')");
echo "Has estat registrat correctament.";
}
else {
echo "Aquest email ja es troba registrat.";
mysql_close($conectar); }
}
else {
?>
<form action="registrar.php" name="Formulari" method="post" onsubmit="return (jsRegistrar(), verify_passwords(Contrasenya, Contrasenyaconfirmacio), verify_emails(Email, Emailconfirm));">

<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="Nom" style="width: 212px" /><span id="Nom"></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="Cognoms" style="width: 212px"/><span id="Cognoms"></span>
			</div>
<fieldset class="fieldset">
				<legend>Contrasenya</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 Contrasenya:<br />
						<input type="password" class="bginput" name="Contrasenyaconfirmacio" 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ó de Correo Electrònic:<br />
						<input type="text" class="bginput" name="Email" size="25" maxlength="50" value="" onblur="varfield(1);" id="email1"/>
					</td>
					<td>
						Confirmar Direcció de Correo Electrònic:<br />
						<input type="text" class="bginput" name="Emailconfirm" size="25" maxlength="50" value="" onblur="varfield(2);" id="email2"/>

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

							<span id="email2_status"></span>
					</td>
				</tr>

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

Última edición por markitus_11; 29/11/2008 a las 18:24
  #11 (permalink)  
Antiguo 29/11/2008, 18:24
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Ayuda con el script

Ahí dejo el codigo fuente:

Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Untitled Page</title>
<meta name="generator" content="WYSIWYG Web Builder - http://www.wysiwygwebbuilder.com">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div id="wb_Html1" style="position:absolute;left:203px;top:95px;width:292px;height:403px;z-index:0" align="left">
<script language="javascript">
function jsRegistrar()
{
	var Nom = document.getElementById('Nom').value;
	var Cognoms = document.getElementById('Cognoms').value;

        if(Nom == ""){
              alert("Has d'ingresar el teu nom");
              document.getElementById('Nom').focus();
              if (no_pasa_la_validación) return false;
        }
        if(Cognoms == ""){
              alert("Has d'ingresar els teus cognoms");
              document.getElementById('Cognoms').focus();
              if (no_pasa_la_validación) return false;
        }
}
</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('Escriu la contrasenya i la seva confirmació.');
		return false;
	}
	else if (password1.value != password2.value)
	{
		alert('Les contrasenyes no concorden.');
		return false;
	}
	else
	{
		

		var junk_output;

		md5hash(password1, document.forms.register.Contrasenya_md5, junk_output, 0);
		md5hash(password2, document.forms.register.Contrasenyaconfirmacio_md5, junk_output, 0);

		

		return true;
	}
	return false;
}

function verify_emails(email1, email2)
{
	// do various checks, this will save people noticing mistakes on next page
	if (email1.value == '' || email2.value == '')
	{
		alert('Escriu l´email i la seva confirmació.');
		return false;
	}
	else if (email1.value != email2.value)
	{
		alert('Els emails no concorden.');
		return false;
	}
	else
	{
		

		var junk_output;

		md5hash(email1, document.forms.register.Email_md5, junk_output, 0);
		md5hash(email2, document.forms.register.Emailconfirm_md5, junk_output, 0);

		

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

<form action="registrar.php" name="Formulari" method="post" onsubmit="return (jsRegistrar(), verify_passwords(Contrasenya, Contrasenyaconfirmacio), verify_emails(Email, Emailconfirm));">

<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="Nom" style="width: 212px" /><span id="Nom"></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="Cognoms" style="width: 212px"/><span id="Cognoms"></span>
			</div>
<fieldset class="fieldset">
				<legend>Contrasenya</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 Contrasenya:<br />

						<input type="password" class="bginput" name="Contrasenyaconfirmacio" 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ó de Correo Electrònic:<br />
						<input type="text" class="bginput" name="Email" size="25" maxlength="50" value="" onblur="varfield(1);" id="email1"/>
					</td>
					<td>
						Confirmar Direcció de Correo Electrònic:<br />
						<input type="text" class="bginput" name="Emailconfirm" size="25" maxlength="50" value="" onblur="varfield(2);" id="email2"/>

						</td>

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

							<span id="email2_status"></span>
					</td>
				</tr>

<input type="submit" name="registrar" value="Registrar">
</form>
</div>
</body>
</html>
Recuerdo que el problema es que la info se envia antes de que los scripts salten
  #12 (permalink)  
Antiguo 29/11/2008, 18:50
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ayuda con el script

Cita:
Iniciado por markitus_11 Ver Mensaje
Que facil es decirlo.... pero yo no veo el fallo en ningun sitio..., esta claro no tengo unos grandes conocimientos es por eso que pedi ayuda
Lamento si no ha sido tu intención pero este comentario tuyo me pareció un poco mal agradecido hacia todo el esmero que puso caricatos en explicarte cómo deben hacerse las validaciones.
En fin, esto está mal en tu código
Cita:
Iniciado por markitus_11 Ver Mensaje
if (no_pasa_la_validación) return false;
caricatos solo lo había puesto como ejemplo para que lo adaptaras a tu problema, en este caso particular basta con que pongas return false.
No he revisado el resto del código, así que puede haber otras cosas que fallen.
Saludos .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #13 (permalink)  
Antiguo 29/11/2008, 18:51
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Ayuda con el script

Hola:

Las funciones, tal como puse en el primero de mis mensajes, debes separarlas con la operación lógica AND, que en javascript se escribe "&&"... revisa eso, y de paso te aconsejo que mires la consola de errores de tu navegador (si es firefox u opera)... y si es explorer en la esquina inferior izquierda suele aparecer un icono cuando se produce un error que pinchando sobre él te indica el número de línea donde se produjo...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Última edición por caricatos; 29/11/2008 a las 18:55 Razón: puse dereche en vex de iazuierda (digo Diego)
  #14 (permalink)  
Antiguo 29/11/2008, 18:53
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Ayuda con el script

Cita:
Iniciado por David el Grande Ver Mensaje
Lamento si no ha sido tu intención pero este comentario tuyo me pareció un poco mal agradecido hacia todo el esmero que puso caricatos en explicarte cómo deben hacerse las validaciones.
En fin, esto está mal en tu códigocaricatos solo lo había puesto como ejemplo para que lo adaptaras a tu problema, en este caso particular basta con que pongas return false.
No he revisado el resto del código, así que puede haber otras cosas que fallen.
Saludos .
No era mi intencion ni mucho menos
  #15 (permalink)  
Antiguo 29/11/2008, 18:57
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Ayuda con el script

Cita:
Iniciado por David el Grande Ver Mensaje
...
En fin, esto está mal en tu códigocaricatos solo lo había puesto como ejemplo para que lo adaptaras a tu problema, en este caso particular basta con que pongas return false.
...
¡Je, je ! no me había fijado en ese detalle "añadido"...

__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #16 (permalink)  
Antiguo 29/11/2008, 18:59
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Ayuda con el script

Creo que lo más facil va ha ser que lo coomprueben ustedes mismos;

en esta url:
Código:
http://www.basquet.ampasantjosep.org/registrar.php
se encuentra el registro

Juzguen ustedes mismos.

Este es el codigo actual:

Código:
<script language="javascript">
function jsRegistrar()
{
	var Nom = document.getElementById('Nom').value;
	var Cognoms = document.getElementById('Cognoms').value;

        if(Nom == ""){
              alert("Has d'ingresar el teu nom");
              document.getElementById('Nom').focus();
              return false;
        }
        if(Cognoms == ""){
              alert("Has d'ingresar els teus cognoms");
              document.getElementById('Cognoms').focus();
              return false;
        }
}
</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('Escriu la contrasenya i la seva confirmació.');
		return false;
	}
	else if (password1.value != password2.value)
	{
		alert('Les contrasenyes no concorden.');
		return false;
	}
	else
	{
		

		var junk_output;

		md5hash(password1, document.forms.register.Contrasenya_md5, junk_output, 0);
		md5hash(password2, document.forms.register.Contrasenyaconfirmacio_md5, junk_output, 0);

		

		return true;
	}
	return false;
}

function verify_emails(email1, email2)
{
	// do various checks, this will save people noticing mistakes on next page
	if (email1.value == '' || email2.value == '')
	{
		alert('Escriu l´email i la seva confirmació.');
		return false;
	}
	else if (email1.value != email2.value)
	{
		alert('Els emails no concorden.');
		return false;
	}
	else
	{
		

		var junk_output;

		md5hash(email1, document.forms.register.Email_md5, junk_output, 0);
		md5hash(email2, document.forms.register.Emailconfirm_md5, junk_output, 0);

		

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

<?
if($registrar) {

$host = "localhost";
$user = "ampasant_basquet";
$pass = "50202050";
$db = "ampasant_basquet";

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


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



$resp = mysql_query("select * from usuarios where Email='$Email'") or die (mysql_error());
$existe = mysql_num_rows($resp);
if($existe == "0") {
mysql_query("insert into usuarios (Nom,Cognoms,Contrasenya,Email) values ('$Nom','$Cognoms','$Contrasenya','$Email')");
echo "Has estat registrat correctament.";
}
else {
echo "Aquest email ja es troba registrat.";
mysql_close($conectar); }
}
else {
?>
<form action="registrar.php" name="Formulari" method="post" onsubmit="return (jsRegistrar() && verify_passwords(Contrasenya, Contrasenyaconfirmacio) && verify_emails(Email, Emailconfirm));">

<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="Nom" style="width: 212px" /><span id="Nom"></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="Cognoms" style="width: 212px"/><span id="Cognoms"></span>
			</div>
<fieldset class="fieldset">
				<legend>Contrasenya</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 Contrasenya:<br />
						<input type="password" class="bginput" name="Contrasenyaconfirmacio" 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ó de Correo Electrònic:<br />
						<input type="text" class="bginput" name="Email" size="25" maxlength="50" value="" onblur="varfield(1);" id="email1"/>
					</td>
					<td>
						Confirmar Direcció de Correo Electrònic:<br />
						<input type="text" class="bginput" name="Emailconfirm" size="25" maxlength="50" value="" onblur="varfield(2);" id="email2"/>

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

							<span id="email2_status"></span>
					</td>
				</tr>

<input type="submit" name="registrar" value="Registrar">
</form>
<?
}
?>
Todo esto me supera
  #17 (permalink)  
Antiguo 29/11/2008, 19:01
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ayuda con el script

&quot;if return false;&quot; (si retornar falso ) sigue estando mal... solo &quot;return false&quot; (retornar falso ).

EDITO: ¿Me engañaron los ojos o lo cambiaste? . Y por favor, no coloques código PHP .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #18 (permalink)  
Antiguo 29/11/2008, 19:02
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Ayuda con el script

Los dos primeros campos funcionan a la perfeccion son la contrasenya y el email lo que falla
  #19 (permalink)  
Antiguo 29/11/2008, 19:03
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Ayuda con el script

Cita:
&quot;if return false;&quot; (si retornar falso ) sigue estando mal... solo &quot;return false&quot; (retornar falso ).

EDITO: ¿Me engañaron los ojos o lo cambiaste? . Y por favor, no coloques código PHP .
Sisi lo edite porque fue un error al copiar el codigo. EL php va relacionado con los scripts

Última edición por markitus_11; 29/11/2008 a las 19:13
  #20 (permalink)  
Antiguo 29/11/2008, 19:17
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ayuda con el script

Primeramente, hay funciones a las que llamas que no existen en tu código Javascript. Como "md5hash" y "varfield", y otra cosa, en tu función jsRegistrar debes colocar return true en la última línea.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #21 (permalink)  
Antiguo 29/11/2008, 19:20
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Ayuda con el script

Como quedaria pues? Es que no te entendi con lo de la ultima linea, y tampoco se que tengo que hacer con esas funciones que no estan...
  #22 (permalink)  
Antiguo 29/11/2008, 19:25
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ayuda con el script

.
Algo así:
Código javascript:
Ver original
  1. function jsRegistrar() {
  2.     /* Código que tienes actualmente dentro de la función */
  3.     return true;
  4. }
Lo de las funciones que faltan, ¿fuiste tú el que las puso? .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #23 (permalink)  
Antiguo 29/11/2008, 19:28
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Ayuda con el script

No, lo bajé de una web, yo me limite a cambiar lo que me daban
  #24 (permalink)  
Antiguo 29/11/2008, 19:36
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ayuda con el script

Como te dije, yo no sé, deberías buscar en esa web de la cual bajaste las funciones que faltan (por si acaso, ¿te dieron permiso para usar los scripts de la página? ).
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #25 (permalink)  
Antiguo 29/11/2008, 19:38
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Ayuda con el script

Si, si, eran scripts publicos, y no habia más funciones, segun explicaban no eran necesarias, y la verdad es que antes de poner la conexion con la base de datos funcionaban todos pero al ponerla entonces dejaron de funcionar
  #26 (permalink)  
Antiguo 29/11/2008, 19:48
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ayuda con el script

Es muy raro ya que esas funciones no están declaradas en ninguna parte, así que definitivamente son necesarias para que funcione el código de la forma como está, pero bueno, ya que no las usas pues bórralas .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #27 (permalink)  
Antiguo 29/11/2008, 19:50
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Ayuda con el script

Hola:

Borrando cosas innecesarias, prueba si esto te sirve:

Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Untitled Page</title>
<meta name="generator" content="WYSIWYG Web Builder - http://www.wysiwygwebbuilder.com">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div id="wb_Html1" style="position:absolute;left:203px;top:95px;width:292px;height:403px;z-index:0" align="left">
<script language="javascript">
function jsRegistrar()
{
	var Nom = document.getElementById('Nom').value;
	var Cognoms = document.getElementById('Cognoms').value;

        if(Nom == ""){
              alert("Has d'ingresar el teu nom");
              document.getElementById('Nom').focus();
              return false;
        }
        if(Cognoms == ""){
              alert("Has d'ingresar els teus cognoms");
              document.getElementById('Cognoms').focus();
              return false;
        }
        return true
}
</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('Escriu la contrasenya i la seva confirmació.');
		return false;
	}
	if (password1.value != password2.value)
	{
		alert('Les contrasenyes no concorden.');
		return false;
	}
	return true;
}

function verify_emails(email1, email2)
{
	// do various checks, this will save people noticing mistakes on next page
	if ((email1.value == '') || (email2.value == ''))
	{
		alert('Escriu l´email i la seva confirmació.');
		return false;
	}
	if (email1.value != email2.value)
	{
		alert('Els emails no concorden.');
		return false;
	}
	return true;
}
</script>

<form action="javascript: alert('enviado')" name="Formulari" method="post" onsubmit="return (jsRegistrar() && verify_passwords(Contrasenya, Contrasenyaconfirmacio) && verify_emails(Email, Emailconfirm))">

<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="Nom" style="width: 212px" /><span id="Nom"></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="Cognoms" style="width: 212px"/><span id="Cognoms"></span>
			</div>
<fieldset class="fieldset">
				<legend>Contrasenya</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="" id="password_1"/>

					</td>
					<td>
						Confirmar Contrasenya:<br />

						<input type="password" class="bginput" name="Contrasenyaconfirmacio" size="25" maxlength="50" value=""  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ó de Correo Electrònic:<br />
						<input type="text" class="bginput" name="Email" size="25" maxlength="50" value="" id="email1"/>
					</td>
					<td>
						Confirmar Direcció de Correo Electrònic:<br />
						<input type="text" class="bginput" name="Emailconfirm" size="25" maxlength="50" value="" id="email2"/>

						</td>

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

							<span id="email2_status"></span>
					</td>
				</tr>

<input type="submit" name="registrar" value="Registrar">
</form>
</div>
</body>
</html>
De paso revisa la estructura de la página, ya que ese tipo de scripts es aconsejable ponerlos en el head.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #28 (permalink)  
Antiguo 29/11/2008, 20:05
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Ayuda con el script

Pero eso... es el codigo fuente... que hago con él? el editor no me lo acepta
  #29 (permalink)  
Antiguo 30/11/2008, 12:15
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Ayuda con el script

Ya vi, donde estan los errores muchas gracias!!!!

No se como agradecertelo de verdad, ahora funciona de 10 muchisimas gracias por todo
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 11:44.