Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/01/2006, 17:38
SimDalom
 
Fecha de Ingreso: noviembre-2001
Ubicación: Pamplona - Marbella (Spain)
Mensajes: 298
Antigüedad: 22 años, 5 meses
Puntos: 0
Error con un formulario

Hola!!!

Tengo el archvio templates.php en el que tengo la función:

Código PHP:
function registerForm($return$error ""$username ""$firstname ""$lastname ""$email "") {
    
pageHeader("Regístrese");
    echo <<<EOT
<p>
 <font color="#FF0000" size="+1">
{$error}</font><br>
 Por favor rellene el formulario que le presentamos. Podrá acceder a su cuenta inmediatamente.
</p>
<form action='index.php?page=register&return=
{$return}' method='POST'>
 <input type='hidden' name='register2' value='true'>
 <p>DNI: <input type='text' name='username' value='
{$username}' size='50'></p>
 <p>Nombre: <input type='text' name='firstname' value='
{$firstname}' size='50'></p>
 <p>Apellidos: <input type='text' name='lastname' value='
{$lastname}' size='50'></p>
 <p>E-Mail: <input type='text' name='email' value='
{$email}' size='50'></p>
 <p>Dirección: <input type='text' name='direccion' size='50'></p>
 <p>Localidad: <input type='text' name='localidad' size='50'></p>
 <p>Provincia: <input type='text' name='provincia' size='50'></p>
 <p>Código Postal: <input type='text' name='cp' size='10'></p>
 <p>Teléfono: <input type='text' name='telefono' size='20'></p>
 <p>Fax: <input type='text' name='fax' size='20'></p>
 <p>Contraseña: <input type='password' name='password' size='50'></p>
 <p>Confirmar contraseña: <input type='password' name='confirm' size='50'></p>
 <input type='submit' value='Enviar'>
EOT;

Por otra parte el archivo page_register.php que procesa la consulta:

Código PHP:
if (!defined('IN_SUPPORT') || eregi("page_ticket_submit.php",$_SERVER['PHP_SELF'])) {
    die(
"No puede acceder a esta página directamente.");
}

if (!isset(
$_REQUEST['return'])) $_REQUEST['return'] = "ticket_main";

if (isset(
$_POST['register2'])) {
    if (!isset(
$_POST['username']) || $_POST['username'] == "") {
        
callRegisterForm("ERROR: Introduzca un DNI");
    } elseif (!isset(
$_POST['firstname']) || $_POST['firstname'] == "") {
        
callRegisterForm("ERROR: introduzca su nombre");
    } elseif (!isset(
$_POST['lastname']) || $_POST['lastname'] == "") {
        
callRegisterForm("ERROR: Introduzca sus apellidos");
    } elseif (!isset(
$_POST['email']) || $_POST['email'] == "") {
        
callRegisterForm("ERROR: Introduzca una dirección de correo electrónico");
    } elseif (!isset(
$_POST['password']) || $_POST['password'] == "") {
        
callRegisterForm("ERROR: La contraseña no puede estar en blanco");
    } elseif (
$_POST['password'] !== $_POST['confirm']) {
        
callRegisterForm("ERROR: Las contraseñas introducidas no coinciden. Por favor, introduzca la misma contraseña en las dos cajas.");
    } else {
        
$database->safe_query("SELECT username
                                  FROM users
                                  WHERE username='%s'"
,
                                array(
$_POST['username']), __FILE____LINE__);
        if(
$database->get_num_rows() != 0) {
            
callRegisterForm("ERROR: El DNI '{$_POST['username']}' ya existe. Por favor, eliga otro.");
        } else {
            
$database->safe_query("INSERT INTO users
                                      (firstName, lastName, email, username, password, direccion, localidad, provincia, cp, telefono, fax)
                                      VALUES ('%s', '%s', '%s', '%s', '%s', '$direccion', '$localidad', '$provincia', '$cp', '$telefono', '$fax')"
,
                                    array(
$_POST['firstname'], $_POST['lastname'], $_POST['email'],
                                          
$_POST['username'], md5($_POST['password'])),
                                     
__FILE____LINE__);
                 
            echo 
"Se ha registrado con éxito. Ahora puede <a href='index.php?page=login&amp;return={$_REQUEST['return']}'>acceder al sistema</a>";
            
        }
    }
} else {
    
registerForm($_REQUEST['return']);
}

function 
callRegisterForm($error) {
    
$_POST['username'] = isset($_POST['username']) ? $_POST['username'] : "";
    
$_POST['firstname'] = isset($_POST['firstname']) ? $_POST['firstname'] : "";
    
$_POST['lastname'] = isset($_POST['lastname']) ? $_POST['lastname'] : "";
    
$_POST['email'] = isset($_POST['email']) ? $_POST['email'] : "";
    
registerForm($_REQUEST['return'], $error$_POST['username'], $_POST['firstname'], $_POST['lastname'], $_POST['email']);
}
?> 
Al enviar el formulario me aparece siempre el mensaje:

Fecha/Hora: 11/01/2006 12:18:27 AM
Aviso en el archivo '***/page_register.php', línea 91:
Undefined variable: direccion


Qué puede pasar?????

Gracias por adelantado
__________________
SimDalom.com ¿Cómunicación Multimedia? Nosotros nos encargamos de eso, y tú... preocupate de lo importante