Foros del Web » Programando para Internet » PHP »

Mandar una imagen dependiendo del botón

Estas en el tema de Mandar una imagen dependiendo del botón en el foro de PHP en Foros del Web. Hola a todos: Soy Javy. Debido a los diferentes foros de esta página, he conseguido (y aprendido bastante). Muchas gracias a todos. Mi siguiente problema ...
  #1 (permalink)  
Antiguo 04/07/2007, 06:42
 
Fecha de Ingreso: septiembre-2002
Mensajes: 153
Antigüedad: 21 años, 7 meses
Puntos: 1
Mandar una imagen dependiendo del botón

Hola a todos:

Soy Javy.

Debido a los diferentes foros de esta página, he conseguido (y aprendido bastante).

Muchas gracias a todos.

Mi siguiente problema es:

Tengo una página en php desde la cual, con formulario, puedo subir una imagen a una carpeta determinada después de darle al imprescindible botón de "SUBMIT".

La pregunta es:

¿Habría alguna forma de qué, colocando varios botones de "SUBMIT", me mandara la imagen a una carpeta u a otra?.

Intentaré explicarme:

- hay un botón de "EXAMINAR" con el cual, se busca la imagen a subir en el disco duro.

- el nombre de la imagen aparece en un cuadro de texto.

- con el botón "SUBMIT", mando la imagen a la carpeta "1".

- ¿Se podría poner "SUBMIT2", "SUBMIT3",..., "SUBMIT_N", para, dependiendo al que se clique, la imagen vaya a la carpeta "2" o "3",..., o "N"?

Gracias por adelantado y un gran saludo a todos.

Javy
  #2 (permalink)  
Antiguo 04/07/2007, 07:59
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 17 años, 7 meses
Puntos: 9
Re: Mandar una imagen dependiendo del botón

HOla javy, se me ocurre que en cada input type submit coloques un name diferente por ejemplo <input type="submit" name="cp1"> <input type="submit" name="cp2"> etc. Y luego en la pagina que procesas los datos preguntas si se ha pulsado cp1 o cp2, entonces si cp1 guardar en carpeta 1 sino si cp2 entonces guardar en carpeta 2. Es una idea seguro que puede optimizarse.
Saludos.
__________________
->Aprender es un proceso que incluye el error..
  #3 (permalink)  
Antiguo 04/07/2007, 09:17
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: Mandar una imagen dependiendo del botón

Solo una nota: El único nombre que se transmite es el del botón pulsado, si tenemos

input name="boton1" type="submit"
input name="boton2" type="submit"
input name="boton3" type="submit"

Y para enviar activamos "boton2", solo tendremos $_POST['boton2'], no $_POST['boton1'] ni $_POST['boton3']

Por lo que para saber qué botón se pulsó basta con usar isset()


Saludos.
  #4 (permalink)  
Antiguo 04/07/2007, 09:26
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Mandar una imagen dependiendo del botón

Hola:

A mi me parece que es mejor discriminar la carpeta por el valor y no por el nombre, ya que si a los botones les pones un nombre y distinto value (y en el caso de los tags button distintos contenidos):
<fieldset ><legend>Poner en carpeta</legend>
<button type="submit" name="carpeta" >1</button>
<button type="submit" name="carpeta" >2</button>
<button type="submit" name="carpeta" >3</button>
</fieldset>

y luego en el CGI:

$destino = $_POST["carpeta"];

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 04/07/2007, 09:54
 
Fecha de Ingreso: septiembre-2002
Mensajes: 153
Antigüedad: 21 años, 7 meses
Puntos: 1
Re: Mandar una imagen dependiendo del botón

Gracias a todos por vuestras respuestas, pero creo que no me va a servir.

Me explico: yo uso este código para subir la imagen a una carpeta determinada.

<?php
if(isset($submit)){
if (is_uploaded_file($_FILES['imagen']['tmp_name'])) {
// REVISAR QUE SEA JPG
if ($_FILES['imagen']['type'] == "image/jpeg" || $_FILES['imagen']['type'] == "image/pjpeg"){
// NUEVO NOMBRE PARA LA IMAGEN
$nuevoNombre = time().".jpg";
// METER LA IMAGEN DONDE SE QUIERE QUE ESTÉ
move_uploaded_file($_FILES['imagen']['tmp_name'], "../imagenes/productos/accesorios_varios/$nuevoNombre");
//obtener la inforamción
$data = GetImageSize("../imagenes/productos/accesorios_varios/$nuevoNombre");

// INSERTAR EL NOMBRE DENTRO DE LA BASE DE DATOS
/*=======================================*/
$cnx = mysql_connect('localhost','','');
mysql_select_db('tienda');
mysql_query("INSERT INTO lista_productos SET
lista='$prod',
cat_cid='$cat',
subcat_sid='$subcat',
fab_fid='$fab',
fot_fit='../imagenes/productos/accesorios_varios/$nuevoNombre',
prec_did='$prec' ");
/*===============================================*/
// MENSAJE DE ÉXITO
echo "<img src='../imagenes/productos/accesorios_varios/$nuevoNombre' $data[3]> <br> imagen $nuevoNombre subida con éxito";
}else{
echo "Formato no válido para fichero de imagen";
}
} else {
echo "Error al cargar imagen: " . $_FILES['imagen']['name'];
}
}
?>

<?php

$cnx = mysql_connect('localhost','root','');
mysql_select_db('tienda');
//PARA QUE EN LAS LISTAS DESPLEGABLES SE MUESTREN LOS DATOS
$fab = mysql_query("SELECT fab_fid, fabricante FROM fabricantes ORDER BY fabricante");
$cat = mysql_query("SELECT cat_cid, categoria FROM categorias ORDER BY categoria");
$subcat = mysql_query("SELECT subcat_sid, subcategoria FROM subcategorias ORDER BY subcategoria");
?>
<form enctype="multipart/form-data" action="<? echo $PHP_SELF;?>" method="post">
<p>
<p>Introduzca el nuevo producto:<br />
<p>PRODUCTO:<br />
<input type="text" name="prod" size="70" maxlength="255" />
</p>
<br />

<p>CATEGORIA:
<select name="cat" size="1">
<option selected value="">Seleccionar una Categoría</option>
<option value="">---------</option>
<?php
while ($categoria = mysql_fetch_array($cat)) {
$cid = $categoria["cat_cid"];
$iname = htmlspecialchars($categoria["categoria"]);
echo("<option value='$cid'>$iname</option>\n");
}
?>
</select>
<br>

<p>SUBCATEGORIA:
<select name="subcat" size="1">
<option selected value="">Seleccionar una Sub-Categoría</option>
<option value="">---------</option>
<?php
while ($subcategoria = mysql_fetch_array($subcat)) {
$subcid = $subcategoria["subcat_sid"];
$sname = htmlspecialchars($subcategoria["subcategoria"]);
echo("<option value='$subcid'>$sname</option>\n");
}
?>
</select>
<br>

<p>FABRICANTE:
<select name="fab" size="1">
<option selected value="">Seleccionar un Fabricante</option>
<option value="">---------</option>
<?php
while ($fabricante = mysql_fetch_array($fab)) {
$fid = $fabricante["fab_fid"];
$fname = htmlspecialchars($fabricante["fabricante"]);
echo("<option value='$fid'>$fname</option>\n");
}
?>
</select>

<p>PRECIO:
<input type="text" name="prec" size="20" maxlength="20" />
</p>
<p>

<input type="hidden" name="MAX_FILE_SIZE" value="100000">
Subir esta imagen:</p>
<p>
<input name="imagen" type="file" size="100">
</p>
<p>
<input type="submit" name='submit' value="Subir Accesorios Varios">
</p>
</form>

Ahí es donde veo el problema a la hora de implementar vuestros códigos.

Deciros que estoy bastante pez en PHP.

Gracias de todos modos y un saludo:

Javy
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:03.