entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Editar datos de perfil usuario

Buenas, estoy intentado hacer una seccion para que el usuario puede cambiar sus datos personales, el caso es que no me printa en las cajas, los datos ni los modifica, os dejo el código a ver que fallo veis. He decir que he copiado y pegado con otra sección que tengo de editar post y esa funciona, pero esta al cambiar los datos no, es el mismo sistema se supone

<?php session_start();
require 'config.php';
require 'functions.php';

$conexion = conexion($bd_config);
if (!$conexion) {
    header('Location:error.php');
}

if($_SERVER['REQUEST_METHOD'] == 'POST'){
    $usuario = limpiarDatos($_POST['usuario']);
    $pass = limpiarDatos($_POST['pass']);
    $email = limpiarDatos($_POST['email']);
    $equipo = limpiarDatos($_POST['equipo']);
    $apellidos = limpiarDatos($_POST['apellidos']);
    $id = limpiarDatos($_POST['id']);
    $thub_guardada = $_POST['thumb-guardada'];
    $thumb = $_FILES['thumb'];

    if (empty($thumb['name'])) {
        $thumb = $thub_guardada;
    }else{
        $archivo_subido = '../' . $blog_config['carpeta_imagenes'] . $_FILES['thumb']['name'];
        move_uploaded_file($_FILES['thumb']['tmp_name'], $archivo_subido);
        $thumb = $_FILES['thumb']['name'];
    }
    $statement = $conexion->prepare(
        'UPDATE usuarios SET usuario = :usuario, pass = :pass, email = :email, equipo = :equipo, apellidos = :apellidos, thumb = :thumb WHERE id = :id'
    );

    $statement->execute(array(
        ':usuario'=> $usuario,
        ':pass'=> $pass,
        ':email'=> $email,
        ':equipo'=> $equipo,
        ':apellidos'=> $apellidos,
        ':thumb'=> $thumb,
        ':id'=> $id
    ));

    header('Location: ' . RUTA . 'php/home.php');
}else{
    $id_articulo = id_articulo($_GET['id']);

    if (empty($id_articulo)) {
        //header('Location: ' . RUTA . 'php/home.php');
    }

   $post = obtener_post_por_id($conexion, $id_articulo);

   if (!$post) {
        //header('Location: ' . RUTA . 'php/home.php');
   }

   $post = $post[0];

}
print_r($post);

require '../view/perfil.view.php';
?>

<div class="row portafolio ">
                        <div class="col ">
                            <h2 class="titulo">Perfil de usuario</h2>
                            <p class="text-center">Cambio de los parámetros del perfil
                            </p>
                            <div class="post">
                            <form  class="formulario" method="post" enctype="multipart/form-data"action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>">
                            <input type="hidden" value="<?php echo $post['id']; ?>" name="id">
                                <div class="input-group col-5" style="margin-left:30%;">
                                <div class="input-group-prepend">
                                        <span class="input-group-text"><img src="https://png.icons8.com/ios-glyphs/30/000000/guest-male.png">  </span>
                                    </div>
                                        <input name="email"type="text" class="form-control" placeholder="Email" value="<?php echo $post['email']; ?>">
                                        <br>
                                        <div class="input-group mt-3">
                                    <div class="input-group-prepend">
                                        <span class="input-group-text"><img src="https://png.icons8.com/ios-glyphs/30/000000/password.png"></span>
                                    </div>
                                        <input name="usuario"type="text" class="form-control " placeholder="Nombre" value="<?php echo $post['usuario']; ?>">
                                </div>
                                <br>
                                <div class="input-group mt-3">
                                    <div class="input-group-prepend">
                                        <span class="input-group-text"><img src="https://png.icons8.com/ios-glyphs/30/000000/password.png"></span>
                                    </div>
                                        <input name="apellidos"type="text" class="form-control " placeholder="Apellidos" value="<?php echo $post['apellidos']; ?>">
                                </div>
                                <br>
                                <div class="input-group mt-3">
                                    <div class="input-group-prepend">
                                        <span class="input-group-text"><img src="https://png.icons8.com/ios-glyphs/30/000000/password.png"></span>
                                    </div>
                                        <input name="equipo"type="text" class="form-control " placeholder="Equipo" value="<?php echo $post['equipo']; ?>">
                                </div>
                                <div class="input-group mt-3">
                                    <div class="input-group-prepend">
                                        <span class="input-group-text"><img src="https://png.icons8.com/ios-glyphs/30/000000/password.png"></span>
                                    </div>
                                        <input name="pass"type="password" class="form-control " placeholder="Contraseña" value= "<?php echo $post['pass']; ?>">
                                </div>
                                <input type="file" name="thumb">

                                <input type="hidden" name="thumb-guardada" value="<?php echo $post['thumb']; ?>">
                                <br>
                                <br>
                                <br>
                                    <input class="btn btn-danger" style="margin-left:130%;" type="submit" value="Modificar Articulo">
                                </div>
                            </form>
                            </div>

1voto

Leonardo-Tadei comentado

y el print_r() te muestra algo? La función obtener_post_por_id() funciona bien y devuelve los datos correctos?

0voto

flowcou comentado

He tirado por hacer algo más sencillo, por que me estaba volviendo loco aún así sigo teniendo problemas, a ver si le puedes ver el fallo por que me sale que no tengo definida las variables en el index
Archivo ruta

<?php session_start();

este archivo hace la conexion de la base de datos

include_once '../pruebas/conexion.php';

$id = $_GET['id'];
$equipo = $_GET['equipo'];
$email = $_GET['email'];
$pass = $_GET['pass'];
$thumb = $_GET['thumb'];

$sql_editar = 'UPDATE clasificacion SET equipo=?,email=?,pass=?,thumb=? WHERE id=?';
$sentencia_editar = $pdo->prepare($sql_editar);
$sentencia_editar->execute(array($equipo,$email,$pass,$thumb,$id));

require '../view/perfil.view.php';

esto lo hago para leer lo que hay en la base de datos

<?php
include_once '../pruebas/conexion.php';

$sql_leer = 'SELECT * FROM usuarios';

$gsnet = $pdo->prepare($sql_leer);
$gsnet->execute();

$resultado = $gsnet->fetchAll();

if($_GET){
    $id= $_GET['id'];
    $sql_unico = 'SELECT * FROM usuarios WHERE id=?';

$gsnet_unico = $pdo->prepare($sql_unico);
$gsnet_unico->execute(array($id));

$resultado_unico = $gsnet_unico->fetch();
}
?>

Y este es from que tengo para que el usuario edite sus datos

?php foreach ($resultado as $dato): ?>
<?php if(!$_GET):?>
    <h2>Editar elementos</h2>
<form method="GET" action="editar_usuario.php">
<input type="text" class="form-control" placeholder="<?php echo $dato['equipo']?>" name="equipo" value="<?php echo $resultado_unico ['equipo']?>">
<input type="text" class="form-control" placeholder="<?php echo $dato['email']?>" name="email" value="<?php echo $resultado_unico ['email']?>">
<input type="text" class="form-control" placeholder="<?php echo $dato['pass']?>" name="pass" value="<?php echo $resultado_unico ['pass']?>">
<input type="file" class="form-control" placeholder="<?php echo $dato['thumb']?>" name="thumb" value="<?php echo $resultado_unico ['thumb']?>">
<input type="hidden" name="id" value="<?php echo $resultado_unico['id']?>" >
<button class="btn btn-primary mt-3">Editar</button>
</form>
<?php endif ?>
<?php endforeach ?>

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta