cargar imagen con submit()

Iniciado por romanjr55, 2 Agosto 2017, 00:56 AM

0 Miembros y 1 Visitante están viendo este tema.

romanjr55

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 (php) [Seleccionar]
<?php ob_start(); ?>
<!DOCTYPE html>
<?php header('Content-Type: text/html; charset=UTF-8'); ?>
<
<head>

</head>
   
<body>

<div >
<b> Alta de artículo</b><br>
<?php  

error_reporting(0); 


echo "<form action='' method='POST' enctype='multipart/form-data'>\n";



@$tefo1=$_POST['tefo1'];
@$arch=$_POST['arch'];
@$nucla=$_POST['nucla'];
@$dirfot="images/fotos/";
@$nofonu=$_FILES['tefo1']['name']; 
@$muesfo=$dirfot.$nofonu;

echo '<table>';

echo "<tr><td rowspan=8 width=150><img src=$muesfo width=250 ></td>";

echo "<tr><td><b>Clave: </b><input type='text' name='nucla' size=15 value='$nucla'><input type='submit' name='botcalc' value='Calcula clave'> </td>";
@$nucla=$_POST['nucla'];

if (!isset($tefo1)){$arch=$_FILES['tefo1'];}
else{@$arch=$_POST['arch'];}

echo "<td><b>Seleccionar una foto del artículo </b><input name='tefo1' type='file' onchange='submit()' ></td>";

echo "<tr><td><input type='submit' name='botcam' value='Agregar'> ";
echo " <input type='submit' name='botcam' value='Cancelar'></td>";
echo '</div>';

if (@$_POST['botcam']=='Cancelar'){echo "<script language='javascript'>alert(\"Ingreso cancelado.\");window.location.replace(\"index.php\");</script>";}

if (@$_POST['botcam']=='Agregar')
{
@$tefo1=$_POST['tefo1'];
@$nucla=$_POST['nucla'];
@$dirfot="images/fotos/";
@$cand2=0;
@$nofonu=$_FILES['tefo1']['name']; 
@$muesfo=$dirfot.$nofonu;
//obten los datos de la foto
$nomarch=$_FILES['tefo1']['name']; 
$tiparch=$_FILES['tefo1']['type']; 
$tamarch=$_FILES['tefo1']['size']; 
$temarch=$_FILES['tefo1']['tmp_name']; 
$extarchnvo=end(explode("."$_FILES['tefo1']['name']));
$cadarchnvo=$nucla.".".$extarchnvo;
//sube la imagen
$add=$dirfot.$cadarchnvo;
if($tefo1load=="true")
{
if(move_uploaded_file ($temarch$add)){echo "La nueva foto se subio satisfactoriamente.";}
else{echo "Error al subir la foto";}
}
else{$cand2=0;}
}

echo '</tbody>';
echo '</table>';
echo '</div>';                           
echo '</div>';
echo '</div>';
?>

</body>  
</html>
<?php ob_end_flush(); ?>




· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex