tengo una web que es informativa, entonces publico noticias a través de un formulario.
Me anime a hacer un formulario de edición de las noticias para corregir o completar errores el cual funciona perfecto excepto en imágenes. El error es el siguiente:
-Cuelgo una noticia nueva (con el formulario normal) con una imagen (Imagen A).
Esta se muestra en el Home perfectamente, texto, imagen y todo.
Me doy cuenta que me he equivocado de foto y con el formulario de edición recupero desde la BD todo de la noticia que he colgado excepto las imágenes y el pdf (si hay), en el formulario de edición decido que el texto esta perfecto así que no lo toco, simplemente añado una nueva imagen (imagen B) en la posición de la imagen A, guardo el formulario y se publica.
Al ir a la web, el texto y todo se ve perfecto excepto la imagen que no se abre...
Pensando que se trata de un error al guardar la imagen, copio la dirección para ver si ha modificado la dirección o si quizás esta tratando de abrir la imagen A, pero mi sorpresa es que la dirección apunta a la B con lo que debería abrirla.
Hago una prueba, concretamente la siguiente: Vuelvo a editar la noticia, igual que anteriormente pero solo modifico y cambio la imagen B por la A, y al publicarla TACHAN! se ve la maldita imagen A...
No se a que puede ser debido ya que la dirección de la imagen es correcta en todo momento...
Adjunto el código para que sea más fácil.
Formulario de edicion:
Código:
Formulario para guardar la noticia editada:<?php include("mysqlcon.php"); ?> <html> <head> <link href='http://eskarting.es/Pruebas/Imagenes/eskarting.ico' rel='shortcut icon' type='image/x-icon'> <link href="style.css" rel="stylesheet" type="text/css" /> <meta name="tipo_contenido" content="text/html;" http-equiv="content-type" charset="utf-8"> </head> <body style="background:url('Imagenes/MRM_213.jpg'); width:100%; height:auto; margin-top:0px"> <div id="content" style="background:#64427B;width:1024px; height:auto;padding-bottom:100px ;margin-left:auto;margin-right:auto;padding-left: 50px;padding-right: 50px;"> <table style="width:1024px"> <center> <tr> <td style="margin-left: 30 px"> <a href="index.php"><img style="margin-top:15px; margin-left:270px;" alt="No se puede abrir esta imagen." title="Eskarting" src="Imagenes/Logo-eskarting.png"/></a> </td> </tr> </center> </table> <table> <tr> <td> <?php $consulta = "SELECT * FROM Articles WHERE id =".$_GET['idNoticia']; $result = mysql_query($consulta,$con); while($row = mysql_fetch_array($result)){ $variable = explode ('/',$row['fecha']); $foto = $row['timestamp']."_".$row['imagen1']; $foto2 = $row['timestamp']."_".$row['imagen2']; echo "<form name='formulario' method='post' action='resultadosEdicion.php' enctype='multipart/form-data'>"; echo "<b>Circuito y campeonato</b>:<br><textarea style='width:400px;' type='text' name='Categoria'>".$row['categoria']."</textarea><br>"; echo "<br><b>Fecha (yyyy/mm/dd)</b>:<br><textarea style='width:400px;' id='fecha' type='text' name='Fecha'>".$row['fecha']."</textarea><br>"; echo "<br><b>Año</b>:<br><textarea style='width:400px;' type='text' name='Ano'>".$row['Ano']."</textarea><br>"; echo "<br><b>Titulo</b>:<br><textarea style='width:400px;' type='text' maxlength='35' name='Titulo'>".$row['titulo']."</textarea><br>"; echo "<br><b>Premium?</b>:<input size='40' type='checkbox' name='Premium' value='Premium'>La noticia es premium<br><br>"; echo "<b>Sección</b>: <select name='seccion'> <option value='Internacional'>Internacional</option> <option value='Nacional'>Nacional</option> <option value='Autonomico'>Autonomico</option> <option value='Exkartistas'>Exkartistas</option> </select><br>"; echo "<br><b>Texto</b>:<br><textarea name='texto' required>".$row['texto']."</textarea><br>"; echo "<br><b>Foto</b>:<br><input type='hidden' name='MAX_FILE_SIZE' value='4194304'/>"; echo "<div id='imagen1'><input name='imagen1' type='file'/><br></div><br>"; echo "<div id='imagen2'><input name='imagen2' type='file'/><br></div>"; echo "<br><b>PDF</b>:<br>"; echo "<div id='pdf'><input name='pdf' type='file'/><br></div><br>"; echo "<b>Estado</b>: <select name='estado'> <option value='Borrador'>Borrador</option> <option value='Publicado'>Publicado</option> </select><br><br>"; echo "<input type='hidden' name='idNoticia' value='".$_GET['idNoticia']."'></input>"; echo "<input id='botoninput' type='submit' value='Guardar'></input>"; echo "</form>"; } ?> </td> </tr> </table> </div> </body> </html>
Código:
Muchas gracias amigos y perdón por la longitud del post, pero es que voy muy perdido <head> <meta content="text/html;" http-equiv="content-type" charset="utf-8"> <script src="//tinymce.cachefly.net/4.0/tinymce.min.js"></script> <script> tinymce.init({selector:'textarea'}); </script> <link rel=StyleSheet href="style.css" type="text/css" media=screen> </head> <body> <table> <tr> <td> <p style="margin-right:20px;"><a href ="index.php"><b>Ir a la web</b></href></p> </td> <td> <p style="margin-right:20px;"><a href ="formulario_noticias.php"><b>Formulario noticias</b></href></p> </td> <td> <p style="margin-right:20px;"><a href ="formulario_video.php"><b>Formulario videos</b></href></p> </td> <td> <p style="margin-right:20px;"><a href ="formulario_calendarios.php"><b>Formulario calendarios</b></href></p> </td> <td> <p style="margin-right:20px;"><a href ="formulario_clasificaciones.php"><b>Formulario clasificaciones</b></href></p> </td> <td> <p style="margin-right:20px;"><a href ="formulario_calendarios_historicos.php"><b>Formulario subir pdf calendarios (archivo historico)</b></href></p> </td> <td> <p style="margin-right:20px;"><a href ="editar_noticias.php"><b>Edición de noticias</b></href></p> </td> </tr> </table> </body> <?php include("mysqlcon.php"); $fecha = time()+3600; $condPdf = ""; if($_FILES['imagen1']['name']!=""){ $imagen1 = $_FILES['imagen1']['name']; move_uploaded_file($_FILES['imagen1']['tmp_name'], 'ImagenesNoticias/'.$fecha."_".$_FILES['imagen1']['name']); } if($_FILES['imagen2']['name']!=""){ $imagen2 = $_FILES['imagen2']['name']; move_uploaded_file($_FILES['imagen2']['tmp_name'], 'ImagenesNoticias/'.$fecha."_".$_FILES['imagen2']['name']); } if($_FILES['pdf']['name']!=""){ $pdf = $_FILES['pdf']['name']; move_uploaded_file($_FILES['pdf']['tmp_name'], 'pdf/'.$fecha."_".$_FILES['imagen2']['name']); $condPdf = ",pdf=".$pdf; } $insert = "UPDATE Articles SET titulo='".$_POST['Titulo']."',texto='".$_POST['texto']."',Ano='".$_POST['Ano']."',imagen1='".$imagen1."',imagen2='".$imagen2."', categoria='".$_POST['Categoria']."', fecha='".$_POST['Fecha']."', seccion='".$_POST['seccion']."', premium='".$_POST['Premium']."'".$condPdf.",estado_noticia='".$_POST['estado']."' WHERE id ='".$_POST['idNoticia']."'"; //echo $insert; //echo "<textarea>".$insert."</textarea>"; if($result = mysql_query($insert,$con)){ echo "Noticia guardada correctamente"; }else{ echo "No se ha podido guardar la noticia"; } ?>
![Confundido](http://static.forosdelweb.com/fdwtheme/images/smilies/confused.png)