Update with PHP and PDO

0

I'm doing a UPDATE with PDO , previously it worked, but now for some strange reason it does not work and I can not find the error

This is the BackEnd :

<?php session_start();

require 'extras/config.php';
require 'functions.php';

comprobarSession();

    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
        $id = limpiarDatos($_POST['id']);
        $nombre = limpiarDatos($_POST['nombre']);
        $apellidos = limpiarDatos($_POST['apellidos']);
        $profesion = limpiarDatos($_POST['profesion']);
        $ciudad = limpiarDatos($_POST['ciudad']);
        $puesto = limpiarDatos($_POST['puesto']);
        $empresa = limpiarDatos($_POST['empresa']);
        $responsabilidades = limpiarDatos($_POST['responsabilidades']);
        $habilidades = limpiarDatos($_POST['habilidades']);
        $carrera = limpiarDatos($_POST['carrera']);
        $universidad = limpiarDatos($_POST['universidad']);
        $extra = limpiarDatos($_POST['extra']);
        $thumb_guardada = $_POST['thumb-guardada'];
        $thumb = $_FILES['thumb'];
        $cv_guardado = $_POST['curriculum-guardado'];
        $cv = $_FILES['curriculum'];

        if (empty($thumb['name'])) {
            $thumb = $thumb_guardada;
        } else {
            $archivo_subido = 'images/' . $_FILES['thumb']['name'];
            move_uploaded_file($_FILES['thumb']['tmp_name'], $archivo_subido);
            $thumb = $_FILES['thumb']['name'];
        }

        if (empty($cv['name'])) {
            $cv = $cv_guardado;
        } else {
            $dir_subido = 'curriculum/';
            $cv_subido = $dir_subido . basename($_FILES['curriculum']['name']);
            move_uploaded_file($_FILES['curriculum']['tmp_name'], $cv_subido);
            $cv = $_FILES['curriculum']['name'];
        }

        $errores = '';

        if (empty($nombre) or empty($apellidos)) {
        $errores .= '<li>Por favor rellena todos los datos correctamente</li>';
        } else {
            try {
                $conexion = new PDO('mysql:host=localhost;dbname=empleos', 'root', '');
            } catch (PDOException $e) {
                echo "Error: " . $e->getMessage();
            }

            $statement = $conexion->prepare(
        'UPDATE userslog
        SET
        nombre = :nombre,
        apellidos = :apellidos,
        profesion = :profesion,
        ciudad = :ciudad,
        puesto = :puesto,
        empresa = :empresa,
        responsabilidades = :responsabilidades,
        habilidades = :habilidades,
        carrera = :carrera,
        universidad = :universidad,
        extra = :extra,
        thumb = :thumb,
        cv = :curriculum
        WHERE id = :id'
      );

            if (!empty($errores)) {

                $statement->execute(array(
                    ':id' => $id,
                    ':nombre' => $nombre,
                    ':apellidos' => $apellidos,
                    ':profesion' => $profesion,
                    ':ciudad' => $ciudad,
                    ':puesto' => $puesto,
                    ':empresa' => $empresa,
                    ':responsabilidades' => $responsabilidades,
                    ':habilidades' => $habilidades,
                    ':carrera' => $carrera,
                    ':universidad' => $universidad,
                    ':extra' => $extra,
                    ':curriculum' => $cv,
                    ':thumb' => $thumb
                ));
        header('Location: empleos.php');
        die();
            }
        }
}


require "views/perfil.php";

and this is the FrontEnd :

<form autocomplete="off" method="POST" action="perfil.php" enctype="multipart/form-data" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>">
<input type="hidden" name="id" value="<?php echo($_SESSION['usuario'][0])  ?>">
  <div class="form-group">
    <label>Nombre(s)</label>
    <input type="text" class="form-control" name="nombre" value="<?php echo($_SESSION['usuario'][1])  ?>" placeholder="Nombre(s)">
  </div>
  <div class="form-group">
    <label>Apellidos</label>
    <input type="text" class="form-control" name="apellidos"  value="<?php echo($_SESSION['usuario'][2])  ?>" placeholder="Apellidos">
  </div>
  <div class="form-group">
    <label>Profesion</label>
    <input type="text" class="form-control" name="profesion"  value="<?php echo($_SESSION['usuario'][3])  ?>" placeholder="Profesion">
  </div>
  <div class="form-group">
    <label>Ciudad de recidensia</label>
    <input type="text" class="form-control" name="ciudad"  value="<?php echo($_SESSION['usuario'][4])  ?>" placeholder="Ciudad de recidensia">
  </div>
  <hr>
<h4>Experiencia profesional</h4>
  <div class="form-group">
    <label>Puesto</label>
    <input type="text" class="form-control" name="puesto"  value="<?php echo($_SESSION['usuario'][5])  ?>" placeholder="Puesto">
  </div>
  <div class="form-group">
    <label>Empresa</label>
    <input type="text" class="form-control" name="empresa"  value="<?php echo($_SESSION['usuario'][6])  ?>" placeholder="Nombre de la empresa">
  </div>
  <div class="group">
    <label>Responsabilidades</label>
    <textarea name=responsabilidades rows="8" cols=" 80" placeholder="Responsabilidades"><?php echo($_SESSION['usuario'][7])  ?></textarea>
  </div>
  <div class="form-group">
    <label>Habilidades</label>
    <textarea name="habilidades" rows="8" cols="80" placeholder="Responsabilidades"><?php echo($_SESSION['usuario'][8])  ?></textarea>
  </div>
  <hr>
<h4>Formacion profesional</h4>
  <div class="form-group">
    <label>Nombre de la carrera</label>
    <input type="text" name="carrera"  value="<?php echo($_SESSION['usuario'][9])  ?>"  placeholder="Nombre de la carrera" class="form-control">
  </div>
  <div class="form-group">
    <label>Nombre de la universidad</label>
    <input type="text" name="universidad"  value="<?php echo($_SESSION['usuario'][10])  ?>" placeholder="Nombre de la universidad" class="form-control">
  </div>
  <hr>
<h4>Informacion adicional</h4>
  <div class="form-group">
    <label>Habilidades</label>
    <textarea name="extra" rows="8" cols="80" placeholder="Habilidades"><?php echo($_SESSION['usuario'][11])  ?></textarea>
  </div>
<hr>
<h4>Personaliza</h4>
  <div class="form-group">
    <label>CV</label>
    <input type="file" class="form-control" name="curriculum" placeholder="Sube tu CV">
    <input type="hidden" value="">
  </div>
  <div class="form-group">
    <input type="hidden" class="form-control" name="curriculum-guardado" value="<?php echo($_SESSION['usuario'][14])  ?>" placeholder="Sube tu CV">
  </div>
  <div class="form-group">
    <label>Foto de perfil</label>
    <input type="file" name="thumb" class="form-control" placeholder="Sube tu foto de perfil">
  </div>
  <div class="form-group">
    <input type="hidden" name="thumb-guardada" class="form-control" value="<?php echo($_SESSION['usuario'][15])  ?>" placeholder="Sube tu foto de perfil">
  </div>
  <div class="form-group">
    <button type="submit" class="btn btn-theme btn-t-primary">Actualizar</button>
  </div>
</form>

and even though I have header('Location') ignores it and does not do any redirection, likewise if I remove values of Execute for obvious reasons removing values from Execute should fail, but it does not

    
asked by Cesar Gutierrez Davalos 05.06.2017 в 00:56
source

1 answer

0

I think you have a syntax error, you should change the line by this, do not check all the language, it was what I saw at first glance.

comprobarSession();//mal
comprobarSession(){//bien
    
answered by 05.06.2017 в 01:01