Foros del Web » Programando para Internet » PHP »

¿Como se puede enviar un archivo y texto a la vez desde un formulario?

Estas en el tema de ¿Como se puede enviar un archivo y texto a la vez desde un formulario? en el foro de PHP en Foros del Web. Como se puede enviar por ejemplo, un campo de texto y un archivo a la misma vez? Es decir el campo de texto enviarlo a ...

  #1 (permalink)  
Antiguo 14/06/2006, 07:19
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 7 meses
Puntos: 0
¿Como se puede enviar un archivo y texto a la vez desde un formulario?

Como se puede enviar por ejemplo, un campo de texto y un archivo a la misma vez?

Es decir el campo de texto enviarlo a un campo de la base de datos y el archivo (.doc, .jpg, .gif, .pdf, .txt) a una carpeta del servidor o a la base de datos... Y enviarlo a una cuenta de correo tambien...

Por ejemplo tengo este formulario:

Código PHP:
<form enctype="multipart/form-data" action="..." METHOD="post">
<INPUT TYPE="hidden" NAME="id" VALUE="<?=$_SESSION['id']?>">
<textarea name="comentario_cliente" id="comentario_cliente"></textarea>
<input name="archivo_cliente" type="file" id="archivo_cliente" size="20" />
<input name="enviar" type="submit" id="enviar" value="Enviar" />
</form>
No se si es pedir mucho pero creo que si se puede hacer porque he visto algunas webs o portales que se puede hacer...

Alguien tiene idea de como se podría hacer esto?
  #2 (permalink)  
Antiguo 14/06/2006, 07:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
¿Para que envias en un campo hidden de un formulario una variable de sesión .. cuando en el script que llegas* es donde podrías tomar esa variable de sesión sin problemas y sin necesidad de andar propagandola en un formulario? ...

Bueno .. por lo demás .. mezclar texto plano y "binarios" en un formulario en principio cara a HTML se define el "enctype" multiparte .. tal cual lo has hecho (enctype="multipart/form-data") y luego se continua tomando tus datos de texto plano por el array asociado POST: $_POST['comentario_cliente'] y demás .. y el archivo en sí lo tendrás en el array $_FILES según detalla la documentación oficial de PHP al respecto:

http://www.php.net/manual/es/features.file-upload.php

(en las FAQ's tambien tienes ejemplos)

Un saludo,

* suponiendo que el script que gestiona el upload del archivo esté en el mismo servidor y domino que el resto de la aplicación que genera esas variables de sesión.
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 15/06/2006, 07:38
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 7 meses
Puntos: 0
si pero en el faq solo es para enviar un formulario o un archivo pero a la vez?

como podria hacerse?
  #4 (permalink)  
Antiguo 15/06/2006, 08:09
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
No, .. tanto en el ejemplo de las FAQ's como si te fijas bien en la ducumentación de PHP .. el hecho de usar el "enctype" como "multipart/form-data" ya te permite usar campos tipo "file" en tu formulario para enviar archivos binarios como otro tipo de campos ("input") en tu formulario con datos de texto plano -a la vez-

Sólo hay que tener claro que los archivos irán por $_FILES y el resto de datos los obtendrás como de costumbre en $_POST (por supuesto el "method" del formulario debe ser POST como en la documentación de PHP se menciona).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 15/06/2006, 11:32
Avatar de MWNS  
Fecha de Ingreso: julio-2003
Mensajes: 528
Antigüedad: 14 años, 4 meses
Puntos: 2
De acuerdo

hola, mira te pongo un code creo que puede servirte como referencia... asumo el formulario ya sabras como implementarlo... sino me cuentas

Código PHP:
<?php
include("conex.php"); //esto para la conexion
$extension explode(".",$archivo_name); 
$num count($extension)-1
if(
$extension[$num] == "$_GET["formato"]")//aca podrias hacer algo desde el formulario para que tome el valor que se desea enviar...

    if(
$archivo_size 100000
    {
       if(!
copy($archivo,"rutaDondeGuardar/".$archivo_name))
       {
       echo 
"Error inesperado al copiar el archivo, intente nuevamente...";
       echo 
'<br><br><input type="submit" name="Atrás" value="Atrás"     onClick="javascript:history.back(-1);">';
       } 
       else
       {
       
$link=Conectarse();
       
mysql_query("insert into tuTabla(1,2) values ('$value1','$value2')",$link);//aca es donde te inserta el registro en la db y ya te ha subido el file al dir... el dir debe estar con 777
echo "<font face=Verdana size=2 color=336699>archivo subido correctamente!</font><br><br>";
       } 
    } 
    else 
    {
    echo 
"<font face=Verdana size=2 color=336699><b>ERROR, su archivo no pudo ser subido al servidor, exede el peso permitido 100kb";
    echo 
'<br><br><input type="submit" name="Atrás" value="Atrás" onClick="javascript:history.back(-1);">';
    }
    

else 
{   
echo 
"<font face=Verdana size=2 color=ff0000><b>ERROR! Recuerde, solo formato<b>$formato</b>";
echo 
'<br><br><input type="submit" name="Atrás" value="Atrás" onClick="javascript:history.back(-1);">';

?>
bueno, espero te sirva... el code corre bien... cualquier cosa me cuentas...

un saludo
__________________
MWNS
Mario Navas
http://marionavas.com
  #6 (permalink)  
Antiguo 15/06/2006, 14:02
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 7 meses
Puntos: 0
La verdad que no se como hacerlo para que me salga con el formulario...

Yo he pensado lo siguiente a ver si es asi o no:

Este es el codigo que me pasas tu..

Código PHP:
<?php 
include("conex.php"); //esto para la conexion 
$extension explode(".",$archivo_cliente);  
$num count($extension)-1;  
if(
$extension[$num] == "$_GET["formato"]")//aca podrias hacer algo desde el formulario para que tome el valor que se desea enviar... 
{  
    if(
$archivo_size 100000)  
    { 
       if(!
copy($archivo,"soporte_cliente/".$archivo_cliente)) 
       { 
       echo 
"Error inesperado al copiar el archivo, intente nuevamente..."
       echo 
'<br><br><input type="submit" name="Atrás" value="Atrás"     onClick="javascript:history.back(-1);">'
       }  
       else 
       { 
       
$link=Conectarse(); 
       
mysql_query("insert into soporte(comentario_cliente,archivo_cliente) values ('$comentario_cliente','$archivo_cliente')",$link);//aca es donde te inserta el registro en la db y ya te ha subido el file al dir... el dir debe estar con 777 
echo "<font face=Verdana size=2 color=336699>archivo subido correctamente!</font><br><br>"
       }  
    }  
    else  
    { 
    echo 
"<font face=Verdana size=2 color=336699><b>ERROR, su archivo no pudo ser subido al servidor, exede el peso permitido 100kb"
    echo 
'<br><br><input type="submit" name="Atrás" value="Atrás" onClick="javascript:history.back(-1);">'
    } 
     
}  
else  
{    
echo 
"<font face=Verdana size=2 color=ff0000><b>ERROR! Recuerde, solo formato<b>$formato</b>"
echo 
'<br><br><input type="submit" name="Atrás" value="Atrás" onClick="javascript:history.back(-1);">'
}  
?>


Y el formulario es el siguiente:

Código PHP:
 <form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF'?>" METHOD="post">
                          <table width="470" height="18" cellpadding="2" cellspacing="2" class="estilotabla">
                            <tr>
                              <td colspan="2" class="estilocelda">ENVIAR SOPORTE </td>
                            </tr>
                            <tr>
                              <td><INPUT TYPE="hidden" NAME="id" VALUE="<?=$_SESSION['id']?>">
                              </td>
                              <td>&nbsp;</td>
                            </tr>
                            <tr>
                              <td width="128">Comentarios:</td>
                              <td width="326">
                                <textarea name="comentario_cliente" id="comentario_cliente"></textarea></td>
                            </tr>
                            <tr>
                              <td>Archivo:</td>
                              <td><input name="archivo_cliente" type="file" id="archivo_cliente" size="20" /></td>
                            </tr>
                            <tr>
                              <td>&nbsp;</td>
                              <td><input name="enviar" type="submit" id="enviar" value="Enviar" /></td>
                            </tr>
                          </table>
                        </form>

Resumiendo yo tendria el siguiente codigo completo en la web:

Código PHP:
<html>
...

<?php 
include("conex.php"); //esto para la conexion 
$extension explode(".",$archivo_name);  
$num count($extension)-1;  
if(
$extension[$num] == "$_GET["formato"]")//aca podrias hacer algo desde el formulario para que tome el valor que se desea enviar... 
{  
    if(
$archivo_size 100000)  
    { 
       if(!
copy($archivo,"rutaDondeGuardar/".$archivo_name)) 
       { 
       echo 
"Error inesperado al copiar el archivo, intente nuevamente..."
       echo 
'<br><br><input type="submit" name="Atrás" value="Atrás"     onClick="javascript:history.back(-1);">'
       }  
       else 
       { 
       
$link=Conectarse(); 
       
mysql_query("insert into soporte(comentario_cliente,archivo_cliente) values ('$comentario_cliente','$archivo_cliente')",$link);//aca es donde te inserta el registro en la db y ya te ha subido el file al dir... el dir debe estar con 777 
echo "<font face=Verdana size=2 color=336699>archivo subido correctamente!</font><br><br>"
       }  
    }  
    else  
    { 
    echo 
"<font face=Verdana size=2 color=336699><b>ERROR, su archivo no pudo ser subido al servidor, exede el peso permitido 100kb"
    echo 
'<br><br><input type="submit" name="Atrás" value="Atrás" onClick="javascript:history.back(-1);">'
    } 
     
}  
else  
{    
echo 
"<font face=Verdana size=2 color=ff0000><b>ERROR! Recuerde, solo formato<b>$formato</b>"
echo 
'<br><br><input type="submit" name="Atrás" value="Atrás" onClick="javascript:history.back(-1);">'
}  
?>

<form enctype="multipart/form-data" action="nuevocomentario.php" METHOD="post">
                          <table width="470" height="18" cellpadding="2" cellspacing="2" class="estilotabla">
                            <tr>
                              <td colspan="2" class="estilocelda">ENVIAR SOPORTE </td>
                            </tr>
                            <tr>
                              <td><INPUT TYPE="hidden" NAME="id" VALUE="<?=$_SESSION['id']?>">
                              </td>
                              <td>&nbsp;</td>
                            </tr>
                            <tr>
                              <td width="128">Comentarios:</td>
                              <td width="326">
                                <textarea name="comentario_cliente" id="comentario_cliente"></textarea></td>
                            </tr>
                            <tr>
                              <td>Archivo:</td>
                              <td><input name="archivo_cliente" type="file" id="archivo_cliente" size="20" /></td>
                            </tr>
                            <tr>
                              <td>&nbsp;</td>
                              <td><input name="enviar" type="submit" id="enviar" value="Enviar" /></td>
                            </tr>
                          </table>
                        </form>

...

</html>

Te pregunto esto porque tengo la duda de que action tengo que hacer en el formulario...

Gracias tio.....
  #7 (permalink)  
Antiguo 15/06/2006, 15:42
Avatar de MWNS  
Fecha de Ingreso: julio-2003
Mensajes: 528
Antigüedad: 14 años, 4 meses
Puntos: 2
hola

Código PHP:
$extension explode(".",$archivo_name); 
ponla de modo que la $var que recibe sea la idonea, otra cosa, los codes que posteas estan para que sea una page -autoprocesada- o no,... dependiendo de eso cambiaria el form...
el query estaria bien...
el form deberia ser algo asi para que no limites el envio del formato a uno solo

Código PHP:
<form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF'?>" METHOD="post">
                          <table width="470" height="18" cellpadding="2" cellspacing="2" class="estilotabla">
                            <tr>
                              <td colspan="2" class="estilocelda">ENVIAR SOPORTE </td>
                            </tr>
                            <tr>
                              <td><INPUT TYPE="hidden" NAME="id" VALUE="<?=$_SESSION['id']?>">                              </td>
                              <td>&nbsp;</td>
                            </tr>
                            <tr>
                              <td width="128">Comentarios:</td>
                              <td width="326">
                                <textarea name="comentario_cliente" id="comentario_cliente"></textarea></td>
                            </tr>
                            <tr>
                              <td>Seleccione formato a enviar </td>
                              <td><label>
                                <select name="formato">
                                  <option value="gif">Gif</option>
                                  <option value="jpg">Jpg</option>
                                  <option value="pdf">Pdf</option>
                                  <option value="etc...">etc...</option>
                                </select>
                              </label></td>
                            </tr>
                            <tr>
                              <td>Archivo:</td>
                              <td><input name="archivo_cliente2" type="file" id="archivo_cliente2" size="20" /></td>
                            </tr>
                            <tr>
                              <td>&nbsp;</td>
                              <td><input name="enviar2" type="submit" id="enviar2" value="Enviar" /></td>
                            </tr>
                          </table>
</form>
de resto creo que deberia funcionar...
__________________
MWNS
Mario Navas
http://marionavas.com
  #8 (permalink)  
Antiguo 15/06/2006, 16:07
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 7 meses
Puntos: 0
Me da error

Me da un error
Parse error: parse error, unexpected '\"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/gekuar/public_html/clientes/cliente_soporte.php on line 31

y en la linea 31 esta:
Código:
if($extension[$num] == "$_GET[".jpg"]")//aca podrias hacer algo desde el formulario para que tome el valor que se desea enviar...
Algo tengo que hacer mal, y la verdad que soy muy torpe para estas cosas...

Como antes te nombraba tengo en la misma hoja php este codigo:

envio.php

Código PHP:
<html>
...

<?php 
include("conex.php"); //esto para la conexion 
$extension explode(".",$archivo_name);  
$num count($extension)-1;  
if(
$extension[$num] == "$_GET[".jpg"]")//aca podrias hacer algo desde el formulario para que tome el valor que se desea enviar... 
{  
    if(
$archivo_size 100000)  
    { 
       if(!
copy($archivo,"soporte/".$archivo_name)) 
       { 
       echo 
"Error inesperado al copiar el archivo, intente nuevamente..."
       echo 
'<br><br><input type="submit" name="Atrás" value="Atrás"     onClick="javascript:history.back(-1);">'
       }  
       else 
       { 
       
$link=Conectarse(); 
       
mysql_query("insert into soporte(comentario_cliente,archivo_cliente) values ('$comentario_cliente','$archivo_cliente')",$link);//aca es donde te inserta el registro en la db y ya te ha subido el file al dir... el dir debe estar con 777 
echo "<font face=Verdana size=2 color=336699>archivo subido correctamente!</font><br><br>"
       }  
    }  
    else  
    { 
    echo 
"<font face=Verdana size=2 color=336699><b>ERROR, su archivo no pudo ser subido al servidor, exede el peso permitido 100kb"
    echo 
'<br><br><input type="submit" name="Atrás" value="Atrás" onClick="javascript:history.back(-1);">'
    } 
     
}  
else  
{    
echo 
"<font face=Verdana size=2 color=ff0000><b>ERROR! Recuerde, solo formato<b>$formato</b>"
echo 
'<br><br><input type="submit" name="Atrás" value="Atrás" onClick="javascript:history.back(-1);">'
}  
?>  <form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF'?>" METHOD="post">
                          <table width="470" height="18" cellpadding="2" cellspacing="2" class="estilotabla">
                            <tr>
                              <td colspan="2" class="estilocelda">ENVIAR SOPORTE </td>
                            </tr>
                            <tr>
                              <td><input type="hidden" name="id" value="<?=$_SESSION['id']?>" />
                              </td>
                              <td>&nbsp;</td>
                            </tr>
                            <tr>
                              <td width="128">Comentarios:</td>
                              <td width="326">
                                <textarea name="comentario_cliente" id="comentario_cliente"></textarea></td>
                            </tr>
                            <tr>
                              <td>Seleccione formato: </td>
                              <td><select name="select">
                                <option value="gif">Gif</option>
                                <option value="jpg">Jpg</option>
                                <option value="pdf">Pdf</option>
                                <option value="etc...">etc...</option>
                              </select></td>
                            </tr>
                            <tr>
                              <td>Archivo:</td>
                              <td><input name="archivo_cliente" type="file" id="archivo_cliente" size="20" /></td>
                            </tr>
                            <tr>
                              <td>&nbsp;</td>
                              <td><input name="enviar" type="submit" id="enviar" value="Enviar" /></td>
                            </tr>
                          </table>
                        </form>

....

</html>

O como dirias de hacerlo mejor?
  #9 (permalink)  
Antiguo 15/06/2006, 16:10
Avatar de MWNS  
Fecha de Ingreso: julio-2003
Mensajes: 528
Antigüedad: 14 años, 4 meses
Puntos: 2
"$_GET[".jpg"]"

prueba asi

"$_GET["formato"]"

__________________
MWNS
Mario Navas
http://marionavas.com
  #10 (permalink)  
Antiguo 15/06/2006, 16:23
Avatar de MWNS  
Fecha de Ingreso: julio-2003
Mensajes: 528
Antigüedad: 14 años, 4 meses
Puntos: 2
usa cosita que se me escapaba...

en tu query estas intentando cargar el archivo como tal en la db... deberias guardar su url en la db.

el code que te pase te sube el archivo a un dir especifico (if(!copy($archivo,"***********soporte_cliente**** ****/".$archivo_cliente)))

y luego llamar(o descargar) al archivo por medio de ese link...

un saludo
__________________
MWNS
Mario Navas
http://marionavas.com
  #11 (permalink)  
Antiguo 15/06/2006, 16:51
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 7 meses
Puntos: 0
De acuerdo sigue igual

me sigue dando el error...

respecto a lo que me as dicho del query he puesto lo siguiente

Código PHP:
 mysql_query("insert into soporte(comentario_cliente,archivo_cliente) values ('$comentario_cliente','$archivo,"soporte/".$archivo_name')",$link
valdria asi?

y el error que me da es en la linea 31 que es lo qeu te decia antes

y perdona por darte el foyon y gracias por aguantarme

Pero a ver si podemos sacar esto tb... gracais
  #12 (permalink)  
Antiguo 15/06/2006, 17:08
Avatar de MWNS  
Fecha de Ingreso: julio-2003
Mensajes: 528
Antigüedad: 14 años, 4 meses
Puntos: 2
podrias usar algo asi:

en el form:

<INPUT TYPE="hidden" NAME="url" VALUE="http://tuhost/carpeta/$archivo_cliente">

en el query:

mysql_query("insert into soporte(comentario_cliente,rutaArchivo) values ('$comentario_cliente','$url')",$link)

y luego lo llamarias

select * from tabla(...etc...etc)
while($row = mysql_fetch_array){...etc etc...}
$row['rutaArchivo']

;prueba asi:

Código PHP:
if($extension[$num] == $_GET["formato"]) 

un saludo
__________________
MWNS
Mario Navas
http://marionavas.com
  #13 (permalink)  
Antiguo 20/06/2006, 07:39
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 7 meses
Puntos: 0
esto no lo entiendo....
  #14 (permalink)  
Antiguo 25/06/2006, 22:52
Avatar de MWNS  
Fecha de Ingreso: julio-2003
Mensajes: 528
Antigüedad: 14 años, 4 meses
Puntos: 2
hola... oime decime tus dudas... un saludo
__________________
MWNS
Mario Navas
http://marionavas.com
  #15 (permalink)  
Antiguo 22/02/2007, 13:25
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 7 meses
Puntos: 0
Re: ¿Como se puede enviar un archivo y texto a la vez desde un formulario?

A ver si me aclaro, que no consigo sacarle punta a esto...

Tengo el siguiente codigo que me lo sube todo correctamente a la BD:

Código PHP:
<?php 
//establece una conexión con la base de datos. 
$conexion mysql_connect("localhost","xxx","xxx") or die("No se pudo realizar la conexion con el servidor."); 
mysql_select_db("xxx",$conexion) or die("No se puede seleccionar BD"); // tu_bd es el nombre de la Base de datos .. por siaca. 

// archivo temporal (ruta y nombre). 
$binario_nombre_temporal=$_FILES['archivo']['tmp_name'] ; 

// leer del archvio temporal .. el binario subido. 
// "rb" para Windows .. Linux parece q con "r" sobra ... 
$binario_contenido addslashes(fread(fopen($binario_nombre_temporal"rb"), filesize($binario_nombre_temporal))); 

// Obtener del array FILES (superglobal) los datos del binario .. nombre, tabamo y tipo. 
$binario_nombre=$_FILES['archivo']['name']; 
$binario_peso=$_FILES['archivo']['size']; 
$binario_tipo=$_FILES['archivo']['type']; 

//insertamos los datos en la BD. 
$consulta_insertar "INSERT INTO productos (id, nombre, en_name, descripcion, en_description, precio, descuento, oferta, referencia, estilo, en_style, tipo, en_tipe, estado, fabricante, archivo_binario,archivo_nombre,archivo_peso,archivo_tipo) VALUES ('','$nombre','$en_name','$descripcion','$en_description','$precio','$descuento','$oferta','$referencia','$estilo','$en_style','$tipo','$en_tipe','$estado','$fabricante', '$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo')"
mysql_query($consulta_insertar,$conexion) or die("No se pudo insertar los datos en la base de datos."); 
header("location: $HTTP_REFERER");  // si ha ido todo bien 
exit; 
?>
Este otro es donde sube la imagen y tal.. pero como podria poner este codigo para que en vez de subirme la imagen a la BD me la suba a una carpeta especifica de la ftp. No consigo solucionarlo...
Código:
'$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo'
  #16 (permalink)  
Antiguo 22/02/2007, 13:52
 
Fecha de Ingreso: julio-2005
Mensajes: 24
Antigüedad: 12 años, 5 meses
Puntos: 0
Re: ¿Como se puede enviar un archivo y texto a la vez desde un formulario?

Aqui te va el código que me solicitaste:
La forma que utilizo para abrir el explorador cuando voy a seleccionar el archivo tiene el ENCTYPE, checa eso

<?php
include "abrir_base_de_datos.php";

echo <<< HTML
<br>
<center>
<font face=verdana size=2 color=$pro_font_color>
HTML;
echo <<< HTML
<b>Transferencia de archivos<br>
</b>
<br>
</center>

<font face=verdana size=2 color=$pro_font_color>
<script language='javascript' src="popcalendar.js"></script>
HTML;
if (!isset($opcion) or ($opcion == ""))
{
$opcion = "inicio";
}
$fecha_hoy = date('Y-m-d');
#################### SECCION MENSAJE ####################
if ($opcion == "mensaje")
{
echo <<< HTML
<center>
<br>
<b>$mensaje</b>
<br>
<br>
HTML;
if ($regresar != "no")
{echo "<b><a href=\"javascript:history.go(-2)\">Regresar</a></b>";}
if ($salir != "no")
{echo "&nbsp<b><a href=\"$PHP_SELF\">Salir</a></b>";}
echo <<< HTML
</center>
HTML;
} ### de opcion = mensaje


#################### SECCION AGREGAR Y LISTAR ####################
#################### SECCION AGREGAR ####################
if ($opcion == "inicio")
{
echo <<< HTML
<center>
<br><br>

<form method="POST" action="$PHP_SELF" name="Forma" ENCTYPE="multipart/form-data">

<input type=hidden name=opcion value=agregar2>
<input type=hidden name=id_sdc size=11 value="$id_sdc" >

<table width=80% cellspacing=1.00 cellpadding=3 border=0 bgcolor=black>
<tr>
<td colspan=2 bgcolor=silver style="color:black" align=center>
<b>Agregar Datos</b>
</td>
</tr>
<tr>
<td align=top valign=left style="font-weight:bold; color=black;" bgcolor=#f0f0f0 title="">Archivo</td>
<td align=top valign=left style="font-weight:bold; color=black;" bgcolor=white>
<input type=file name=p_imagen size=80 value="" maxlength=80 >
</td>
</tr>
<tr>
<td colspan=2 bgcolor=#f0f0f0>
<input type=submit value="Agregar">
</td>
</tr>
</table>
</form>
<br>
HTML;
#################### SECCION LISTAR ####################
echo <<< HTML
<table width=90% cellspacing=1.00 cellpadding=3 border=0 bgcolor=black>
<tr bgcolor=silver style="color:black; font-weight:bold">
<td><font color=black>Fecha</a></td>
<td><font color=black>Nombre de archivo</a></td>
<td>Bajar</a></td>
<td>Borrar</td>
</tr>
HTML;

$select = "select id, fecha, nombre_archivo from archivos where id_sdc = '$id_sdc'";

$resultados = mysql_query($select, $conexion);
if (!isset($pag)) { $pag = 1;}
if (!isset($tampag)) { $tampag = 30;}
$reg1 = ($pag-1) * $tampag;
if ($resultados) {$total_paginar = mysql_num_rows($resultados);}
else {$total_paginar = 0;}
$elementos=0;
for ($i_paginar=$reg1; $i_paginar<min($reg1+$tampag, $total_paginar); $i_paginar++)
{
if ($total_paginar > 0)
{
mysql_data_seek($resultados, $i_paginar);
$row = mysql_fetch_array($resultados);
$elementos++;
$p_id = $row[0];
$p_fecha = $row[1];
$p_nom_archivo = $row[2];
}
if (($elementos % 2) == 0)
{
$bgcolor = "white";
$txcolor = "black";
}
else
{
$bgcolor = "#f0f0f0";
$txcolor = "black";
}

echo <<< HTML
<tr bgcolor=$bgcolor style="color=">
<td align=left valign=top >$p_fecha</td>
<td align=left valign=top >$p_nom_archivo</td>
<td><a href="$PHP_SELF?opcion=descargar&llave=$p_id&nombr e=$p_nom_archivo&id_sdc=$id_sdc">Bajar</a></td>
<td><a href="$PHP_SELF?opcion=borrar&llave=$p_id&nombre=$ p_nom_archivo&id_sdc=$id_sdc" onclick="if(!confirm('Desea borrar el archivo seleccionado')){return false}">Borrar</a></td>
</tr>
HTML;
}
echo <<< HTML
<tr>
<td bgcolor=silver style="color:black" colspan =4>
HTML;
if ($filtro == "")
{
echo "$i_paginar registros de $total_paginar<br>";
}
else
{
echo "$i_paginar registros de $total_paginar (filtrado)<br>";
}
echo <<< HTML
</td>
</tr>
</table>
<br>
HTML;
if (isset($orden)) {$orden_val = "&orden=$orden";}
if (isset($filtro)) {$filtro_val = "&filtro=$filtro";}
echo paginar($pag, $total_paginar, $tampag, "$PHP_SELF?$orden_val&$filtro_val&".$link."pag =");
echo <<< HTML
<br>
</center>
HTML;
} ### de opcion = listar

#################### SECCION AGREGAR 2 ####################
if ($opcion == "agregar2")
{


$fecha_hoy = date('Y-m-d');

if ($p_imagen != "" && $p_imagen != 'none')
{
if (file_exists('../archivos/'.$p_imagen_name))
{
echo "<script>window.alert('El nombre de archivo ya existe en el servidor')</script>";
}
else
{
if (!copy($p_imagen, '../archivos/'.$p_imagen_name))
{
echo "<script>window.alert('Falló el envio de archivo')</script>";
}
else
{
echo "<script>window.alert('El archivo se copió correctamente')</script>";
$insert = "insert into archivos (id, id_sdc, fecha, nombre_archivo) values (0, '$id_sdc', '$fecha_hoy', '$p_imagen_name')";
mysql_query($insert, $conexion);
}

}
}
echo"<script>location.href='$PHP_SELF?id_sdc=$id_s dc&opcion=inicio'</script>";
exit;
} ### de opcion = agregar2
#################### SECCION BORRAR####################
if ($opcion == "borrar")
{
if (!unlink('../archivos/'.$nombre))
{
echo "<script>window.alert('El archivo no se pudo borrar')</script>";
}
else
{
echo "<script>window.alert('El archivo se borró correctamente')</script>";
$delete = "delete from archivos where id = '$llave'";
mysql_query($delete, $conexion);
}
echo"<script>location.href='$PHP_SELF?id_sdc=$id_s dc&opcion=inicio'</script>";
}


#################### PIE DE PAGINA DEL PROGRAMA ####################
echo <<< HTML
</BODY>
<HTML>
HTML;
?>
  #17 (permalink)  
Antiguo 22/02/2007, 14:08
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 7 meses
Puntos: 0
Re: ¿Como se puede enviar un archivo y texto a la vez desde un formulario?

PFFF la verdad que muy completo pero no entiendo la mitad, quizas sea mejor que intente añadir lo que quiero al codigo que tengo creado ya que lo entiendo un poco mejor y lo tengo aqui: http://www.forosdelweb.com/f18/insertar-imagenes-ftp-no-bd-465438/

Que solo seria añadir eso, lo que mucha gente me ha dicho, subir la imagen a la ftp y la url a la BD, pero no se como hacerlo
  #18 (permalink)  
Antiguo 25/02/2007, 11:37
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 7 meses
Puntos: 0
Re: ¿Como se puede enviar un archivo y texto a la vez desde un formulario?

Cita:
Iniciado por MWNS Ver Mensaje
hola... oime decime tus dudas... un saludo

Hola MWNS ya que con tu codigo me fue bien y luego lo cambie por otro para meterlo directamente en la BD, podrías decidme como puedo hacerlo ahora para combinar lo mismo que ago para insertar tanto imagen como texto a la BD, hacer que suba el texto a la BD y la imagen a la ftp.

Te lo agradeceria mucho. UN SALUDO
  #19 (permalink)  
Antiguo 25/02/2007, 12:06
Avatar de MWNS  
Fecha de Ingreso: julio-2003
Mensajes: 528
Antigüedad: 14 años, 4 meses
Puntos: 2
Re: ¿Como se puede enviar un archivo y texto a la vez desde un formulario?

hola, te envié un MP, agrégame al messenger marionavas(arroba)msn.com y te ayudo con ésto.

__________________
MWNS
Mario Navas
http://marionavas.com
  #20 (permalink)  
Antiguo 26/02/2007, 14:55
Avatar de wesse  
Fecha de Ingreso: junio-2003
Ubicación: España
Mensajes: 577
Antigüedad: 14 años, 6 meses
Puntos: 1
Re: ¿Como se puede enviar un archivo y texto a la vez desde un formulario?

Creo que lo que quieres es unir dos formularios del tipo:

Código HTML:
<FORM METHOD="POST" ACTION="nuevo.php"> 
Nombre<br> <INPUT TYPE="TEXT" NAME="nombre"><br> 
Apellido<br> <INPUT TYPE="TEXT" NAME="apellido"><br> 
Teléfono<br> <INPUT TYPE="TEXT" NAME="telefono"><br> 
Sexo<br> <INPUT TYPE="TEXT" NAME="sexo"><br> 
<INPUT TYPE="SUBMIT" NAME="Insertar" value="insertar"> 
</FORM> <? if(isset($_POST['nameSubmitInsertar'])) { //Conexion mysql_connect("x","x","x"); 
mysql_select_db("x"); 
$nombre = $_POST["nombre"]; 
$apellido = $_POST["apellido"]; 
$telefono = $_POST["telefono"]; 
$sexo = $_POST["sexo"]; $fecha = date("d/m/Y"); 
$hora = strftime("%H:%M:%s"); 
$sSQL="insert into personas (nombre,apellido,telefono,sexo,fecha,hora) values ('$nombre','$apellido','$telefono','$sexo','$fecha','$hora')"; 
mysql_db_query("x",$sSQL); } ?> 


y el del archivo:


Código HTML:
<html>
<head>
<title>Upload</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<? 

if($boton) { 
if (is_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name'])) { 
if($HTTP_POST_FILES['archivo']['size'] < 85000) { 
if($HTTP_POST_FILES['archivo']['type']=="image/gif" || $HTTP_POST_FILES['archivo']['type']=="image/jpeg" || $HTTP_POST_FILES['archivo']['type']=="image/pjpeg") { 
$sNombreDirectorio = "foto/"; 
copy($HTTP_POST_FILES['archivo']['tmp_name'],$sNombreDirectorio.$HTTP_POST_FILES['archivo']['name']);
$subio = true; 
} 
} 
} 

if($subio) { 
echo "El archivo subio con exito"; 
} else { 
echo "El archivo no cumple con las reglas establecidas"; 
} 
die(); 
} 

?> 
<html> 
<head> 
<title>Upload</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
</head> 

<body> 
<form action="<?=$PHP_SELF?>" method="post" enctype="multipart/form-data" name="form1"> 
<p align="center">Archivo 
<input name="archivo" type="file" id="archivo">
</p> 
<p align="center"><input name="boton" type="submit" value="Enviar"></p> 
</form> 
</body> 
</html> 
Sería posible unir estos dos formularios para subir los datos en una sola vez?
  #21 (permalink)  
Antiguo 26/02/2007, 17:08
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 7 meses
Puntos: 0
Re: ¿Como se puede enviar un archivo y texto a la vez desde un formulario?

No si es posible me gustaria hacerlo todo en el mismo paso..., aunque el codigo que me pasaste no lo entiendo muy bien creo que le falta algo para entenderlo mas nose...

Y MWNS, ya recibi tu correo...
  #22 (permalink)  
Antiguo 27/02/2007, 13:58
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 7 meses
Puntos: 0
Re: ¿Como se puede enviar un archivo y texto a la vez desde un formulario?

No se pero tengo muy mala suerte.
No me sube la imagen correctamente...

Y nose pero voy a volver a poner el codigo porque quizas este poniendo algo mal yo nose..

Código PHP:
<?php        
$extension 
explode(".",$foto);   
$num count($extension)-1;  
if(
$extension[$num] == $_GET["formato"])//aca podrias hacer algo desde el formulario para que tome el valor que se desea enviar...  
{   
    if(
$archivo_size 70000000)   
    {  
       if(!
copy($archivo,"fotos/".$foto))  
       {  
       echo 
"Error inesperado al copiar el archivo, intente nuevamente...";  
       echo 
'<br><br><input type="submit" name="Atrás" value="Atrás"     onClick="javascript:history.back(-1);">';  
       }   
       else  
       {  
       
$link=Conectarse();  
       
mysql_query("INSERT INTO promociones (id, poblacion, ciudad, precio, referencia, m2,telefono1,telefono2, tipologia, estado, descripcion, foto) VALUES ('','$poblacion','$ciudad','$precio','$referencia','$m2','$telefono1','$telefono2','$tipologia','$estado','$descripcion','$foto')",$link);//aca es donde te inserta el registro en la db y ya te ha subido el file al dir... el dir debe estar con 777  
echo "<font face=Verdana size=2 color=336699>archivo subido correctamente!</font><br><br>";  
       }   
    }   
    else   
    {  
    echo 
"<font face=Verdana size=2 color=336699><b>ERROR, su archivo no pudo ser subido al servidor, exede el peso permitido 100kb";  
    echo 
'<br><br><input type="submit" name="Atrás" value="Atrás" onClick="javascript:history.back(-1);">';  
    }  
      
}   
else   
{     
echo 
"<font face=Verdana size=2 color=ff0000><b>ERROR! Recuerde, solo formato<b>$formato</b>";  
echo 
'<br><br><input type="submit" name="Atrás" value="Atrás" onClick="javascript:history.back(-1);">';  
}   
?>
Y este el formulario que va todo en el mismo archivo php.

Código HTML:
<FORM ACTION="<?php echo $_SERVER['PHP_SELF'] ?>" enctype="multipart/form-data" method="post">
          <table width="95%" align="center">
            <tr>
              <td width="2%" colspan="2" ><INPUT TYPE="hidden" NAME="foto" VALUE="http://www.elvalledelsol.com/web/fotos/$foto"></td>
              <td width="2%" colspan="2"><div align="right"></div></td>
            </tr>
            <tr>
              <td><div align="left"><span class="TextoT8"><strong>Poblaci&oacute;n:</strong></span></div></td>
              <td><input type="text" name="poblacion"  rows="5" cols="40" class="input147" maxlength="255" id="poblacion2" /></td>
              <td><div align="left"><span class="TextoT8"><strong>Ciudad:</strong></span></div></td>
              <td><input type="text" name="ciudad"  rows="5" cols="40" class="input147" maxlength="255" id="ciudad2"/></td>
            </tr>
            <tr>
              <td nowrap class="TextoT8"><div align="left"><strong>Precio (&euro;): </strong></div></td>
              <td nowrap >
                <input type="text" name="precio"  rows="5" cols="40" class="input147" maxlength="255" id="precio2" /></td>
              <td nowrap class="TextoT8"><div align="left"><strong>Referencia:</strong></div></td>
              <td nowrap >
                <input type="text" name="referencia"  rows="5" cols="40" class="input147" maxlength="255" id="referencia2" /></td>
            </tr>
            <tr>
              <td nowrap class="TextoT8"><div align="left"><strong>M2:</strong></div></td>
              <td nowrap >
                <input type="text" name="m2"  rows="5" cols="40" class="input147" maxlength="255" id="m22"/></td>
              <td nowrap class="TextoT8"><div align="left"><strong>Tel&eacute;fono de contacto 1: </strong></div></td>
              <td nowrap >
                <input type="text" name="telefono"  rows="5" cols="40" class="input147" maxlength="255" id="telefono2"/></td>
            </tr>
            <tr>
              <td nowrap class="TextoT8">&nbsp;</td>
              <td nowrap >&nbsp;</td>
              <td nowrap class="TextoT8"><div align="left"><strong>Tel&eacute;fono de contacto 2: </strong></div></td>
              <td nowrap >
                <input type="text" name="telefono2"  rows="5" cols="40" class="input147" maxlength="255" id="telefono"/></td>
            </tr>
            <tr>
              <td nowrap class="TextoT8"><div align="left"><strong>Tipolog&iacute;a:</strong></div></td>
              <td nowrap >
                <select name="tipologia" class="input147">
                  <option value="Seleccione Tipologia" selected="selected">Seleccione Tipologia</option>
                  <option value="Chalet">Chalet</option>
                  <option value="Duplex">Duplex</option>
                  <option value="Apartamento">Apartamento</option>
                  <option value="Rustico">Rustico</option>
                  <option value="Bajo comercial">Bajo comercial</option>
                  </select></td>
              <td nowrap class="TextoT8"><div align="left"><strong>Estado:</strong></div></td>
              <td nowrap ><span class="TextoT8">
                
       on
      <input name="estado" type="radio" value="on" />
      off
      <input name="estado" type="radio" value="off" />
              </span></td>
            </tr>
            <tr>
              <td nowrap class="TextoT8"><div align="left"><strong>Descripci&oacute;n:</strong></div></td>
              <td colspan="3" nowrap >
                <textarea type="text" name="descripcion"  rows="10" cols="80" class="input471x91" id="textarea"></textarea></td>
            </tr>
            <tr>
              <td nowrap class="TextoT8"><strong>Imagen:</strong></td>
              <td colspan="3" nowrap class="TextoT8"><input name="foto" type="file" class="input147" id="foto"/></td>
              </tr>
            <tr>
              <td colspan="4" nowrap class="volver"><div align="center"><br />
                      <br /><input type="submit" name="boton" value="insertar" style="height:17px" />
              </div></td>
            </tr>
          </table>
          </form> 
En principio antes de insertar la imagen y todo, sale el formulario + el mensaje de por ejemplo "ERROR! Recuerde, solo formato" pero que realmente no he puesto nada todavia... entonces nose que pasa.. Y estoy aqui alocado buscando el problema y no le doy solucion
  #23 (permalink)  
Antiguo 05/03/2007, 13:52
Avatar de wesse  
Fecha de Ingreso: junio-2003
Ubicación: España
Mensajes: 577
Antigüedad: 14 años, 6 meses
Puntos: 1
Re: ¿Como se puede enviar un archivo y texto a la vez desde un formulario?

Raules lo conseguiste al final?
  #24 (permalink)  
Antiguo 05/03/2007, 13:53
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 7 meses
Puntos: 0
Re: ¿Como se puede enviar un archivo y texto a la vez desde un formulario?

Si gracias Wesse
  #25 (permalink)  
Antiguo 08/03/2007, 08:36
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 7 meses
Puntos: 0
Re: ¿Como se puede enviar un archivo y texto a la vez desde un formulario?

Es el codigo del msn nº 22 pero tienes que incluir en el formulario un imput con distintos formatos (.jpg, .gif, o el que sea la imagen.)
  #26 (permalink)  
Antiguo 20/03/2007, 17:20
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 7 meses
Puntos: 0
Re: ¿Como se puede enviar un archivo y texto a la vez desde un formulario?

Habria alguna posibilidad que en el caso de que el campo del formulario este vacio en la BD llegue un valor predeterminado qeu le pueda asignar?
  #27 (permalink)  
Antiguo 20/03/2007, 22:50
Avatar de MWNS  
Fecha de Ingreso: julio-2003
Mensajes: 528
Antigüedad: 14 años, 4 meses
Puntos: 2
Re: ¿Como se puede enviar un archivo y texto a la vez desde un formulario?

Cita:
Habría alguna posibilidad que en el caso de que el campo del formulario este vacío en la BD llegue un valor predeterminado que le pueda asignar?
osea que si dejas el campo vacío en tu formulario hacer que algo se INSERT en la DB ¿? es eso ¿?

si es así podrías hacer lo siguiente:

-teniendo en cuenta que ya tienes listo tu INSERT INTO TABLA... ...(etc)-

Código PHP:
if($myInput == "")$myInput "Dato"
ya con eso consigues que si tu campo en el formulario está vacío ingrese un valor predeterminado (en este ejemplo, Dato) a la DB, ya que de estar lleno el input text (en este caso lo llame myInput) ese if nunca se activaría permitiendo que sea la info que se ingresó en él la que se guarde en la db.

Bueno, me cuentas si era esa tu duda , no se si entendí bien tu post

chao
__________________
MWNS
Mario Navas
http://marionavas.com

Última edición por MWNS; 20/03/2007 a las 22:57
  #28 (permalink)  
Antiguo 21/03/2007, 04:52
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 7 meses
Puntos: 0
Re: ¿Como se puede enviar un archivo y texto a la vez desde un formulario?

entonces deberia ponerlo aqui:

Código PHP:
{   
       
$link=Conectarse();   
       
mysql_query("INSERT INTO promociones (id, poblacion, ciudad, precio, referencia, m2,telefono1,telefono2, tipologia, estado, descripcion, foto) VALUES ('','$poblacion','$ciudad','$precio','$referencia','$m2','$telefono1','$telefono2','$tipologia','$estado','$descripcion','$foto')",$link);
   
if(
$myInput == "")$myInput "Dato";   
       } 
Con cada campo del formulario verdad?
En ese caso como añaderia mas if? o resultados?
  #29 (permalink)  
Antiguo 21/03/2007, 08:18
Avatar de MWNS  
Fecha de Ingreso: julio-2003
Mensajes: 528
Antigüedad: 14 años, 4 meses
Puntos: 2
Re: ¿Como se puede enviar un archivo y texto a la vez desde un formulario?

Código PHP:
{
$link=Conectarse();   
mysql_query("INSERT INTO promociones (id, poblacion, ciudad, precio, referencia, m2,telefono1,telefono2, tipologia, estado, descripcion, foto) VALUES ('','$poblacion','$ciudad','$precio','$referencia','$m2','$telefono1','$telefono2','$tipologia','$estado','$descripcion','$foto')",$link);
if(
$myInput == "")$myInput "Dato";   

mmm ahora creo entender a que te referías con tu anterior post, hablabas por ejemplo sobre tu campo id en la base de datos?, es que veo que posiblemente manejas ese campo en tu tabla promociones como tu llave, osea un campo con "Extra" auto_increment.

De ser así, mmm, te cuento que no es necesario que pongas en tu INSERT ese campo y el VALUE en vacío, ya que por cada registro que añadas a la tabla ese campo tomará automáticamente el siguiente número al último, sin necesidad de como te digo lo especifiques en el INSERT.

Una pregunta, en tu tabla promociones cuál es el campo autoincrementable ¿?

Y bueno, de no ser así te pongo acá la forma de usar el if que te dije, llegado el caso que tu campo id sea otro campo más de info en tu tabla:

Código PHP:
{
$link=Conectarse();

//podes usar el $_GET o el $_POST de acuerdo como envíes tus variables
//De esta forma consigues que si envían en tu formulario el campo id en blanco este if lo detecte y convierta el valor en blanco en la cadena DATO
//y en la DB se te gusrde DATO
if($_GET[myInput] == ""$myInput "Dato";

mysql_query("INSERT INTO promociones (id, poblacion, ciudad, precio, referencia, m2,telefono1,telefono2, tipologia, estado, descripcion, foto) VALUES ('$myInput','$poblacion','$ciudad','$precio','$referencia','$m2','$telefono1','$telefono2','$tipologia','$estado','$descripcion','$foto')",$link); 

Cita:
Con cada campo del formulario verdad?
En ese caso como añadiría mas if? o resultados?
Sep ,con cada uno de los campos puedes implementar un if similar (aunque, deberías buscar validar primero en el cliente (con algo de JavaScript)
y tambien en tu script php por si deshabilitan javaScript en el navegador.)

Añadir más if lo puedes hacer asi:

Código PHP:
if($_GET[myInput] == ""$myInput "No se asignó ID";
if(
$_GET[myInput2] == ""$myInput2 "No se definió Población";
if(
$_GET[myInput3] == ""$myInput3 "No se definió Ciudad";

mysql_query("INSERT INTO promociones (id, poblacion, ciudad, precio, referencia, m2,telefono1,telefono2, tipologia, estado, descripcion, foto) VALUES ('$myInput','$myInput2','$myInput3','$precio','$referencia','$m2','$telefono1','$telefono2','$tipologia','$estado','$descripcion','$foto')",$link);

// o por medio de if anidados: 

if(1ra_pregunta)
{
hago algo}

elseif(
2da_pregunta)
{
hago algo para la 2 pregunta}

elseif(
3ra_pregunta)
{
hago algo para la 2 pregunta}

//Si ninguna de las anteriores hago algo definitivo acá
else{finiquito_el_tema
Bueno, cuenta si en algo aclara tu duda lo anterior, y si no era eso pregunta nuevamente pero intenta ser claro con tu pregunta

chao
__________________
MWNS
Mario Navas
http://marionavas.com

Última edición por MWNS; 21/03/2007 a las 08:32
  #30 (permalink)  
Antiguo 21/03/2007, 15:11
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 7 meses
Puntos: 0
Re: ¿Como se puede enviar un archivo y texto a la vez desde un formulario?

Creo que estoy poniendo muchos "if" o no los estoy poniendo en su sitio


Código PHP:
<?php        

$extension 
explode(".",$archivo_name);
$num count($extension)-1
if((
$extension[$num] == "jpg") OR ($extension[$num] == "gif") OR ($extension[$num] == "JPG") OR ($extension[$num] == "bmp") OR ($extension[$num] == "GIF"))
{   
    if(
$archivo_size 900000000)   
    {  
       if(!
copy($archivo,"logos/".$archivo_name))  
           {  
             
           }   
           else  
           { 
if(
$nombre_inmobiliaria  == ""$nombre_inmobiliaria "El Valle del Sol"
if(
$cif_inmobiliaria  == ""$cif_inmobiliaria "99999999A"
if(
$provincia_inmobiliaria  == ""$provincia_inmobiliaria "MURCIA";
if(
$ciudad_inmobiliaria  == ""$ciudad_inmobiliaria "MURCIA";
if(
$direccion_inmobiliaria  == ""$direccion_inmobiliaria "Apartado de Correos 274 de Torre Pacheco (MURCIA)";
if(
$cp_inmobiliaria  == ""$cp_inmobiliaria "30700";
if(
$telefono_inmobiliaria  == ""$telefono_inmobiliaria "606691025";
if(
$web_inmobiliaria  == ""$web_inmobiliaria "www.xxxx.com";
if(
$nombre_agente  == ""$nombre_agente "PRIVADO";
if(
$email_agente  == ""$email_agente "[email protected]";
if(
$telefono_agente  == ""$telefono_agente "xxxxxx";
if(
$logo_inmobiliaria  == ""$logo_inmobiliaria "sinlogo.jpg";
       
           
$link=Conectarse();  
           
mysql_query("INSERT INTO datos_alta (id, estado, nombre_inmobiliaria, cif_inmobiliaria, provincia_inmobiliaria, ciudad_inmobiliaria, direccion_inmobiliaria, cp_inmobiliaria, telefono_inmobiliaria, fax_inmobiliaria, web_inmobiliaria, nombre_agente, email_agente, telefono_agente, condiciones_registro, acepta_condiciones, logo_inmobiliaria) VALUES ('', '$estado','$nombre_inmobiliaria','$cif_inmobiliaria','$provincia_inmobiliaria','$ciudad_inmobiliaria','$direccion_inmobiliaria','$cp_inmobiliaria','$telefono_inmobiliaria','$fax_inmobiliaria','$web_inmobiliaria','$nombre_agente','$email_agente','$telefono_agente','$condiciones_registro','$acepta_condiciones','$archivo_name')",$link);//aca es donde te inserta el registro en la db y ya te ha subido el file al dir... el dir debe estar con 777  
          
           
}   
    }   
    else   
    {  
    
    }  
      
}   
else   
{     
  
}   
?>
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 15:00.