Foros del Web » Programando para Internet » PHP »

Modificando codigo de Gestor

Estas en el tema de Modificando codigo de Gestor en el foro de PHP en Foros del Web. Hola amigos encontre un aporte muy bueno en le foro de gestro de noticia la idea es ahora poder introducir una imagem el codigo es ...
  #1 (permalink)  
Antiguo 10/02/2009, 09:06
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Mensajes: 421
Antigüedad: 15 años, 4 meses
Puntos: 0
Pregunta Modificando codigo de Gestor

Hola amigos encontre un aporte muy bueno en le foro de gestro de noticia la idea es ahora poder introducir una imagem el codigo es este::

<?php
// incluimos el archivo de conexion
include ('db-cnx.php');


// recibimos el formulario
if(isset($_POST['enviar']) && $_POST['enviar'] == 'Enviar'){
// comprobamos que el formulario no envie campos vacios
if(!empty($_POST['notTitulo']) && !empty($_POST['notTexto']) &&
!empty($_POST['notCategoriaID'])){
// creamos las variables y les asignamos los valores a insertar
$notTitulo = $_POST['notTitulo'];
$notTexto = $_POST['notTexto'];
$notCategoriaID = $_POST['notCategoriaID'];
// hacemos el INSERT en la BD
$sqlInsertNot = mysql_query("INSERT INTO sn_noticias
(notTitulo, notTexto, notCategoriaID)
VALUES ('$notTitulo', '$notTexto', '$notCategoriaID')",
$db_link) or die(mysql_error());
// enviamos un mensaje de exito
echo "Los datos fueron gurdados correctamente";
}else{
// si el formulario envia algun campo vacio
// enviamos un mensaje de error
echo "Debe llenar todos los campos del formulario";
}
}
?>
<!-- el formulario -->
<form name="form1" action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
<table align="center">
<tr>
<td colspan="2" align="center">Adminitracion de Noticia</td>
</tr>
<tr>
<td>Titulo Noticia </td>
<td> <input type="text" name="notTitulo" size="20" /></td>
</tr>
<tr>
<td>Texto de la Noticia</td>
<td> <textarea name="notTexto" rows="10" cols="30"></textarea></td>
</tr>
<tr>
<td>Categoria Noticia:</td>
<td>
<select name="notCategoriaID">
<option value="">Escoger de la Lista</option>
<?php
// asignamos una categoria a la noticia
// mediante un select
$sqlQueryCat = mysql_query("SELECT * FROM sn_categorias", $db_link)
or die(mysql_error);
// creamos un bucle while
// que nos muestre todas las categorias
// que tenemos guardadas en la BD
while($rowCat = mysql_fetch_array($sqlQueryCat)){
echo "<option value='$rowCat[cat_ID]'>$rowCat[catCategoria] - $rowCat[cat_ID]</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td>Buscar Imagen:</td>
<td>
<input name="userfile" type="file" class="cajatexto1" onChange="muestra();" size="16" style="float: left">
<input type="hidden" name="MAX_FILE_SIZE" value="100000000">
</td>
</tr>
<tr>
<td align="center">
<center>
<img src="escudo.jpg" name="imagen" width="130" height="150" class="cajatexto1" align="middle"></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" name="grabar" value="Enviar" class="cajatexto1" />
<input type="reset" value="Cancelar">

</td>
</tr>
</table>
</form>
<script language="javascript">
function muestra()
{
document.form1.imagen.src=document.form1.userfile. value;
}
</script>

Lo raro en cuando guardo el script con php no me muestra la imagen y hice la prueba de guardar con la extension html y si funciona pero solo me muestra la imagen y lo demas se corta no funciona alguen sabe pq
  #2 (permalink)  
Antiguo 10/02/2009, 09:22
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Modificando codigo de Gestor

En el código falta la parte que sube la imagen. Busca y lee sobre cómo subir archivos con php.

  #3 (permalink)  
Antiguo 10/02/2009, 09:33
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Modificando codigo de Gestor

Pues viendo el código que indicas le falta la parte de subir archivos, revisa las FAQs del foro esta ahí explicado como subir archivos y moverlos a una carpeta.

La parte de Javascript dudo que funcione en los navegadores recientes ya que solamente funcionaba en navegadores anteriores, es algo que ya se corrigio en todas las versiones recientes.

Saludos
  #4 (permalink)  
Antiguo 10/02/2009, 10:19
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Mensajes: 421
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Modificando codigo de Gestor

Ya hice caso de lo que me dijeron pero ahora una preguntita hice esto

<?php
// incluimos el archivo de conexion
include ('db-cnx.php');


// recibimos el formulario
if(isset($_POST['grabar']) && $_POST['grabar'] == 'grabar'){
// comprobamos que el formulario no envie campos vacios
if(!empty($_POST['notTitulo']) && !empty($_POST['notTexto']) && !empty($_POST['notCategoriaID'])){
// creamos las variables y les asignamos los valores a insertar
$notTitulo = $_POST['notTitulo'];
$notTexto = $_POST['notTexto'];
$notCategoriaID = $_POST['notCategoriaID'];
$nombre_archivo = $HTTP_POST_FILES["userfile"]["name"];
$tipo_archivo = $HTTP_POST_FILES["userfile"]["type"];
$tamano_archivo = $HTTP_POST_FILES["userfile"]["size"];
// hacemos el INSERT en la BD
if (!((strpos($tipo_archivo, "gif") || strpos($tipo_archivo, "jpeg")) && ( $tamano_archivo < 100000000)))
{
echo "La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos .gif o .jpg<br><li>se permiten archivos de 100 Kb máximo.</td></tr></table>";
}
else
{
$nom_img= $nombre_archivo;
$directorio = 'fotos/';
if (move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'],$directorio . "/" . $nom_img))
{
$diaactual= date("d");
$mesactual= date("m");
$anoactual= date("Y");
$fecha= $diaactual . "/" . $mesactual . "/" . $anoactual;
$sqlInsertNot = mysql_query("INSERT INTO sn_noticias
(notTitulo, notTexto, notCategoriaID,foto,fecha)
VALUES ('$notTitulo', '$notTexto', '$notCategoriaID','$nom_img','$fecha')",
$db_link) or die(mysql_error());
// enviamos un mensaje de exito
echo "Los datos fueron gurdados correctamente";
}
else
{
echo ("eroor foto");
}
}
}
else
{
// si el formulario envia algun campo vacio
// enviamos un mensaje de error
echo "Debe llenar todos los campos del formulario";
}
}
?>
<!-- el formulario -->
<form name="noticia" action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
<table align="center">
<tr>
<td colspan="2" align="center">Adminitracion de Noticia</td>
</tr>
<tr>
<td>Titulo Noticia </td>
<td> <input type="text" name="notTitulo" size="20" /></td>
</tr>
<tr>
<td>Texto de la Noticia</td>
<td> <textarea name="notTexto" rows="10" cols="30"></textarea></td>
</tr>
<tr>
<td>Categoria Noticia:</td>
<td>
<select name="notCategoriaID">
<option value="">Escoger de la Lista</option>
<?php
// asignamos una categoria a la noticia
// mediante un select
$sqlQueryCat = mysql_query("SELECT * FROM sn_categorias", $db_link)
or die(mysql_error);
// creamos un bucle while
// que nos muestre todas las categorias
// que tenemos guardadas en la BD
while($rowCat = mysql_fetch_array($sqlQueryCat)){
echo "<option value='$rowCat[cat_ID]'>$rowCat[catCategoria] - $rowCat[cat_ID]</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td>Buscar Imagen</td>
<td >
<input name="userfile" type="file" class="cajatexto1" onChange="muestra();" size="16" style="float: left">
<input type="hidden" name="MAX_FILE_SIZE" value="100000">
</td>
</tr>
<tr>
<td>
<p align="center">
<img src="escudo.jpg" name="imagen" width="130" height="150" class="cajatexto1">
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" name="grabar" value="grabar" class="cajatexto1" />
<input type="reset" value="cancelar">

</td>
</tr>
</table>

</form>
<script language="javascript">
function muestra()
{
document.noticia.imagen.src=document.noticia.userf ile. value;
}
</script>

y quiero subir una imagen pequeña de 4 kb y me dice esto
Se permiten archivos .gif o .jpg
se permiten archivos de 100 Kb máximo.

No se pq
  #5 (permalink)  
Antiguo 10/02/2009, 10:24
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Modificando codigo de Gestor

Usa $_FILES en vez de $HTTP_POST_FILES. Haz un var_dump($_FILES) para que veas los datos del archivo subido que tienes disponibles. Además, strpos() debes compararlo estrictamente === con false (En este caso, negativamente: !== )

  #6 (permalink)  
Antiguo 10/02/2009, 12:15
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Mensajes: 421
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Modificando codigo de Gestor

Nuevamente gracias Okram pero a raiz del problema decide investigar mas y es asi q encontre mi error falta poder en el formulario esto enctype="multipart/form-data" una cosa muy importante Pero ahora estoy haciendo las mejoras de lo q me dijiste una cosa es qeu no entiendo bien los dos ultimos sentencias para q son ?
  #7 (permalink)  
Antiguo 10/02/2009, 15:58
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Modificando codigo de Gestor

strpos()? Lee en el manual de PHP. Allí está bien explicado lo último que te dije (Lo de la comparación estricta).

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 01:27.