Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/08/2006, 00:38
Avatar de alexsaiz
alexsaiz
 
Fecha de Ingreso: agosto-2006
Ubicación: Madrid
Mensajes: 85
Antigüedad: 17 años, 8 meses
Puntos: 0
Pregunta Enviar formulario action sobre la misma página PHP y HTML

Tengo una página llamada registrar.php que combina HTML y PHP y el form action se realiza sobre la misma página:

Código HTML:
<form id="registro" name="registro" method="post" action="registrar.php"> 
El problema es que cuando un usuario entra en la página registrar.php ya le aparece como si el formulario se hubiera enviado con sus errores incluidos en los IF.

Incluyo código PHP más abajo.
¿Alguna idea?

Muchas gracias por adelantado.
Alejandro Pérez.

Código PHP:
<?php //Incluir cabecera y conexión a base de datos
                  
include("header.php"); include ("conexdb.php");?>
                      
                      <?php //Variables extra
                  
?>
                      
                      <?php //Capturar campos del formulario de registro REGISTRO.PHP 
                  
$username $_POST['username'];
                  
$password md5($_POST['password']); 
                  
$password2 md5($_POST['password2']);
                  
$email $_POST['email'];
                  
$name $_POST['name'];
                  
$lastname $_POST['lastname'];
                  
$dnitype $_POST['dnitype'];
                  
$dninumber $_POST['dninumber'];
                  
$sex $_POST['sex'];
                  
$birth_day $_POST['birth_day'];
                  
$month_day $_POST['month_day'];
                  
$year_day $_POST['year_day'];
                  
$reg_address $_POST['reg_address'];
                  
$reg_city $_POST['reg_city'];
                  
$reg_bigcity $_POST['reg_bigcity'];
                  
$reg_zip $_POST['reg_zip'];
                  
$reg_mobile $_POST['reg_mobile'];
                  
$ipcliente $_SERVER['remote_addr'];
                  
?>
                      
                      <?php // Comprobar si el usuario introducido existe  
                  
$error.=  "POR FAVOR COMPRUEBA LAS CASILLAS MARCADAS EN ROJO EN EL FORMULARIO:<br /><br />
"
;
                  
$checkuser mysql_query("SELECT users_username FROM quevalor_users WHERE users_username='$username'");  
                  
$username_exist mysql_num_rows($checkuser);  
                  if(
$username_exist 0){
                  
$error.= "- El nombre de usuario introducido ya existe, escoge otro diferente.<br />"
;}
                  
?>   
                      <?php //Comprobar campos vacios del formulario  
                  
                  //Comprueba si el campo NOMBRE está vacio
                  
if(empty($name)){
                  
$error.=  "- Campo Vacio: NOMBRE (Por favor, rellena esta casilla).<br />"
                  
;}
                  
                  
//Comprueba si el campo APELLIDOS está vacio
                  
if(empty($lastname)){
                  
$error.=  "- Campo Vacio: APELLIDOS (Por favor, rellena esta casilla).<br />"
                  
;}
                  
                  
//Comprueba si el campo CONTRASEÑA está vacio
                  
if(empty($_POST['password'])){
                  
$error.=  "- Campo Vacio: CONTRASEÑA (Por favor, rellena esta casilla).<br />"
                  
;}
                  
                  
//Comprueba si el campo CONFIRMACIÓN CONTRASEÑA está vacio
                  
if(empty($_POST['password2'])){
                  
$error.=  "- Campo Vacio: CONFIRMACIÓN CONTRASEÑA (Por favor, rellena esta casilla).<br />"
                  
;}
                  
                  
//Comprueba si el campo NÚMERO IDENTIFICACIÓN está vacio
                  
if(empty($dninumber)){
                  
$error.=  "- Campo Vacio: NUMERO DE IDENTIFICACIÓN (Por favor, rellena esta casilla).<br />"
                  
;}
                  
                  
//Comprueba si la CONTRASEÑA coincide
                  
if ($password!=$password2)
                  
$error.= "- La CONTRASEÑA no coincide con su confirmación.<br />";
                  
                  
//Comprobar si la dirección de EMAIL es correcta
                  
if(eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$"$email)) {  echo "";}else {  $error.= "- La dirección de EMAIL que has introducido es incorrecta. ";}

                  
//Si existe errores los escribe, de otra manera no muestra nada
                  
if ($error==  "POR FAVOR REVISA LA SIGUIENTE INFORMACIÓN EN EL FORMULARIO:<br />"){
                  unset (
$error);}
                  else
                  {echo 
"<span class=\"rojoclaropeque\"> $error </span><br /><br />

"
;}
                  
?>