Foros del Web » Programando para Internet » PHP »

ayuda form + vista previa

Estas en el tema de ayuda form + vista previa en el foro de PHP en Foros del Web. Gracias X leerlo amigos tengo un formulario para de ingreso de datos para una noticia, entre los datos que necesitan se ingresados hay una imagen ...
  #1 (permalink)  
Antiguo 08/05/2008, 08:36
Avatar de ACX_POISON  
Fecha de Ingreso: abril-2008
Ubicación: Talca-Chile
Mensajes: 750
Antigüedad: 16 años, 7 meses
Puntos: 7
Exclamación ayuda form + vista previa

Gracias X leerlo

amigos tengo un formulario para de ingreso de datos para una noticia, entre los datos que necesitan se ingresados hay una imagen que se solicita con un input file, todo va bien luego recolecto los datos enviados por "$_POST" a la misma pagina y muestro un resumen de los datos ingresados, el problema es que en la parte de mostrar una miniatura de la imagen no la muestra solo muestra un recuendro con una x en la esquina .

-¿como hago que se vea esta imagen en la miniatura?

este es el codigo

noticia.php

Cita:
<html>
<body>
<?
if($_POST)
{
include("../../../funciones/funcion.php");
extract($_POST);
$error=0;
//var_dump(empty($fbreve));
//var_dump(empty($fnoticia));

if(empty($fbreve))
{
$error=1;
}
if(empty($fnoticia))
{
$error=2;
}
if((empty($fnoticia))and(empty($fbreve)))
{
$error=3;
}


if($error==0)
{

$fautor=str_inde($fautor,"Anonimo");
$ftitulo=str_inde($ftitulo,"Sin Titulo");
$fbreve=str_inde($fbreve);
$fnoticia=str_inde($fnoticia);
$fimagen=strip_tags($fimagen);

$src='src="'.$fimagen.'"';


echo"$fimagen <br>$src";

echo'
<div id="Layer2">
<form action="nueva2.php" method="post" name="frmX" id="frmX">
<table width="365" height="280" border="0">
<tr>
<td colspan="2"><div align="center">Confirnacion de datos Ingresados </div></td>
</tr>
<tr>
<td width="170"><strong>Fecha:</strong></td>
<td width="185">'.$fdia.'/'.$fmes.'/'.$fano.'
<input name="ocu_fecha" type="hidden" id="ocu_fecha" value="'.$fdia.'/'.$fmes.'/'.$fano.'" /></td>
</tr>
<tr>
<td><strong>Autor:</strong></td>
<td>'.$fautor.'
<input name="ocu_autor" type="hidden" id="ocu_autor" value="'.$fautor.'" /></td>
</tr>
<tr>
<td><strong>Titulo:</strong></td>
<td>'.$ftitulo.'
<input name="ocu_titulo" type="hidden" id="ocu_titulo" value="'.$ftitulo.'" /></td>
</tr>
<tr>
<td><strong>Breve:</strong></td>
<td>'.$fbreve.'
<input name="ocu_breve" type="hidden" id="ocu_breve" value="'.$fbreve.'" /></td>
</tr>
<tr>
<td><strong>Noticia</strong></td>
<td><label>
<textarea name="noticia" rows="8" disabled="disabled" id="noticia">'.$fnoticia.' </textarea>
<input name="ocu_noticia" type="hidden" id="ocu_noticia" value="'.$fnoticia.' " />
</label></td>
</tr>
<tr>
<td><strong>Imagen:</strong></td>
<td><img '.$src.' alt="imagen" width="50" height="50" /></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<label>
<input type="submit" name="Submit3" value="Continuar&gt;&gt;" />
</label>
</div></td>
</tr>
</table>
</form>
</div>';

}
elseif($error==1)
{
echo'
<div id="Layer3"><img src="../../BAses/Images/X.jpg" alt="No Valido" width="46" height="32" /></div>';
}
elseif($error==2)
{
echo'
<div id="Layer4"><img src="../../BAses/Images/X.jpg" alt="No Valido" width="46" height="32" /></div>';
}
elseif($error==3)
{
echo'<div id="Layer3"><img src="../../BAses/Images/X.jpg" alt="No Valido" width="46" height="32" /></div>
<div id="Layer4"><img src="../../BAses/Images/X.jpg" alt="No Valido" width="46" height="32" /></div>';
}



}
?>

</body>
</html>
GRacias ----->
  #2 (permalink)  
Antiguo 08/05/2008, 08:53
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Re: ayuda form + vista previa

$fimagen es la imagen???

asi no se hace, primero debes copiar el archivo subido ((la imagen)) y luego, ya.. usas su ruta real con src=""

intenta haciendo un var_dump($_FILES); haber ke pillas...
ademas, no se ve el... <input type="file"/> ke mencionas
  #3 (permalink)  
Antiguo 08/05/2008, 08:55
Avatar de ACX_POISON  
Fecha de Ingreso: abril-2008
Ubicación: Talca-Chile
Mensajes: 750
Antigüedad: 16 años, 7 meses
Puntos: 7
Re: ayuda form + vista previa

Gracias X responder No puse el codigo completo pero este es:

Cita:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Ingreso de Noticias</title>
<style type="text/css">
<!--
#Layer1 {
position:absolute;
width:409px;
height:258px;
z-index:1;
left: 127px;
top: 148px;
}
.Estilo1 {
font-size: 24px;
font-weight: bold;
}
#Layer2 {
position:absolute;
width:364px;
height:286px;
z-index:2;
left: 127px;
top: 449px;
}
#Layer3 {
position:absolute;
width:48px;
height:30px;
z-index:2;
left: 496px;
top: 261px;
}
#Layer4 {
position:absolute;
width:51px;
height:36px;
z-index:2;
left: 496px;
top: 307px;
}
-->
</style>
</head>

<body>
<table width="540" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><div align="justify">
<p><font color="#000066" size="5" face="Arial, Helvetica, sans-serif"><strong>Administrador<br />
</strong><font size="2"><br />
</font></font><font color="#000066" size="2" face="Arial, Helvetica, sans-serif"><br />
</font><font color="#000066" size="5" face="Arial, Helvetica, sans-serif"> </font></p>
</div></td>
</tr>
</table>

<div id="Layer1">
<form action="nueva1.php" method="post" enctype="multipart/form-data" name="frm" id="frm">
<table width="408" height="257" border="0">
<tr>
<td colspan="2"><div align="center" class="Estilo1">Ingrese Una Nueva Noticia </div></td>
</tr>
<tr>
<td width="178"><strong>Fecha:</strong></td>
<td width="220"><label>
dia<?
$dia_actual = date("d");



echo('<select name="fdia">');

for($i=1;$i<=31;$i++)
{

if($i==$dia_actual)
{
echo('<option value="'.$i.'" selected="selected">'.$i.'</option>');
}
else
{
echo('<option value="'.$i.'">'.$i.'</option>');
}

}

echo('</select>');
?>
mes
<?
$mes_actual = date("n");



echo('<select name="fmes">');

for($i=1;$i<=12;$i++)
{

if($i==$mes_actual)
{
echo('<option value="'.$i.'" selected="selected">'.$i.'</option>');
}
else
{
echo('<option value="'.$i.'">'.$i.'</option>');
}

}

echo('</select>');
?>
a&ntilde;o
<?
$anio_actual = date("Y");

$anios_anteriores = $anio_actual-5;
$anios_futuros= $anio_actual +5;

echo'<select name="fano">';

for($i=$anios_anteriores;$i<=$anios_futuros;$i++)
{
if($i==$anio_actual)
{
echo('<option value="'.$i.'" selected="selected">'.$i.'</option>');
}
else
{
echo('<option value="'.$i.'">'.$i.'</option>');
}

}

echo('</select>');
?>
</label></td>
</tr>
<tr>
<td><strong>Autor</strong></td>
<td><label>
<input name="fautor" type="text" id="fautor" />
</label></td>
</tr>
<tr>
<td><strong>Titulo:</strong></td>
<td><label>
<input name="ftitulo" type="text" id="ftitulo" />
</label></td>
</tr>
<tr>
<td><strong>Breve:</strong></td>
<td><label>
<textarea name="fbreve" id="fbreve"></textarea>
</label></td>
</tr>
<tr>
<td><strong>Noticia</strong></td>
<td><label>
<textarea name="fnoticia" rows="5" id="fnoticia"></textarea>
</label></td>
</tr>
<tr>
<td><strong>Imagen:</strong></td>
<td><label>
<input name="fimagen" type="file" id="fimagen" />
</label></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<label>
<input type="submit" name="Submit" value="Continuar&gt;&gt;" />
</label>
&nbsp;
<label>
<input type="reset" name="Submit2" value="Restablecer" />
</label>
</div></td>
</tr>
</table>
</form>
</div>
<?
if($_POST)
{
include("../../../funciones/funcion.php");
extract($_POST);
$error=0;
//var_dump(empty($fbreve));
//var_dump(empty($fnoticia));

if(empty($fbreve))
{
$error=1;
}
if(empty($fnoticia))
{
$error=2;
}
if((empty($fnoticia))and(empty($fbreve)))
{
$error=3;
}


if($error==0)
{

$fautor=str_inde($fautor,"Anonimo");
$ftitulo=str_inde($ftitulo,"Sin Titulo");
$fbreve=str_inde($fbreve);
$fnoticia=str_inde($fnoticia);
$fimagen=strip_tags($fimagen);

$src='src="'.$fimagen.'"';


echo"$fimagen <br>$src";

echo'
<div id="Layer2">
<form action="nueva2.php" method="post" name="frmX" id="frmX">
<table width="365" height="280" border="0">
<tr>
<td colspan="2"><div align="center">Confirnacion de datos Ingresados </div></td>
</tr>
<tr>
<td width="170"><strong>Fecha:</strong></td>
<td width="185">'.$fdia.'/'.$fmes.'/'.$fano.'
<input name="ocu_fecha" type="hidden" id="ocu_fecha" value="'.$fdia.'/'.$fmes.'/'.$fano.'" /></td>
</tr>
<tr>
<td><strong>Autor:</strong></td>
<td>'.$fautor.'
<input name="ocu_autor" type="hidden" id="ocu_autor" value="'.$fautor.'" /></td>
</tr>
<tr>
<td><strong>Titulo:</strong></td>
<td>'.$ftitulo.'
<input name="ocu_titulo" type="hidden" id="ocu_titulo" value="'.$ftitulo.'" /></td>
</tr>
<tr>
<td><strong>Breve:</strong></td>
<td>'.$fbreve.'
<input name="ocu_breve" type="hidden" id="ocu_breve" value="'.$fbreve.'" /></td>
</tr>
<tr>
<td><strong>Noticia</strong></td>
<td><label>
<textarea name="noticia" rows="8" disabled="disabled" id="noticia">'.$fnoticia.' </textarea>
<input name="ocu_noticia" type="hidden" id="ocu_noticia" value="'.$fnoticia.' " />
</label></td>
</tr>
<tr>
<td><strong>Imagen:</strong></td>
<td><img '.$src.' alt="imagen" width="50" height="50" /></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<label>
<input type="submit" name="Submit3" value="Continuar&gt;&gt;" />
</label>
</div></td>
</tr>
</table>
</form>
</div>';

}
elseif($error==1)
{
echo'
<div id="Layer3"><img src="../../BAses/Images/X.jpg" alt="No Valido" width="46" height="32" /></div>';
}
elseif($error==2)
{
echo'
<div id="Layer4"><img src="../../BAses/Images/X.jpg" alt="No Valido" width="46" height="32" /></div>';
}
elseif($error==3)
{
echo'<div id="Layer3"><img src="../../BAses/Images/X.jpg" alt="No Valido" width="46" height="32" /></div>
<div id="Layer4"><img src="../../BAses/Images/X.jpg" alt="No Valido" width="46" height="32" /></div>';
}



}
?>

</body>
</html>
  #4 (permalink)  
Antiguo 08/05/2008, 09:05
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: ayuda form + vista previa

Aun en tu código completo no veo el uso de $_FILES para obtener las propiedades del archivo, tienes que copiar primeramente la imagen al servidor y posteriormente muestras la miniatura.

Revisa este articulo: Revisar imágenes antes de subirlas.

Saludos.
  #5 (permalink)  
Antiguo 08/05/2008, 09:13
Avatar de ACX_POISON  
Fecha de Ingreso: abril-2008
Ubicación: Talca-Chile
Mensajes: 750
Antigüedad: 16 años, 7 meses
Puntos: 7
Re: ayuda form + vista previa

garcias X su ayuda pero me funciono utilizando un campo oculto en el primer form y asignandole el valor de el input file (asi onchanger="document.frm.fruta_image.value=this.val ue").(tuve de utilizar algo de script)

luego utilizo este valor para el src de la imagen. aqui dejo el codigo.

Cita:
<html>
<head>
</head>

<body>
<table width="540" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><div align="justify">
<p><font color="#000066" size="5" face="Arial, Helvetica, sans-serif"><strong>Administrador<br />
</strong><font size="2"><br />
</font></font><font color="#000066" size="2" face="Arial, Helvetica, sans-serif"><br />
</font><font color="#000066" size="5" face="Arial, Helvetica, sans-serif"> </font></p>
</div></td>
</tr>
</table>

<div id="Layer1">
<form action="nueva1.php" method="post" enctype="multipart/form-data" name="frm" id="frm">
<table width="408" height="257" border="0">
<tr>
<td colspan="2"><div align="center" class="Estilo1">Ingrese Una Nueva Noticia </div></td>
</tr>
<tr>
<td width="178"><strong>Fecha:</strong></td>
<td width="220"><label>
dia<?
$dia_actual = date("d");



echo('<select name="fdia">');

for($i=1;$i<=31;$i++)
{

if($i==$dia_actual)
{
echo('<option value="'.$i.'" selected="selected">'.$i.'</option>');
}
else
{
echo('<option value="'.$i.'">'.$i.'</option>');
}

}

echo('</select>');
?>
mes
<?
$mes_actual = date("n");



echo('<select name="fmes">');

for($i=1;$i<=12;$i++)
{

if($i==$mes_actual)
{
echo('<option value="'.$i.'" selected="selected">'.$i.'</option>');
}
else
{
echo('<option value="'.$i.'">'.$i.'</option>');
}

}

echo('</select>');
?>
a&ntilde;o
<?
$anio_actual = date("Y");

$anios_anteriores = $anio_actual-5;
$anios_futuros= $anio_actual +5;

echo'<select name="fano">';

for($i=$anios_anteriores;$i<=$anios_futuros;$i++)
{
if($i==$anio_actual)
{
echo('<option value="'.$i.'" selected="selected">'.$i.'</option>');
}
else
{
echo('<option value="'.$i.'">'.$i.'</option>');
}

}

echo('</select>');
?>
</label></td>
</tr>
<tr>
<td><strong>Autor</strong></td>
<td><label>
<input name="fautor" type="text" id="fautor" />
</label></td>
</tr>
<tr>
<td><strong>Titulo:</strong></td>
<td><label>
<input name="ftitulo" type="text" id="ftitulo" />
</label></td>
</tr>
<tr>
<td><strong>Breve:</strong></td>
<td><label>
<textarea name="fbreve" id="fbreve"></textarea>
</label></td>
</tr>
<tr>
<td><strong>Noticia</strong></td>
<td><label>
<textarea name="fnoticia" rows="5" id="fnoticia"></textarea>
</label></td>
</tr>
<tr>
<td><strong>Imagen:
<input name="fruta_image" type="hidden" id="fruta_image" />
</strong></td>
<td><label>
<input name="fimagen" type="file" id="fimagen" onchange="document.frm.fruta_image.value= this.value"/>
</label></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<label>
<input type="submit" name="Submit" value="Continuar&gt;&gt;" />
</label>
&nbsp;
<label>
<input type="reset" name="Submit2" value="Restablecer" />
</label>
</div></td>
</tr>
</table>
</form>
</div>
<?
if($_POST)
{
include("../../../funciones/funcion.php");
extract($_POST);
$error=0;
//var_dump(empty($fbreve));
//var_dump(empty($fnoticia));

if(empty($fbreve))
{
$error=1;
}
if(empty($fnoticia))
{
$error=2;
}
if((empty($fnoticia))and(empty($fbreve)))
{
$error=3;
}


if($error==0)
{

$fautor=str_inde($fautor,"Anonimo");
$ftitulo=str_inde($ftitulo,"Sin Titulo");
$fbreve=str_inde($fbreve);
$fnoticia=str_inde($fnoticia);
$fimagen=strip_tags($fimagen);


echo'
<div id="Layer2">
<form action="nueva2.php" method="post" name="frmX" id="frmX">
<table width="365" height="280" border="0">
<tr>
<td colspan="2"><div align="center">Confirnacion de datos Ingresados </div></td>
</tr>
<tr>
<td width="170"><strong>Fecha:</strong></td>
<td width="185">'.$fdia.'/'.$fmes.'/'.$fano.'
<input name="ocu_fecha" type="hidden" id="ocu_fecha" value="'.$fdia.'/'.$fmes.'/'.$fano.'" /></td>
</tr>
<tr>
<td><strong>Autor:</strong></td>
<td>'.$fautor.'
<input name="ocu_autor" type="hidden" id="ocu_autor" value="'.$fautor.'" /></td>
</tr>
<tr>
<td><strong>Titulo:</strong></td>
<td>'.$ftitulo.'
<input name="ocu_titulo" type="hidden" id="ocu_titulo" value="'.$ftitulo.'" /></td>
</tr>
<tr>
<td><strong>Breve:</strong></td>
<td>'.$fbreve.'
<input name="ocu_breve" type="hidden" id="ocu_breve" value="'.$fbreve.'" /></td>
</tr>
<tr>
<td><strong>Noticia</strong></td>
<td><label>
<textarea name="noticia" rows="8" disabled="disabled" id="noticia">'.$fnoticia.' </textarea>
<input name="ocu_noticia" type="hidden" id="ocu_noticia" value="'.$fnoticia.' " />
</label></td>
</tr>
<tr>
<td><strong>Imagen:</strong></td>
<td><img src="'.$fruta_image.'" alt="imagen" width="50" height="50" /></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<label>
<input type="submit" name="Submit3" value="Continuar&gt;&gt;" />
</label>
</div></td>
</tr>
</table>
</form>
</div>';

}
elseif($error==1)
{
echo'
<div id="Layer3"><img src="../../BAses/Images/X.jpg" alt="No Valido" width="46" height="32" /></div>';
}
elseif($error==2)
{
echo'
<div id="Layer4"><img src="../../BAses/Images/X.jpg" alt="No Valido" width="46" height="32" /></div>';
}
elseif($error==3)
{
echo'<div id="Layer3"><img src="../../BAses/Images/X.jpg" alt="No Valido" width="46" height="32" /></div>
<div id="Layer4"><img src="../../BAses/Images/X.jpg" alt="No Valido" width="46" height="32" /></div>';
}



}
?>

</body>
</html>
Gracias X ayuda....
  #6 (permalink)  
Antiguo 08/05/2008, 09:16
Avatar de ACX_POISON  
Fecha de Ingreso: abril-2008
Ubicación: Talca-Chile
Mensajes: 750
Antigüedad: 16 años, 7 meses
Puntos: 7
Re: ayuda form + vista previa

Tengo otra pregunta
en el sguiente archivo que recibe todos estos datos guardo todos los datos menos la imagen en una BBDD la imagen la quiero guardar en un directorio especifico pero de untamaño que yo elija digamos 60*60 como hago esto (el redimencionado especialmente).

Gracias denuevo---->
  #7 (permalink)  
Antiguo 08/05/2008, 09:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: ayuda form + vista previa

Hola ACX_POISON,

Busca en el foro hay varios aportes de varios usuarios con códigos para redimencionar, en particular te recomiendo el de Okram.

Saludos.
  #8 (permalink)  
Antiguo 08/05/2008, 09:51
Avatar de ACX_POISON  
Fecha de Ingreso: abril-2008
Ubicación: Talca-Chile
Mensajes: 750
Antigüedad: 16 años, 7 meses
Puntos: 7
Re: ayuda form + vista previa

Gracias denuevo....>
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 13:12.