PHP - cargar imagen con submit()

 
Vista:
sin imagen de perfil

cargar imagen con submit()

Publicado por roman (4 intervenciones) el 29/08/2017 18:49:50
Hola especialistas, siempre he consultado esta WEB y he logrado aclarar mis dudas, pero ahora tengo un problema que no se que estoy haciendo mal y espero que puedan ayudarme.

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, es decir se destruye, no asi las demas ($nucla) 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 1 o mas veces los submits ya no tengo valores para grabar.

Se que por ser parte del servidor, la variable que es un array multiple se pierde pero la conservo con el metodo POST, pero se que estoy cometiendo un error que no se cual sea y ya no puedo resolver.

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 y por leer este post

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?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(); ?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder