Ale Baquero

Diseño web y Turntablist

Archivo de Enero, 2009

Bueno lo prometido es deuda…asi que aqui teneis para que podais meter vuestros datos en una base de datos.

Seguimos con la tabla que hemos hecho en “PHP como mostrar registros de una base de datos

  • ID (INT) auto_increment
  • Nombre (VARCHAR 255)
  • Texto (TEXT)
  • Link (VARCHAR 255)
  • Foto (VARCHAR 255)

Ahora comentamos  el form…

(ATENCION NO COPIES EL CODIGO PORQUE TE CAMBIA LAS COMILLAS SIMPLES, DESCARGALO TODO MAS ABAJO proximamente estara arreglado)

<form action=”<? echo $SERVER['PHP_SELF']?>” method=”post” enctype=”multipart/form-data” id=”form” >
<fieldset>
<label for=”nombre”>Nombre:</label>
<input name=”nombre” type=”text” id=”nombre” />
<label for=”link”>link:</label>
<input name=”link” type=”text” id=”link” />
<label for=”imagen”>Imagen:</label>
<input name=”imagen” type=”file” id=”imagen”>
<input type=”submit” name=”submit” id=”submit” value=”Enviar” />
</fieldset>
</form>

Esta es la estructura valida para un formulario Xhtml 1.0 mas tarde veremos como le insertamos el CSS para dejarlo mas bonito.

En action ponermos esa variable de servidor para que mande los datos a la misma pagina.

Lo siguiente es ver el codigo PHP
<?php

//INCLUIMOS LOS DATOS Y LA CONEXION
include(”./includes/configuracion.php”);
include(”./includes/funciones.php”);

//SI EXITE LA VARIABLE SUBMIT INSERTAMOS
if(isset($_POST['submit'])){

//CONECTAMOS
$cnx=conectar();

//RECOGEMOS LAS VARIABLES DEL FORM POR POST
$nombre=$_POST['nombre'];
$link=$_POST['link'];
//LIMPIAMOS ESPACIOS EN BLANCO  Y ESCAPAMOS LAS VARIABLES POR SEGURIDAD (TAMBIEN PODRIAMOS //PASARLO TODO A MINUSCULAS)
$nombre=trim($nombre);
$nombre=mysql_escape_string($nombre);
$link=trim($link);
$link=mysql_escape_string($link);

//MOVEMOS LA IMAGEN A LA CARPETA IMAGES
if (is_uploaded_file($_FILES['imagen']['tmp_name'])) {
//revisamos que sea jpg
if ($_FILES['imagen']['type'] == “image/jpeg” || $_FILES['imagen']['type'] == “image/pjpeg”){
//nombre de la imagen
$foto = time().”.jpg”;
//movemos la imagen.
move_uploaded_file($_FILES['imagen']['tmp_name'], “./images/”.$foto);
}else{
$error = true;
$errormsg = “Formato no válido para archivo de imagen”;
}
} else {
//imagen no se pudo subir o no seleccionaron.
$error=true;
$errormsg = “Error al cargar imagen: ” . $_FILES['imagen']['name'];
}//fin file upload.

//LOS CAMPOS Y LOS VALORES E INSERTAMOS
$campos =”nombre,link,foto”;
$valores = “‘”.$nombre.”‘,’”.$link.”‘,’”.$foto.”‘”;
$res = mysql_query(”INSERT INTO links ($campos) VALUES($valores)”) or die (mysql_error());

//CERRAMOS LA CONEXION
mysql_close($cnx);
}

?>

Hasta aqui el desglose de la aplicacion es importante saber que estamos siguiendo el primer Tuto de
“PHP como mostrar registros de una base de datos”

Aqui el codigo completo con el CSS para el formulario.
<?php

//INCLUIMOS LOS DATOS Y LA CONEXION
include(”./includes/configuracion.php”);
include(”./includes/funciones.php”);

//SI EXITE LA VARIABLE SUBMIT INSERTAMOS
if(isset($_POST['submit'])){

//CONECTAMOS
$cnx=conectar();

//RECOGEMOS LAS VARIABLES DEL FORM POR POST
$nombre=$_POST['nombre'];
$link=$_POST['link'];
//LIMPIAMOS ESPACIOS EN BLANCO  Y ESCAPAMOS LAS VARIABLES POR SEGURIDAD (TAMBIEN PODRIAMOS //PASARLO TODO A MINUSCULAS)
$nombre=trim($nombre);
$nombre=mysql_escape_string($nombre);
$link=trim($link);
$link=mysql_escape_string($link);

//MOVEMOS LA IMAGEN A LA CARPETA IMAGES
if (is_uploaded_file($_FILES['imagen']['tmp_name'])) {
//revisamos que sea jpg
if ($_FILES['imagen']['type'] == “image/jpeg” || $_FILES['imagen']['type'] == “image/pjpeg”){
//nombre de la imagen
$foto = time().”.jpg”;
//movemos la imagen.
move_uploaded_file($_FILES['imagen']['tmp_name'], “./images/”.$foto);
}else{
$error = true;
$errormsg = “Formato no válido para archivo de imagen”;
}
} else {
//imagen no se pudo subir o no seleccionaron.
$error=true;
$errormsg = “Error al cargar imagen: ” . $_FILES['imagen']['name'];
}//fin file upload.

//LOS CAMPOS Y LOS VALORES E INSERTAMOS
$campos =”nombre,link,foto”;
$valores = “‘”.$nombre.”‘,’”.$link.”‘,’”.$foto.”‘”;
$res = mysql_query(”INSERT INTO links ($campos) VALUES($valores)”) or die (mysql_error());

//CERRAMOS LA CONEXION
mysql_close($cnx);
}

?>

<!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>Documento sin t&iacute;tulo</title>
<style type=”text/css”>
label{display:block;}
</style>
</head>

<body>
<form action=”<? echo $SERVER['PHP_SELF']?>” method=”post” enctype=”multipart/form-data” id=”form” >
<fieldset>
<label for=”nombre”>Nombre:</label>
<input name=”nombre” type=”text” id=”nombre” />
<label for=”link”>link:</label>
<input name=”link” type=”text” id=”link” />
<label for=”imagen”>Imagen:</label>
<input name=”imagen” type=”file” id=”imagen”>
<input type=”submit” name=”submit” id=”submit” value=”Enviar” />
</fieldset>
</form>

</body>
</html>

DESCARGA AQUI LOS ARCHIVOS DE EJEMPLO

BYE!!!