Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/05/2010, 15:16
Weahl
 
Fecha de Ingreso: mayo-2010
Mensajes: 52
Antigüedad: 14 años, 7 meses
Puntos: 0
Enviar formulario con JavaScript y recogerlo con PHP

Tengo el siguiente código HTML de un formulario de registro:

Código HTML:
Ver original
  1. <form name="formregistro" method="post" action="validacion.php">
  2.             <table>
  3.             <tr>
  4.                 <td class="right">Nombre de usuario:
  5.                 <td><input type="text" name="usuario" maxlength="18"><br>
  6.             <tr>
  7.                 <td class="right">Contraseña:
  8.                 <td><input type="password" name="pass" id="pass" maxlength="24"><br>
  9.             <tr>
  10.                 <td class="right">Confirmar contraseña:
  11.                 <td><input type="password" name="pass_" id="pass_" maxlength="24"><br>
  12.             <tr>
  13.                 <td class="right">E-mail:
  14.                 <td><input type="text" name="email" id="email" maxlength="50"><br>
  15.             <tr>
  16.                 <td class="right">Confirmar e-mail:
  17.                 <td><input type="text" name="email_" id="email_" maxlength="50"><br>
  18.             </table>
  19.             <input type="button" value="Enviar" name="registro" onClick="checkval();">
  20. </form>

Al pulsar el botón se ejecuta la siguiente función de JavaScript que está en el <head>

Código Javascript:
Ver original
  1. function checkval()
  2. {
  3.     if(document.getElementById('pass').value != document.getElementById('pass_').value)
  4.     {
  5.        alert('Las contraseñas que has introducido no son iguales');
  6.        return false;
  7.     }
  8.     else
  9.     {
  10.         if(document.getElementById('email').value != document.getElementById('email_').value)
  11.         {
  12.            alert('Las direcciones de correo electrónico introducidas no coinciden');
  13.            return false;
  14.         }
  15.         else
  16.         {
  17.             document.formregistro.submit();
  18.         };
  19.     };
  20. }


Todo correcto hasta que llega a la página de validación, donde por lo visto no llegan los valores del formulario.

Este es el código de validación.php:

Código PHP:
<?php
include("datosconexion.php");
$conexion=mysql_connect($dbhost$dbuser$dbpass) OR DIE ("Conexion fallida con la base de datos");
$bd=mysql_select_db($db$conexion) OR DIE ("Base de datos incorrecta");

if(isset(
$_POST['registro']))
{
    
$usuario$_POST['usuario'];
    
$pass$_POST['pass'];
    
$pass_$_POST['pass_'];
    
$email$_POST['email'];
    
$email_$_POST['email_'];

    if(isset(
$usuario))
    {
        
$sqlmysql_query("SELECT usuario FROM usuario WHERE usuario = '".$usuario."'");
        
        if(
$rowmysql_fetch_array($sql))
        {
            
header("refresh:2; index.php");
            echo 
"Error, el usuario ya existe";
        }
        else
        {
            
$sqlmysql_query("INSERT INTO usuario (usuario, pass, email) VALUES ('$usuario', '$pass', '$email')") OR DIE ("Error al registrar los datos");
            
header('refresh:3; index.php');
            echo 
"Registro completado, serás redirigido a la página principal";
        };
    };
};
?>
Imagino que será algo del POST, que habrá que cambiarlo para que sea compatible con el submit de JavaScript o algo por el estilo, agradecería cualquier ayuda.

Un saludo.