Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Error con solucion?

Estas en el tema de Error con solucion? en el foro de Frameworks JS en Foros del Web. Buenas, baje este registro usando algo de ajax de no recuerdo que web, aunque lo he modificado bastante. La duda que tengo es que al ...
  #1 (permalink)  
Antiguo 08/03/2011, 14:31
 
Fecha de Ingreso: mayo-2009
Mensajes: 232
Antigüedad: 14 años, 11 meses
Puntos: 3
Error con solucion?

Buenas, baje este registro usando algo de ajax de no recuerdo que web, aunque lo he modificado bastante.

La duda que tengo es que al final del codigo esta el :

echo "Registro correcto";

Que se escribe en la misma web, pero lo que yo quiero es redirigir a otra web con un :

header('Location: paso2.php');

Si lo cambio tal cual por el echo me manda el siguiente error:

Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\game\registro\form.php:88) in C:\AppServ\www\game\registro\form.php on line 129


Código PHP:
<?php
include '..\conexion\acceso_db.php';
function 
validateUsername($name){
    
//NO cumple longitud minima
    
if(strlen($name) < 4)
        return 
false;
    
//SI longitud pero NO solo caracteres A-z
    
else if(!preg_match("/^[a-zA-Z]+$/"$name))
    
        return 
false;
        
    
// SI longitud, SI caracteres A-z
    
    
    
else
        return 
true;
}

function 
validatePassword1($password1){
    
//NO tiene minimo de 5 caracteres o mas de 12 caracteres
    
if(strlen($password1) < || strlen($password1) > 12)
        return 
false;
    
// SI longitud, NO VALIDO numeros y letras
    
else if(!preg_match("/^[0-9a-zA-Z]+$/"$password1))
        return 
false;
    
// SI rellenado, SI email valido
    
else
        return 
true;
}

function 
validatePassword2($password1$password2){
    
//NO coinciden
    
if($password1 != $password2)
        return 
false;
    else
        return 
true;
}

function 
validateEmail($email){
    
//NO hay nada escrito
    
if(strlen($email) == 0)
        return 
false;
    
// SI escrito, NO VALIDO email
    
else if(!filter_var($_POST['email'], FILTER_SANITIZE_EMAIL))
        return 
false;
    
// SI rellenado, SI email valido
    
else
        return 
true;
}

//Comprobacion de datos
//variables valores por defecto
$username "";
$usernameValue "";
$password1 "";
$password2 "";
$email "";
$emailValue "";

//Validacion de datos enviados
if(isset($_POST['send'])){
    if(!
validateUsername($_POST['username']))
        
$username "error";
    if(!
validatePassword1($_POST['password1']))
        
$password1 "error";
    if(!
validatePassword2($_POST['password1'], $_POST['password2']))
        
$password2 "error";
    if(!
validateEmail($_POST['email']))
        
$email "error";
    
    
//Guardamos valores para que no tenga que reescribirlos
    
$usernameValue $_POST['username'];
    
$emailValue $_POST['email'];
    
    
    
//Comprobamos si todo ha ido bien
    
if($username != "error" && $password1 != "error" && $password2 != "error" && $email != "error")
        
$status 1;
}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="es-ES">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Cómo validar un formulario utilizando PHP y Javascript (jQuery) | Web.Ontuts</title>
    <link rel="stylesheet" href="main.css" type="text/css" media="screen" />
</head>
<body>
<table width="100%" border="1">
  <tr>
    <td height="50" colspan="2"><img src="../imagenes/logo.jpg" width="229" height="50" /></td>
  </tr>
  <tr>
    <?php if(!isset($status)): ?>
  <td>d fd</td>
    <td><form id="form1" action="form.php" method="post">
                <label for="username">Usuario</label>
            <input tabindex="1" name="username" id="username" type="text" class="text <?php echo $username ?>" value="<?php echo $usernameValue ?>" />
<span id="req-username" class="requisites <?php echo $username ?>">Caracteres A-Z, min 4.</span>
            <label for="password1">Contraseña</label>
                <input tabindex="2" name="password1" id="password1" type="password" class="text <?php echo $password1 ?>" value="" />
                <span id="req-password1" class="requisites <?php echo $password1 ?>">Min 5 caracteres (A-Z,0-9</span>).
                <label for="password2">Repetir Contraseña </label>
                
                <input tabindex="3" name="password2" id="password2" type="password" class="text <?php echo $password2 ?>" value="" />                
                <span id="req-password2" class="requisites <?php echo $password2 ?>">Repetir correctamente.</span>
                
                
                
                <label for="email">E-mail </label>
                <input tabindex="4" name="email" id="email" type="text" class="text <?php echo $email ?>" value="<?php echo $emailValue ?>" />
                <span id="req-email" class="requisites <?php echo $email ?>">Un e-mail válido por favor</span>
                <div>
                    <input tabindex="6" name="send" id="send" type="submit" class="submit" value="Enviar formulario" />
                </div>
            </form></td>
  </tr>
</table>

    <?php else:

include 
'..\conexion\acceso_db.php';

$password md5($_POST[password1]);
$diadate ("Y:n:d");
mysql_query"INSERT usuario (nick,email,pass,fecharegistro) VALUES ('$_POST[username]','$_POST[email]','$password','$dia')");


 echo 
"Registro correcto";
 endif;

  
?>
        </div>
</div>
    <script type="text/javascript" src="jquery.js"></script> 
    <script type="text/javascript" src="main.js"></script>
</body>
</html>


Muchas gracias!
  #2 (permalink)  
Antiguo 09/03/2011, 07:19
 
Fecha de Ingreso: mayo-2009
Mensajes: 232
Antigüedad: 14 años, 11 meses
Puntos: 3
Respuesta: Error con solucion?

De verdad que nadie lo sabe?

Imaginaba que seria un fallo simple, de los que te cuentan y dices: ostia claro..

Espero alguien me atienda
  #3 (permalink)  
Antiguo 09/03/2011, 08:02
Avatar de grails  
Fecha de Ingreso: febrero-2011
Mensajes: 44
Antigüedad: 13 años, 2 meses
Puntos: 6
Respuesta: Error con solucion?

Hola,

Para que un Header funcione no debes haber enviado nada anteriormente, por lo tanto el error es que estas enviando algo antes que el header.

Ej de error:

echo 'hola mundo';
header('Location: /mipagina.php');

El ejemplo de arriba daría el mismo error que mencionas.
  #4 (permalink)  
Antiguo 09/03/2011, 08:10
 
Fecha de Ingreso: mayo-2009
Mensajes: 232
Antigüedad: 14 años, 11 meses
Puntos: 3
Respuesta: Error con solucion?

Estube leyendo y encontre lo que significaba el error, el problema es que nunca e trabajado con jquery,ni ajax, y no se como realizar ese redireccionamiento..

El echo esque es un formulario con ajax, para verificar cada campo, y agrego en la base de datos, al pulsar enviar carga la misma pagina sin cargarla realmente. Yo quiero solo que, al pulsar enviar y comprovar que todo esta correcto, agregar a la base y redireccionar a otra diferente.
  #5 (permalink)  
Antiguo 09/03/2011, 08:19
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola, phyronx

Muevo tu tema al foro de AJAX desde Web general.

Saludos,

Etiquetas: solucion
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:20.