Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/11/2011, 08:16
Avatar de Soir
Soir
 
Fecha de Ingreso: marzo-2011
Mensajes: 40
Antigüedad: 13 años, 1 mes
Puntos: 1
Problema con Header

Hola.

Llevo desde ayer revisando el código y no encuentro el error.

Tengo una página para registrar unas cuentas en una base de datos, y si la sentencia se ejecuta correctamente, el sistema debería llevarte a otra página automáticamente.

El problema es que al registrar los datos en la base de datos, no te lleva a la siguiente web, es como si actualizara la pagina, he probado a poner el header al principio del php, para comprobar si funciona, y en ese caso si que lleva instantáneamente al entrar en la web a otra distinta.

Pense que podía ser por los SQL, y los elimine, pero sigue sin funcionar.

Os dejo el código que utilizo:

Código PHP:
<?php
header
('Content-Type: text/html; charset=iso-8859-1');
require_once(
"funciones/config.php");
require_once(
"funciones/configuracion.php");
require 
'class.phpmailer.php';
$codigoproceso substrmd5(microtime()), 2020);
// Funciones - Mensajes Generales de PERFECTO
function system_message_verify $msg ){

    
header("Location: manage.php?id=system-message-verify&msg=".$msg.""); exit();

}
session_start();

if(!empty(
$_POST["security"])){

    if(
$_SESSION["security"]  != $_POST["security"]) { $errors[] = "<font color='red'>Codigo de verificación erroneo.</font>"; }

}

$security rand(10000100000);
$_SESSION["security"] = $security;



if(!empty(
$_POST["accountname"]) && !empty($_POST["password"]) && !empty($_POST["password2"]) && !empty($_POST["email"]) && $_POST["expansion"] != "" && !empty($_POST["security"])){

// Conexión MYSQL - NO editar
    
$mysql_connect mysqli_connect($mysql["host"], $mysql["username"], $mysql["password"], $mysql["puerto"]) or die("¡Ups! Hay un error, vuelve más tarde.");
    
mysqli_select_db($mysql_connect$mysql["realmd"]) or die("¡Ups! Hay un error, vuelve a intentarlo más tarde");
    
    
$post_accountname mysqli_real_escape_string($mysql_connecttrim(strtoupper($_POST["accountname"])));
    
$post_firstname mysqli_real_escape_string($mysql_connecttrim($_POST["firstname"]));
    
$post_lastname mysqli_real_escape_string($mysql_connecttrim($_POST["lastname"]));
    
$post_password mysqli_real_escape_string($mysql_connecttrim(strtoupper($_POST["password"])));
    
$post_password_final mysqli_real_escape_string($mysql_connectSHA1("".$post_accountname.":".$post_password.""));
    
$post_password2 trim(strtoupper($_POST["password2"]));
    
$post_email mysqli_real_escape_string($mysql_connecttrim($_POST["email"]));
    
$post_expansion mysqli_real_escape_string($mysql_connecttrim($_POST["expansion"]));
    
$post_sexo mysqli_real_escape_string($mysql_connecttrim($_POST["sexo"]));
    
$fecha time();
    
$timerecruit date("Y-m-d H:i:s",$fecha);
    
    
$check_account_query mysqli_query($mysql_connect"SELECT COUNT(*) FROM account WHERE username = '".$post_accountname."'");
    
$check_account_results mysqli_fetch_array($check_account_query);
    if(
$check_account_results[0]!=0){ $errors[] = "<font color='red'>La cuenta ya existe.</font>"; }
    if(
strlen($post_accountname) > 32) { $errors[] = "<font color='red'>La cuenta no debe pasar las 32 letras.</font>"; }
    if(
strlen($post_password) < 6) { $errors[] = "<font color='red'>La contraseña tiene que ser mayor de 6 letras.</font>"; }
    
    if(
strlen($post_accountname) < 3) { $errors[] = "<font color='red'>La cuenta tiene que ser mayor de 3 letras.</font>"; }
    if(
strlen($post_accountname) > 32) { $errors[] = "<font color='red'>La cuenta no debe pasar las 32 letras.</font>"; }
    if(
strlen($post_password) < 6) { $errors[] = "<font color='red'>La contraseña tiene que ser mayor de 6 letras.</font>"; }
    if(
strlen($post_password) > 32) { $errors[] = "<font color='red'>La contraseña no debe de ser mayor de 32 letras.</font>"; }
    if(
strlen($post_email) > 64) { $errors[] = "<font color='red'>El email no debe de ser mayor de 64 letras.</font>"; }
    if(
strlen($post_email) < 8) { $errors[] = "<font color='red'>El email debe de ser mayor de 8 letras.</font>"; }
    if(!
ereg("^[0-9a-zA-Z%]+$"$post_accountname)) { $errors[] = "<font color='red'>La cuenta tiene que estar bien escrita.</font>"; }
    if(!
ereg("^[0-9a-zA-Z%]+$"$post_password)) { $errors[] = "<font color='red'>La contraseña tiene que estar bien escrita.</font>"; }
    if(!
ereg("^[0-2%]+$"$post_expansion)) { $errors[] = "<font color='red'>Debes seleccionar una expansión para tu cuenta.</font>"; }
    if(
strlen($post_expansion) > 1) { $errors[] = "<font color='red'>Debes seleccionar al menos 1 expansión.</font>"; }
    if(
$post_accountname == $post_password) { $errors[] = "<font color='red'>La cuenta no puede ser igual que la contraseña.</font>"; }
    if(
$post_password != $post_password2) { $errors[] = "<font color='red'>Las contraseñas no coinciden.</font>"; }
    
    
    
    if(!
is_array($errors)){
    

        
        [
B]header('Location: http://www.example.com/');[/B]
    }
    
    
mysqli_close($mysql_connect);

}
¿Alguien sabe que ocurre?