Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: romanjr55 en 2 Agosto 2017, 00:56 am



Título: cargar imagen con submit()
Publicado por: romanjr55 en 2 Agosto 2017, 00:56 am
Hola a todos los expertos de este sitio, como siempre he recibido mucha ayuda de ustedes y hoy vengo con otra duda que no sé dónde está el error.
Tengo una página donde subo la foto de un artículo, al mismo tiempo hay un botón de submit().
El problema que tengo es que cada vez que recargo la página, el valor de la variable que retiene los valores del archivo de la foto ($tefo1) se restablece a 0 o vacío, lo que necesito es que no importa cuántas veces presione el botón de submit (calcular clave) o el botón de selección de imagen ($_FILE) (porque tiene un onchange=submit() para ver la imagen) quiero conservar el valor de la última vez que se le asignó el valor, ya que al “agregar” la imagen si presióno 3 o 4 veces los submits ya no tengo valores para grabar.
Les dejo mi código y agradezco mucho sus ayudas y opiniones, les pido una disculpa por lo poco elegante del código y si hay recomendaciones y mejoras, lo agradeceré infinitamente.
Gracias por su apoyo

Código
  1. <?php ob_start(); ?>
  2. <!DOCTYPE html>
  3. <?php header('Content-Type: text/html; charset=UTF-8'); ?>
  4. <
  5. <head>
  6.  
  7. </head>
  8.  
  9. <body>
  10.  
  11. <div >
  12. <b> Alta de artículo</b><br>
  13. <?php
  14.  
  15.  
  16.  
  17. echo "<form action='' method='POST' enctype='multipart/form-data'>\n";
  18.  
  19.  
  20.  
  21. @$tefo1=$_POST['tefo1'];
  22. @$arch=$_POST['arch'];
  23. @$nucla=$_POST['nucla'];
  24. @$dirfot="images/fotos/";
  25. @$nofonu=$_FILES['tefo1']['name'];
  26. @$muesfo=$dirfot.$nofonu;
  27.  
  28. echo '<table>';
  29.  
  30. echo "<tr><td rowspan=8 width=150><img src=$muesfo width=250 ></td>";
  31.  
  32. echo "<tr><td><b>Clave: </b><input type='text' name='nucla' size=15 value='$nucla'><input type='submit' name='botcalc' value='Calcula clave'> </td>";
  33. @$nucla=$_POST['nucla'];
  34.  
  35. if (!isset($tefo1)){$arch=$_FILES['tefo1'];}
  36. else{@$arch=$_POST['arch'];}
  37.  
  38. echo "<td><b>Seleccionar una foto del artículo </b><input name='tefo1' type='file' onchange='submit()' ></td>";
  39.  
  40. echo "<tr><td><input type='submit' name='botcam' value='Agregar'> ";
  41. echo " <input type='submit' name='botcam' value='Cancelar'></td>";
  42. echo '</div>';
  43.  
  44. if (@$_POST['botcam']=='Cancelar'){echo "<script language='javascript'>alert(\"Ingreso cancelado.\");window.location.replace(\"index.php\");</script>";}
  45.  
  46. if (@$_POST['botcam']=='Agregar')
  47. {
  48. @$tefo1=$_POST['tefo1'];
  49. @$nucla=$_POST['nucla'];
  50. @$dirfot="images/fotos/";
  51. @$cand2=0;
  52. @$nofonu=$_FILES['tefo1']['name'];
  53. @$muesfo=$dirfot.$nofonu;
  54. //obten los datos de la foto
  55. $nomarch=$_FILES['tefo1']['name'];
  56. $tiparch=$_FILES['tefo1']['type'];
  57. $tamarch=$_FILES['tefo1']['size'];
  58. $temarch=$_FILES['tefo1']['tmp_name'];
  59. $extarchnvo=end(explode(".", $_FILES['tefo1']['name']));
  60. $cadarchnvo=$nucla.".".$extarchnvo;
  61. //sube la imagen
  62. $add=$dirfot.$cadarchnvo;
  63. if($tefo1load=="true")
  64. {
  65. if(move_uploaded_file ($temarch, $add)){echo "La nueva foto se subio satisfactoriamente.";}
  66. else{echo "Error al subir la foto";}
  67. }
  68. else{$cand2=0;}
  69. }
  70.  
  71. echo '</tbody>';
  72. echo '</table>';
  73. echo '</div>';                          
  74. echo '</div>';
  75. echo '</div>';
  76. ?>
  77. </body>  
  78. </html>
  79. <?php ob_end_flush(); ?>
  80.  
  81.  


· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro (http://foro.elhacker.net/reglas.htm)
-Engel Lex