continuacion del aporte parte II.
una vez que hemos creado el archivo php para la conexion de la base de datos, procederemos a crear los archivos php para agregar, editar y borrar la imagen.
lo primero que vamos a hacer es crear un archivo llamado funciones para hacer el insert, update y delete de los datos correspondientes.
creamos la funcion
agregardatos dandole como parametros $nombres,$apellidos,$direccion,$edad,$telefono,$em ail,$sexo,$foto.
en en caso de
editardatos le colocaremos el primer parametro $codigo para identificar el id de la tabla datos y lo demas seria ya colocarle los parametros como en la funcion
agregardatos.
Código PHP:
Ver originalfunction agregardatos($nombres,$apellidos,$direccion,$edad,$telefono,$email,$sexo,$foto){
global $cn; //variable global de conexion.
$sql_datos = "insert into datos(nombres,apellidos,direccion,edad,telefono,email,sexo,foto)";
$sql_datos .= "values('$nombres','$apellidos','$direccion','$edad','$telefono','$email','$sexo','$foto')";
}
function editardatos($codigo,$nombres,$apellidos,$direccion,$edad,$telefono,$email,$sexo,$foto){
global $cn;
$sql_edit = "update datos set nombres = '$nombres', apellidos = '$apellidos', direccion = '$direccion', ";
$sql_edit .= "edad = '$edad', telefono = '$telefono', email = '$email', sexo = '$sexo', foto = '$foto' ";
$sql_edit .= "where idagenda = '$codigo'";
}
function borrardatos($cod){
global $cn;
$eliimage = "select * from datos where idagenda = '$cod'";
$foto = $rs_image['foto'];
if($foto!=""){ //preguntamos si la foto es diferente a vacio, que borre la imagen.
}
$sql_del = "delete from datos where idagenda = '$cod'";
}
despues crearemos el formulario para agregar y editar datos.
agregar.php
Código HTML:
Ver original<form action="process.php" method="post" enctype="multipart/form-data" name="form1" id="form1"> <table width="523" border="0" cellpadding="2" cellspacing="0"> <td width="172"><div align="right">Nombres
</div></td> <td colspan="2"><input name="nombres" type="text" id="nombres" size="40" /></td> <td colspan="2"><input name="apellidos" type="text" id="apellidos" size="40" /></td> <td colspan="2"><input name="direccion" type="text" id="direccion" size="40" /></td> <td colspan="2"><input name="edad" type="text" id="edad" size="10" /></td> <td colspan="2"><input name="telefono" type="text" id="telefono" size="20" /></td> <td colspan="2"><input name="email" type="text" id="email" size="40" /></td> <td colspan="2"><input type="radio" name="opcion" id="radio" value="M" /> M
<input type="radio" name="opcion" id="radio2" value="F" /> <td colspan="2"><input type="file" name="foto" id="foto" /></td> <td colspan="2"> </td> <td width="148"><div align="center"> <input type="submit" value="Guardar" /> <td width="191"><div align="center"> <input type="button" value="Cancelar" onClick="javascript:history.back(1);" />
despues creamos el archivo process.php para llamar a las funciones que hemos creado.
Código PHP:
Ver originalinclude("includes/Conexion.class.php");
include("includes/config.inc.php");
include("funciones.php");
$cn= new Conexion(); //instanciamos la clase.
$cn->conectarse(); //creamos el objeto conectarse().
$nombres = $_POST['nombres'];
$apellidos = $_POST['apellidos'];
$direccion = $_POST['direccion'];
$edad = $_POST['edad'];
$telefono = $_POST['telefono'];
$email = $_POST['email'];
$opcion = $_POST['opcion'];
if(!isset($_POST['editar'])){//preguntamos si el valor editar esta definida y si es diferente, que haga el insert. //preguntamos si el archivo foto esta vacio
#imagen del electrogeno.
$foto = $_FILES['foto']['name'];
$path = "fotos/";
{
$tamano = $_FILES['foto']['size']; // Leemos el tamaño del fichero
$tamano_max="1048576"; // Tamaño maximo permitido
if($tamano <= $tamano_max){ // Comprovamos el tamaño
agregardatos($nombres,$apellidos,$direccion,$edad,$telefono,$email,$opcion,$nuevo_foto);
}else{
echo "<div align = 'center'>La imagen que intenta grabar, excede el peso requerido. El maximo de peso es 500KB.</div>";
echo "<br /><br /><br />";
echo "<div align = 'center'><a href='javascript:history.back()'><< Clic aqui para regresar.</div></a>";
} //cerramos el primer if.
}else{
echo "<div align = 'center'>La imagen que intenta grabar, debe ser de formato JPG.</div>";
echo "<br />";
echo "<div align = 'center'><a href='javascript:history.back()'><< Clic aqui para regresar.</div></a>";
} //cerramos el segundo if.
//Si no hay imagen para agregar en la agenda, procederemos a agregar los datos sin la imagen.
}else{
agregardatos($nombres,$apellidos,$direccion,$edad,$telefono,$email,$opcion,$nuevo_foto);
} //cerramos el tercer if.
} //cerramos el if principal.
if(isset($_POST['editar'])){ //preguntamos si el valor editar esta definida. if($_POST['editar']=='1'){ //preguntamos si el valor editar es igual a 1.
#editamos la foto del producto.
if($_FILES['foto']['size'] != '0' ){ //preguntamos si el tamaño del archivo es diferente a 0, que edite los datos con la imagen.
$foto = $_FILES['foto']['name'];
$path = "fotos/";
$tamano = $_FILES['foto']['size']; // Leemos el tamaño del fichero
$tamano_max="1048576"; // Tamaño maximo permitido
if($tamano <= $tamano_max){ // Comprovamos el tamaño
editardatos($_POST['codigo'],$nombres,$apellidos,$direccion,$edad,$telefono,$email,$opcion,$nuevo_foto);
}else{
echo "<div align = 'center'>La imagen que intenta grabar, excede el peso requerido. El maximo de peso es 500KB.</div>";
echo "<br /><br /><br />";
echo "<div align = 'center'><a href='javascript:history.back()'><< Clic aqui para regresar.</div></a>";
}
}else{
echo "<div align = 'center'>La imagen que intenta grabar, debe ser de formato JPG.</div>";
echo "<br />";
echo "<div align = 'center'><a href='javascript:history.back()'><< Clic aqui para regresar.</div></a>";
} //cerramos el primer if.
//caso contrario, procedera a editar los datos sin la foto.
}else{
$nuevo_foto = $_POST['nombreFoto'];
editardatos($_POST['codigo'],$nombres,$apellidos,$direccion,$edad,$telefono,$email,$opcion,$nuevo_foto);
} //cerramos el segundo if.
} //cerramos el tercer if.
} //cerramos el if principal.
explicacion del archivo process.php.
1. primero condiciono si el nombre del archivo
foto tiene el valor vacio.
2. luego extraigo la cadena de la variable $foto con la funcion
explode y la almaceno en una variable $test almacenandola en un array. el proposito de esto es para hacer la validacion de la imagen si es un jpg, jpeg o gif.
3. despues hago una condicion almacenando la variable
$test[1] en un array igualando al tipo de imagen si es jpg, jpeg o gif. si se cumple la primera condicion, sube la imagen, sino, mostrara una respuesta que el tipo de archivo no es permitido.
4. creo una variable
$tamano para almacenar el nombre del archivo y crear otra variable
$tamano_permitido y almacenar la cantidad de bytes al momento de subir la imagen.
Código PHP:
Ver original$tamano = $_FILES['foto']['size']; // Leemos el tamaño del fichero
$tamano_max="1048576"; // Tamaño maximo permitido
5. despues, creo una condicion que me permita controlar el tamaño de la imagen. si se cumple la segunda condicion que el tamaño esta permitido, sube la imagen, caso contrario, mostrara una respuesta que el tamaño de la imagen no esta permitido.
6. como mencione antes que si el nombre del archivo foto
foto tuviera el valor vacio, puede subir la imagen con los datos, caso contrario solo subira los datos sin la imagen.
Nota. olvide mencionar que deben crear una carpeta para que puedan subir las fotos. en este caso se llamara
fotos.