Agregar registros a tabla Mysql

Esta es la segunda parte del tutorial que iniciamos de php y mysql (básico), en esta ocasión vamos a mostrar como agregar registros a una tabla llamada categoría.

Primero debemos construir un formulario en HTML para pedir al usuario los datos que se registraran en la tabla, a continuación el código del formulario:

<!DOCTYPE html>
<html>
<head>
	<title></title>
	<meta charset="utf-8">
</head>
<body>
<h1>Registro de categorías</h1>
<form action="agregar_categoria.php" method="post" enctype="multipart/form-data">
	<label>Nombre de la categoria: </label>
	<input type="text" name="categoria"><br>
	<label>Estado:</label>
	<select name="activo">
		<option value="1">Activo</option>
		<option value="0">Inactivo</option>
	</select>
	<br>
	<input type="file" name="foto"><br><br>
	<input type="submit" value="Guardar">
</form>
</body>
</html>

Y para finalizar creamos el archivo php que permita guardar los datos provenientes del formulario en la tabla categoría.

<?php
	require 'conexion.php';
	$categoria=$_POST['categoria'];
	$activo=$_POST['activo'];
	$imagen='';
	if (isset($_FILES["foto"])){
		$file = $_FILES["foto"];
	    $nombre = $file["name"];
	    $tipo = $file["type"];
	    $ruta_provisional = $file["tmp_name"];
	    $size = $file["size"];
	    $dimensiones = getimagesize($ruta_provisional);
	    $width = $dimensiones[0];
	    $height = $dimensiones[1];
	    $carpeta = "fotos/";
	   if ($tipo != 'image/jpg' && $tipo != 'image/JPG' && $tipo != 'image/jpeg' && $tipo != 'image/png' && $tipo != 'image/gif')
	    {
	    	echo "Error, el archivo no es una imagen"; 
	    }
	    else if ($size > 3*1024*1024){
	      echo "Error, el tamaño máximo permitido es un 3MB";
	    }
	   else{
	        $src = $carpeta.$nombre;
	        move_uploaded_file($ruta_provisional, $src);
	        $imagen="fotos/".$nombre;
	    }
}
	$query=mysqli_query($conexion,"INSERT INTO categorias (categoria, foto ,activo) VALUES ('$categoria','$imagen','$activo')");
	header('location: vista_categoria.php');
?>

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *