Problema con Header();

MicroPawn Seguir

Gamma
Verificación en dos pasos desactivada
Verificado por Whatsapp
Desde
17 Sep 2013
Mensajes
261
Hola tengo un problema, mi header no me redirige a ningún lado
editarusuario.php
PHP:
<div class="table-responsive border rounded p-1">
                      <table class="table" align="center" style="width:auto; height:20px;">
                        
                      
  <tr>
    <th>ID</th>
    <th >Usuario</th>
    <th >Password</th>
    <th>Créditos</th>
    <th >Activo</th>
    <th >Ban</th>
    <th >Acción</th>
  </tr>

  <tr>
    <?php
include("function.php");
$id = $_GET['id'];
select_id('usuarios','id',$id);

?>
    <form action="" method="post">

                    
                    
  <td><input type="text" value="<?php echo $row->id;?>" name="id" ></td> 
  <td><input type="text" value="<?php echo $row->usuario;?>" name="usuario"></td>
  <td><input type="text" value="<?php echo $row->password;?>" name="password"></td>
  <td><input type="text" value="<?php echo $row->creditos;?>" name="creditos"></td>
  <td><input type="text" value="<?php echo $row->activo;?>" name="activo"></td>
  <td><input type="text" value="<?php echo $row->baneado;?>" name="baneado"></td>
  <td><input type="submit" class="btn btn-success" name="enviar"></td>

</form>
 
  </tr>
 


</table>


   </div>
          
  </div>
          
<?php
 
  if(isset($_POST['enviar'])){
    $field = array("id"=>$_POST['id'], "usuario"=>$_POST['usuario'], "password"=>$_POST['password'], "creditos"=>$_POST['creditos'], "activo"=>$_POST['activo'], "baneado"=>$_POST['baneado']);
    $tbl = "usuarios";
    edit($tbl,$field,'id',$id);
    header("location:index.php");
  }
?>

function.php
Insertar CODE, HTML o PHP:
function edit($tblname,$form_data,$field_id,$id){ //Funcion para editar
    $sql = "UPDATE ".$tblname." SET ";
    $data = array();

    foreach($form_data as $column=>$value){

        $data[] =$column."="."'".$value."'";

    }
    $sql .= implode(',',$data);
    $sql.=" where ".$field_id." = ".$id."";
    return db_query($sql);
}


Trabaja y todo edita los registros pero al darle en submit no me funciona el header no me redirige a ningun lado
 

YeltsinReyes

Lambda
Verificación en dos pasos activada
Verificado por Whatsapp
Verificado por Binance
Desde
16 Feb 2010
Mensajes
2.939
@MicroPawn Tienes que usarlo antes de mostrar algun código en pantalla, por lo tanto subelo arriba de tu html.
 

Adrián Freecss

Eta
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Desde
27 Ene 2014
Mensajes
1.478
Probablemente es porque ya están las cabeceras.

Insertar CODE, HTML o PHP:
<?php
 
if(isset($_POST['enviar'])){
$field = array("id"=>$_POST['id'], "usuario"=>$_POST['usuario'], "password"=>$_POST['password'], "creditos"=>$_POST['creditos'], "activo"=>$_POST['activo'], "baneado"=>$_POST['baneado']);
$tbl = "usuarios";
edit($tbl,$field,'id',$id);
header("location:index.php");
}
?>

Esto colócalo arriba, no hasta abajo. También, cuando pases variables a la BD trata de filtrar la información.
 

MicroPawn

Gamma
Verificación en dos pasos desactivada
Verificado por Whatsapp
Desde
17 Sep 2013
Mensajes
261
muchas gracias a todos , ya intente de varias formas como me dijeron y sigue igual :/ lo unico que me funciono fue utilizar js. de la siguiente forma!


header("Location:index.php");
echo"<script language='javascript'>window.location='index.php'</script>;";
exit();

Que podría ser?

tomare en cuenta lo de filtrar!

Probablemente es porque ya están las cabeceras.

Insertar CODE, HTML o PHP:
<?php
 
if(isset($_POST['enviar'])){
$field = array("id"=>$_POST['id'], "usuario"=>$_POST['usuario'], "password"=>$_POST['password'], "creditos"=>$_POST['creditos'], "activo"=>$_POST['activo'], "baneado"=>$_POST['baneado']);
$tbl = "usuarios";
edit($tbl,$field,'id',$id);
header("location:index.php");
}
?>

Esto colócalo arriba, no hasta abajo. También, cuando pases variables a la BD trata de filtrar la información.
@MicroPawn Tienes que usarlo antes de mostrar algun código en pantalla, por lo tanto subelo arriba de tu html.
 

YeltsinReyes

Lambda
Verificación en dos pasos activada
Verificado por Whatsapp
Verificado por Binance
Desde
16 Feb 2010
Mensajes
2.939
muchas gracias a todos , ya intente de varias formas como me dijeron y sigue igual :/ lo unico que me funciono fue utilizar js. de la siguiente forma!


header("Location:index.php");
echo"<script language='javascript'>window.location='index.php'</script>;";
exit();

Que podría ser?

tomare en cuenta lo de filtrar!
Seguro tienes mas codigo arriba del header bro, asi tienes que trabajarlo.

HTML:
<?php
 
if(isset($_POST['enviar'])){
$field = array("id"=>$_POST['id'], "usuario"=>$_POST['usuario'], "password"=>$_POST['password'], "creditos"=>$_POST['creditos'], "activo"=>$_POST['activo'], "baneado"=>$_POST['baneado']);
$tbl = "usuarios";
edit($tbl,$field,'id',$id);
header("location:index.php");
}
?>

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    
</body>
</html>
 

pmike

Gamma
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
26 Feb 2012
Mensajes
368
Es probable que no llegue a la linea de: header("location:index.php");

y en la funcion --> edit($tbl,$field,'id',$id); pueda tener algun problema.
Tendras que comprobar la funcion 'edit' que pasen todos los parametros de modo correcto.
Yo es lo que haria depurar hasta el header
 

jmdoren

Épsilon
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
31 May 2016
Mensajes
789
varios problemas:
El header debe ir antes de cualquier cosa
Si es una redirección no debe ir nada después
location es con la L mauúscula
después de los dos puntos va un espacio
debería ser así

<?php
if ( $alguna_condicion )
{
header( 'Location: index.php' ); // si es index.php tal vez debería ser Location: /
exit( 0 );
}

// resto del programa
 

explorenew

Gamma
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
29 Sep 2019
Mensajes
287
varios problemas:
El header debe ir antes de cualquier cosa
Si es una redirección no debe ir nada después
location es con la L mauúscula
después de los dos puntos va un espacio
debería ser así

<?php
if ( $alguna_condicion )
{
header( 'Location: index.php' ); // si es index.php tal vez debería ser Location: /
exit( 0 );
}

// resto del programa

Tampoco existe $_POST enviar.
 

¡Regístrate y comienza a ganar!

Beneficios

  • Gana dinero por participar
  • Gana dinero por recomendarnos
  • Descubre ofertas de empleo diariamente
  • Negocios seguros
  • ¡Información premium y más!

Acceder

¿Ya tienes una cuenta? Accede aquí

Arriba