1

I am working in a simple blog system.

I would like the user to see update(actualizar) when editing an old entry and save(guardar) when saving a new entry.

The system updates perfectly but does not works when saving. The model works perfectly.

I have tried to find the error. Please help me to find a way to get my goal

thanks in advance

The view

<?php
//verificar que existe informacion del articulo
if (!isset($infoArticulo)){
    //valores para un nuevo articulo
    $idArticulo="";
    $titulo="";
    $texto="";
        $mensaje="";
        $accion="guardar";
}else{
    //valores para un articulo que existe
    $idArticulo=$infoArticulo['idArticulo'];
    $titulo=$infoArticulo['titulo'];
    $texto=$infoArticulo['texto'];
        $mensaje="";
        $accion="actualizar";
}

$vistaEditor="
<div class='editor'>    
    <form method='post' action='blog.php?inicio=editor'>
    <input type='hidden' name='idArticulo' value='$idArticulo'/>
        <fieldset>
            <legend>Escribe tu articulo</legend>
            <input type='text' name='titulo' maxlength='150' placeholder='titulo' value='$titulo' required/>
            <p id='advertencia'></p>
            <textarea name='texto' required>$texto</textarea>

            <fieldset>
                <input type='submit' name='accion' value='$accion' id='guardar'/>
                <p id='mensaje'>$mensaje</p>
            </fieldset>
        </fieldset>    
    </form>
</div>    
    <script type='text/javascript' src='js/tinymce/tinymce.min.js'> </script>
    <script type='text/javascript'>
        tinymce.init({
        selector: 'textarea',
        plugins: 'image',
        setup: function(editor){
        editor.on('change',function(e){
            actualizarMensaje();
        });


    }
});
    </script>";

return $vistaEditor;

The controller

<?php

//se envio la forma del editor
if(isset($_POST['accion'])){
        $accion=$_POST['accion'];
        //obtener titulo y texto
        $titulo=$_POST['titulo'];
        $texto=$_POST['texto'];

        //verificar si guarda o actualiza
        if($accion==="actualizar"){
            //Actualizar articulo
            $idArticulo=$_POST['idArticulo'];
            $bloggerMate->actualizarArticulo($idArticulo,$titulo,$texto);
            $idArticuloGuardado=$idArticulo;
        }else if($accion==="guardar"){
            //Guardar nuevo articulo
            $idArticuloGuardado=$bloggerMate->guardarArticulo($titulo, $texto);
        }

    //carga el contenido del articulo guardado
    if(isset($idArticuloGuardado)){
        //obtener la informacion del articulo
        $infoArticulo=$bloggerMate->obtenerinfoArticulos($idArticuloGuardado);

        //asignar variables
        $titulo=$infoArticulo['titulo'];
        $texto=$infoArticulo['texto'];

        //mensaje
        $mensaje="¡Tus cambios se guardaron!";
    }else{
        $mensaje="ups. Parece que hubo un problema al guardar. Intenta mas tarde por favor";
    }
}

//cargar articulo en el editor
if(isset($_GET['idArticulo'])){
    //obtener informacion del articulo
    $idArticulo=$_GET['idArticulo'];    
    $infoArticulo=$bloggerMate->obtenerinfoArticulos($idArticulo);

}

//Cargar vista
$salida=include_once "vista/admin/editor.php";
return $salida;
?>
  • The code seems to be fine. Are you receiving some kind of error? Maybe the problem is in $bloggerMate class? – JungleZombie Jul 04 '15 at 01:24
  • $bloggerMate works perfect. I have tested it. DO you have any suggestion to make it in another way? – Arturo Burbano Jul 04 '15 at 14:52
  • So, that class works perfect, and your code seems to be legit. Why does is not work then? Does it display any kind of error when trying to save? – JungleZombie Jul 04 '15 at 15:08
  • Yes, I have found the error. It was related to tinyMCE and JS. I have got the answer from here. http://www.tinymce.com/forum/viewtopic.php?id=28 and http://stackoverflow.com/questions/22148080/an-invalid-form-control-with-name-is-not-focusable Thanks – Arturo Burbano Jul 04 '15 at 15:35

0 Answers0