Hola de nuevo.
Por ahora he probado con dos nuevas opciones con el archivo "inc/editar_usuario.php".
- En la primera opción la dirección del formulario hacía "confirmar-editar-usuario.php" y a la vez incluyendo un campo oculto que recoja y envie el valor del id_usuario:
Código HTML:
Ver original<form method="post" action="inc/confirmar-editar-usuario.php" enctype="multipart/form-data" class="form">
<input type="hidden" name="id_usuario" value="<?php echo $id_usuario;?>" />
Luego en el archivo "confirmar-editar-usuario.php" recojo todos los campos, hago la actualización y ya si es correcta hace la redirección:
Código PHP:
Ver originalif($editar_usuario_query = mysqli_query($conexion, $query)){ header("Location: http://---.com/jose_c/usuarios.php?id=$id_usuario");
}
else {
echo "Error de edición". confirmarConsulta($editar_usuario_query);
}
Quedaría entonces así:
usuarios.php
Código PHP:
Ver original<article>
<h2>Preferencias del usuario</h2>
<?php
if(isset($_GET['source'])){ $source = $_GET['source'];
}
else{
$source = "";
}
switch ($source) {
case 'editar_usuario':
include "inc/editar_usuario.php";
break;
default:
include "inc/usuario.php";
break;
}
?>
</article>
inc/editar_usuario.php
Código HTML:
Ver original<form method="post" action="inc/confirmar-editar-usuario.php" enctype="multipart/form-data" class="form">
<input type="hidden" name="id_usuario" value="<?php echo $id_usuario;?>" />
inc/confirmar-editar-usuario.php
Código PHP:
Ver originalif($editar_usuario_query = mysqli_query($conexion, $query)){ header("Location: http://---.com/jose_c/usuarios.php?id=$id_usuario");
}
else {
echo "Error de edición". confirmarConsulta($editar_usuario_query);
}
- En la segunda opción que se me ocurre sería con variables en la url a traves de $_GET y que al enviar el formulario coja la siguiente ruta en el mismo archivo (en este caso "inc/editar_usuario_opcion_get.php") y que a la vez edite y luego haga la redirección, por ejemplo algo así:
Código HTML:
Ver original<form method="post" action="inc/editar_usuario_opcion_get.php?c_editar=1&id=<?php echo $id_usuario; ?>" enctype="multipart/form-data" class="form">
Código PHP:
Ver original// ----- Si existe c_editar por la url ----- //
if(isset($_GET['c_editar'])){ $c_editar = $_GET['c_editar'];
$id = $_GET['id'];
//Aquí hago la edición
//Fin aquí hago la edición
//Redirijo
header("Location: http://...com/jose_c/usuarios_get.php?id=$id"); }
// ----- Fin Si existe c_editar por la url ----- //
Y ahora también sale perfectamente.
Quedaría entonces algo como esto:
usuarios_get.php
Código PHP:
Ver original<article>
<h2>Preferencias del usuario</h2>
<?php
if(isset($_GET['source'])){ $source = $_GET['source'];
}
else{
$source = "";
}
switch ($source) {
case 'editar_usuario':
include "inc/editar_usuario_opcion_get.php";
break;
default:
include "inc/usuario.php";
break;
}
?>
</article>
inc/editar_usuario_opcion_get.php
Código HTML:
Ver original<form method="post" action="inc/editar_usuario_opcion_get.php?c_editar=1&id=<?php echo $id_usuario; ?>" enctype="multipart/form-data" class="form">
Código PHP:
Ver original// ----- Si existe c_editar por la url ----- //
if(isset($_GET['c_editar'])){ $c_editar = $_GET['c_editar'];
$id = $_GET['id'];
//Aquí hago la edición
//Fin aquí hago la edición
//Redirijo
header("Location: http://...com/jose_c/usuarios_get.php?id=$id"); }
// ----- Fin Si existe c_editar por la url ----- //
¿Cual de las dos maneras sería la mejor? o incluso ¿qué otra opción podría tener en cuenta?
Gracias de nuevo, saludos.