When I put the data in the form, the user is created for me, but it does not redirect me to the page that I put with the name parameter .
Registration.php:
require_once("plantillas/inicio-html.inc.php");
include_once "app/Usuario.inc.php";
include_once "app/ValidadorRegistro.inc.php";
include_once "app/Conexion.inc.php";
include_once "app/RepositorioUsuario.inc.php";
include_once "app/Redireccion.inc.php";
if (isset($_POST["enviar"])){
Conexion::abrir_conexion();
$validador = new ValidadorRegistro($_POST["nombre"], $_POST["email"], $_POST["clave1"], $_POST["clave2"], Conexion :: obtener_conexion());
if ($validador -> registro_valido()){
$usuario = new Usuario('', $validador-> obtener_nombre(), $validador -> obtener_email(), password_hash($validador -> obtener_clave(), PASSWORD_DEFAULT), '', '');
$usuario_insertado = RepositorioUsuario :: insertar_usuario(Conexion :: obtener_conexion(), $usuario);
if ($usuario_insertado){
//Redirigir al registro-correcto
Redireccion::redirigir(RUTA_REGISTRO_CORRECTO.'?nombre='.$usuario -> obtener_nombre());
}
}
Conexion::cerrar_conexion();
}
?>
<div class="card-body">
<form role="form" method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>">
<?php
if(isset($_POST["enviar"])){
include_once "plantillas/registro_validado.inc.php";
}else{
include_once "plantillas/registro_vacio.inc.php";
}
?>
</form>
</div>
config.php (this file is already included in one of the other files):
define("SERVIDOR", "http://localhost:8080/prueba");
define("RUTA_REGISTRO", SERVIDOR."/registro.php");
define("RUTA_REGISTRO_CORRECTO", SERVIDOR."/registro_correcto.php");
define("RUTA_LOGIN", SERVIDOR."/login.php")
record_successful.php:
if (isset($_GET['nombre']) && !empty($_GET['nombre'])){
$nombre = $_GET['nombre'];
}else{
Redireccion::redirigir(SERVIDOR);
}
I don't think any more code is needed, since what I've added for the redirect is there.
Solution in registry.php: