en primer lugar decir que estoy aprendiendo el manejo de javascript y jquery. Tengo un problema a la hora de insertar un registro en una tabla mysql, pero esxplico bien los pasos para que podáis ayudarme mejor:
1-esta es la página principal "noticias.php" que se carga en un div especifico al pulsar un boton:
Código:
2-Al pulsar en Nueva Noticia, se ejecuta este código javascript:<div id="seccion_titulo">Noticias</div> <div class="listado_titulo">Listado de Noticias</div> <div class="listado_noticias"> <div class="listado completo"> <table class="tabla_noticias"> <tr> <td style="width:50px">Id</td> <td style="width:200px">Titulo</td> <td style="width:200px">Pie noticia</td> <td style="width:150px">Pie foto</td> <td style="width:80px">Fecha</td> <td style="width:80px">Hora</td> <td style="width:80px">Autor</td> <td style="width:80px"></td> </tr> <?php header('Content-Type: text/html; charset=ISO-8859-1'); require_once "conexion.php"; $query="SELECT * FROM noticias order by id_noticia DESC"; $result=$con->query($query); while($row=mysqli_fetch_array($result)){ $id_noticia=$row['id_noticia']; $titulo=$row['titulo']; $pie_noticia=$row['pie_noticia']; $descripcion=$row['descripcion']; $pie_foto=$row['pie_foto']; $fecha=$row['fecha']; $hora=$row['hora']; $autor=$row['autor']; setlocale(LC_ALL,"es_ES@euro","es_ES","esp"); $fecha_final = strftime("%d/%m/%Y", strtotime("$fecha")); ?> <tr> <td><?php echo $id_noticia;?></td> <td><?php echo $titulo;?></td> <td><?php echo $pie_noticia;?></td> <td><?php echo $pie_foto;?></td> <td><?php echo $fecha_final;?></td> <td><?php echo $hora;?></td> <td><?php echo $autor;?></td> <td><a class="Editar" onclick="editar_noticia('<?php echo $id_noticia;?>')">Editar</a></td> </tr> <?php };?> </table> </div> </div> <div class="botones_acciones"> <a onclick="nueva_noticia()"><input type="button" value="Nueva Noticia" style="width:190px"></a> </div> <div class="noticia_seleccionada"> </div>
Código:
3-se carga el contenido de "Nueva_noticia.php" en el div correspondiente. Su código es este:function nueva_noticia(){ $(".noticia_seleccionada").load("Nueva_noticia.php"); }
Código:
4-Se introducen los datos y al pulsar guardar noticia se ejecuta "Accion_noticias.php", cuyo codigo es este:<form method="post" id="nueva_noticia" action="Accion_noticias.php"> <div class="columna"> <div class="texto">Título:</div> <div class="texto">Pie de Noticia:</div> <div class="texto">Descripción:</div> </div> <div class="columna2"> <div class="text"><input type="text" name="titulo" style="width:300px" value=""></div> <div class="text"><input type="text" name="pie_noticia" style="width:300px" value=""></div> <div class="areatext"><textarea name="descripcion" style="width:300px;height:170px"></textarea></div> </div> <div class="columna"> <div class="texto">Autor:</div> <div class="texto">Pie de Foto:</div> <div class="texto">Foto:</div> </div> <div class="columna2"> <div class="text"><input type="text" name="autor" style="width:150px" value=""></div> <div class="text"><input type="text" name="pie_foto" style="width:300px" value=""></div> <div class="imagen"><div class="foto"></div><input type="file" name="foto" value="Editar foto" /></div> </div> <div class="botones_noticia"> <br><br><input type="submit" name="insertar" id="insertar" value="Guardar Noticia" style="width:190px"> <input type="button" value="Cancelar Cambios" style="width:190px"> <input type="button" value="Reset" style="width:190px"><hr> <input type="button" value="Publicar Facebook" style="width:190px"> <input type="button" value="Publicar Twitter" style="width:190px"> </div> </form>
Código:
PROBLEMA: todo me carga bien, incluso me sale el mensaje de guardado con éxito, pero realmente no me introduce nada en la BD. Alguien podría decirme u orientarme sobre qué estoy haciendo mal?? if (isset($_POST['insertar'])){ $titulo = $_POST['titulo']; $pie_noticia = $_POST['pie_noticia']; $descripcion = $_POST['descripcion']; $autor = $_POST['autor']; $pie_foto = $_POST['pie_foto']; $fecha = date("Y/m/d"); $hora = date("H:i:s"); require_once 'conexion.php'; $query = "INSERT INTO noticias (titulo, pie_noticia, descripcion, pie_foto, autor, fecha, hora) VALUES('$titulo','$pie_noticia','$descripcion','$pie_foto','$autor', '$fecha', '$hora')"; mysqli_query($con,$query); echo "<script> alert('La noticia ha sido introducida con éxito.'); window.location.href='index.html' </script>"; }
Muchas gracias por anticipado y un saludo