Ir al contenido


Foto

php, al editar no me redirecciona a la otra pagina


  • Por favor identifícate para responder
11 respuestas en este tema

#1 matteomatico

matteomatico

    Member

  • Miembros
  • PipPip
  • 31 mensajes

Escrito 12 junio 2012 - 06:55

hola amigos yo denuevo...

tengo 3 archivos

editar.php
class.php
listar_usuarios.php

Hago un listar de los usuarios a traves de mi archivo listar_usuario.php
al momento de hacer la edicion de un usuario (editar.php) este se modifica pero a traves de un javascript (que esta dentro de un metodo "class.php") lo redirecciono al archivo listar_usuarios.php...
el problema es que modifica al usuario, pero se queda pegado en el mismo editar.php y no se redirecciona

AQUI EL CODIGO... PORFA AYUDA...
---------------
editar.php
--------------

<?php
require_once("class/class.php");
$tra=new Trabajo();

// esto quiere decir si $_post["grabar"] contiene datos y si se ha echo post en la pagina
if(isset($_POST["grabar"]) and $_POST["grabar"]== "si")
{
//se sale de la funcion
$tra->edit_usuarios($_POST["nombres"],$_POST["apellidop"],$_POST["apellidom"],$_POST["direccion"],$_POST["fono"],$_POST["celular"],$_POST["id"]);
exit;

}
$reg=$tra->get_usuarios_rut($_GET["id"]);

?>


<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"><!-- permite e indica al php y al htm que tipo de cotejamiento trabajaremos-->
<title>Editar Usuarios</title>

<script languaje="javascript" type="text/javascript" src="js/funciones.js"></script>
</head>
<body onLoad="limpiar();"
<center>

<form name="FrmIngresar" action="editar.php" method="post">
<table width="438" align="Center" >
  <tr><td align="center" valign="top" colspan="2">
<h2>Ingrese La Informacion a Modificar</h2></td></tr>


<tr><td valign="top" align="right">Nombres:</td>

<td valign="top" align="left"><input type="text" name="nombres" value="<?php echo $reg[0]["USU_NOMBRES"];?>"></td></tr>

<tr><td valign="top" align="right">Apellido Paterno:</td>


<td valign="top" align="left"><input type="text" name="apellidop" value="<?php echo $reg[0]["USU_APELLIDO_PATERNO"];?>"></td></tr>

<tr><td valign="top" align="right">Apellido Materno:</td>

<td valign="top" align="left"><input type="text" name="apellidom" value="<?php echo $reg[0]["USU_APELLIDO_MATERNO"];?>"></td></tr>

<tr><td valign="top" align="right">Dirección:</td>

<td valign="top" align="left"><input type="text" name="direccion" value="<?php echo $reg[0]["USU_DIRECCION"];?>"></td></tr>

<tr><td valign="top" align="right">Telefono:</td>

<td valign="top" align="left"><input type="text" name="fono" value="<?php echo $reg[0]["USU_FONO"];?>"></td></tr>

<tr><td valign="top" align="right">Celular:</td>

<td valign="top" align="left"><input type="text" name="celular" value="<?php echo $reg[0]["USU_CELULAR"];?>"></td></tr>

<!-- LINEA HORIZONTAL LARGA-->
<tr><td valign="top" align="center" colspan="2"><hr />

<input type="hidden" name="grabar" value="si">
<input type="hidden" name="id" value="<?php echo $_GET["id"];?>">

<input type="button" value="Volver" title="Volver" onClick="window.location='listar_usuarios.php';">
&nbsp;&nbsp;||&nbsp;&nbsp;
<input type="button" value="Editar" title="Editar" onClick="Validar_Vacios_Editar();"></td></tr></table></form>

</center>
</body>
</html>


------------
class.php
...............

<?php
class Conectar
{
//metodo que contienen las variables para la conexion
public static function Con()
{
// 1) $conexion=mysql_connect("localhost","root","");

$conexion=mysql_connect("localhost","root","");
//forma de cotejamiento con la cual se va a trabajar(para que permita ingresar tildes)
mysql_query("SET NAMES 'utf8'");
//indiquemos el nombre bd con cual se va a trabajar
//2) mysql_select_db("sodescom");

mysql_select_db("sodescom");

return $conexion;
}
}

class Trabajo
{
//atributo usuarios
private $usuarios;
public function __construct()
{
//creamos un arreglo llamado usuarios qen el cual se guardara informacion de la tabla usuario
$this->usuarios=array();
}
//metodo que listara los usuarios
public function get_usuarios()
{
$sql="SELECT * FROM USUARIO";
$res=mysql_query($sql, Conectar::Con());
//mysql_fetch_assoc se utiliza para trabajar con array multidimensional
while($reg=mysql_fetch_assoc($res))
{
//usuarios recibe cada uno de los registros que tiene la tabla usuarios
$this->usuarios[]=$reg;

}
return $this->usuarios;
}

public function add_usuarios($rut,$contrasena,$nombres,$apellidop,$apellidom,$direccion,$fono,$celular)
{
$sql="insert into usuario (USU_RUT, USU_PASS, USU_NOMBRES, USU_APELLIDO_PATERNO, USU_APELLIDO_MATERNO, USU_DIRECCION, USU_FONO, USU_CELULAR)  values('$rut','$contrasena','$nombres','$apellidop','$apellidom','$direccion','$fono','$celular')";

$res=mysql_query($sql,Conectar::Con());
echo "<script type='text/javascript'>
alert('Usuario Ingresado Correctamente');
windows.location = 'index.php';
</script>";
}


public function get_usuarios_rut($rut)
{
$sql="select *from usuario where USU_RUT='$rut'";
$res=mysql_query($sql,Conectar::Con());
while($reg=mysql_fetch_assoc($res))
{
$this->usuarios[]=$reg;
}

return $this->usuarios;
}


public function edit_usuarios($nombres,$apellidop,$apellidom,$direccion,$fono,$celular,$rut)
{
$sql="update usuario set USU_NOMBRES='$nombres',USU_APELLIDO_PATERNO='$apellidop', USU_APELLIDO_MATERNO='$apellidom', USU_DIRECCION='$direccion', USU_FONO='$fono', USU_CELULAR='$celular' where USU_RUT='$rut'";

//$sql="update usuario"
//." set "
//."USU_NOMBRES='$nombres',"
//."USU_APELLIDO_PATERNO='$apellidop',"
//."USU_APELLIDO_MATERNO='$apellidom', "
//."USU_DIRECCION='$direccion',"
//."USU_FONO='$fono',"
//."USU_CELULAR='$celular'"
//."where"
//."USU_RUT='$rut'";

$res=mysql_query($sql,Conectar::Con());
echo "<script type='text/javascript'>
alert ('El registro Ha Sido Modificado Correctamente');
windows.location ='listar_usuarios.php';
</script>";


}

}


?>


------------------------------
listar_usuarios.php
-------------------------------

<?php
require_once ("class/class.php");
?>
<html>
<head>
<!-- permite e indica al php y al htm que tipo de cotejamiento trabajaremos-->
<meta http-equiv="content-type" content="text/html; charset=utf-8">

<title>
Listado De Usuarios
</title>
<!-- javascript-->
<!-- <script type="text/javascript" language="javascript" src="js/funciones.js"></script> -->
<link href="css/estilos.css" type="text/css" rel="stylesheet" />
</head>
<body>
<center><h1>Lista de Usuarios</h1></center>

<table align="center">

<tr style="background-Color:#999999">
<td valign="top" align="Left" width"150">Nombre</td>
<td valign="top" align="Center" width"150">Apellidos</td>
<td valign="top" align="Center" width"150">Direccion</td>
<td valign="top" align="Center" width"150">Telefono</td>
<td valign="top" align="Center" width"150">Celuar</td>
<td valign="top" align="Center" width"50">Editar</td>
<td valign="top" align="Center" width"50">Eliminar</td>
</tr>
<?php
//instancia de la clase insertar
$tra=new Trabajo();
$usuario=$tra->get_usuarios();
for($i=0;$i<count($usuario);$i  )
{?>

<tr id="<?php echo "ide_&i";?>" class="cambiar">


<td valign="top" align="left" width="150">
<?php
echo $usuario[$i]["USU_NOMBRES"];
?>
</td>

<td valign="top" align="Center" width="150">
<?php
$apellidos=$usuario[$i]["USU_APELLIDO_PATERNO"]." ".$usuario[$i]["USU_APELLIDO_MATERNO"];
echo $apellidos;
?>
</td>

<td valign="top" align="Center" width="150">
<?php
echo $usuario[$i]["USU_DIRECCION"];
?>
</td>

<td valign="top" align="Center" width="150">
<?php
echo $usuario[$i]["USU_FONO"];
?>
</td>

<td valign="top" align="Center" width="150">
<?php
echo $usuario[$i]["USU_CELULAR"];
?>
</td>

<td valign="top" align="Center" width="50">
<!-- permitimos hacer referencia al rut del usuario que corresponde y al momento de hacer clic en la imagen redireccione a editar.php
    el javascript se hace para esconder la referencia del rut del usuario para posteriores usos de hackers-->
<a href="javascript:void(0);" onClick="window.location='editar.php?id=<?php echo $usuario[$i]["USU_RUT"];?>';" title="Editar Usuario"><img src="img/editar.jpg" border="0"></a>

</td>

<td valign="top" align="Center" width="50">
<a href="javascript:void(0);" onClick="windows.location='eliminar.php?id=<?php echo $usuario[$i]["USU_RUT"];?>';" title="Eliminar Usuario"><img src="img/eliminar.jpg" border="0"></a>
</td>


</tr>
<?php
}
?>
</table></body></html>






  • 0

#2 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 13 junio 2012 - 07:52

Para reenviar en javascript debe ser de esta forma:

[js]windows.location.href = 'listar_usuarios.php';[/js]

Saludos.
  • 0

#3 matteomatico

matteomatico

    Member

  • Miembros
  • PipPip
  • 31 mensajes

Escrito 13 junio 2012 - 12:53

gracias enecumene...
primero disculpa por haber puesto el codigo de forma desordenada, ahora sé como hacerlo...

te comento hice la modificacion, pero sabes no me resulto! : ahora la otra vez me diste una solucion con css... te lo pregunto por que soy novato y toy guiandome con los tutoriales que hace cesar..

parece que el problema es del archivo class.php al editar lo hace pero no redirecciona...
que podra ser???
  • 0

#4 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 13 junio 2012 - 06:12

Intenta quitar windows:

[js]location.href = 'listar_usuarios.php';[/js]

Tambièn es recomendable colocar el link completo para evitar menos problemas.

Saludos.
  • 0

#5 matteomatico

matteomatico

    Member

  • Miembros
  • PipPip
  • 31 mensajes

Escrito 13 junio 2012 - 07:46

enecumene, no pasa nada... no resulto!!! (li) no entiendo que pasa, supuestamente debiera resultar...
  • 0

#6 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 14 junio 2012 - 10:49

Bueno hagamos un pequeño cambio pues:

public function edit_usuarios($nombres,$apellidop,$apellidom,$direccion,$fono,$celular,$rut)
    {
      $sql="update usuario set USU_NOMBRES='$nombres',USU_APELLIDO_PATERNO='$apellidop', USU_APELLIDO_MATERNO='$apellidom', USU_DIRECCION='$direccion', USU_FONO='$fono', USU_CELULAR='$celular' where USU_RUT='$rut'";
         
      $res=mysql_query($sql,Conectar::Con());
    // echo "<script type='text/javascript'>
    //alert ('El registro Ha Sido Modificado Correctamente');
    // windows.location ='listar_usuarios.php';
    // </script>";
   
  header("listar_usuarios.php");
 
    }
 
}


Saludos.
  • 0

#7 matteomatico

matteomatico

    Member

  • Miembros
  • PipPip
  • 31 mensajes

Escrito 14 junio 2012 - 04:01

mmm!!! nada de nada...  :angry:
  • 0

#8 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 14 junio 2012 - 04:23

mmm!!! nada de nada...  :angry:


Perdon, omiti algo:

header("location: listar_usuarios.php");

  • 0

#9 razadi

razadi

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 681 mensajes
  • LocationMéxico D.F.

Escrito 14 junio 2012 - 06:34

Saludos en php es como dice enecumene:


header("Location: pagina.php");


Y lo puedes hacer con html de la siguiente manera:


<META HTTP-EQUIV="Refresh" CONTENT="0;URL=pagina.php">


pero recuerda que, dependes del browser para lograrlo, "al menos es la experiencia en micaso que uso las dos y sólo lo consigo hacer que se recargue en Chrome y Firefox pero en IE nada y tengo la ver. 9"

espero te sirva, slaudos...
  • 0

#10 matteomatico

matteomatico

    Member

  • Miembros
  • PipPip
  • 31 mensajes

Escrito 14 junio 2012 - 08:36

gracias por la ayuda por fin pude lograr resolverlo... lo hice de la siguiente manera.. navegando y buseando por internet di con esta funcion "document.location.href"



public function edit_usuarios($nombres,$apellidop,$apellidom,$direccion,$fono,$celular,$rut)
{
$sql="update usuario set USU_NOMBRES='$nombres',USU_APELLIDO_PATERNO='$apellidop', USU_APELLIDO_MATERNO='$apellidom', USU_DIRECCION='$direccion', USU_FONO='$fono', USU_CELULAR='$celular' where USU_RUT='$rut'";

$res=mysql_query($sql,Conectar::Con());
echo "<script type='text/javascript'>
alert ('El registro Ha Sido Actualizado Correctamente');
document.location.href ='listar_usuarios.php';
</script>";





mil gracias igual tengo varias preguntas lo mas seguro es que vuelva a postear, espero no importunar...
  • 0

#11 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 15 junio 2012 - 07:59

Bueno, con eso sólo te funciona con firefox, chrome y opera pero no con IE :D, es un lío pues, es mejor usarlo desde PHP.

Saludos.

  • 0

#12 matteomatico

matteomatico

    Member

  • Miembros
  • PipPip
  • 31 mensajes

Escrito 15 junio 2012 - 09:01

hola!!! no contaba con eso... pero recien lei tu post y probe con internet explorer y me funciono perfectamente...
de todas maneras, la solucion que me diste me funco al instante pero queria que se me arrojara un mensaje que estaba editado el registro tal asi como lo hace java...

  • 0




IP.Board spam blocked by CleanTalk.