CRUD en PHP
Creación de una aplicación CRUD en PHP
Entorno
- servidor web (Apache/Nginx)
- php 8
- servidor de bases de datos (mysql/mariadb)
XAMPP (Apache + MariaDB + PHP + phpmyadmin para Windows)
phpMyAdmin en el VPS
sudo apt-get install phpmyadmin sudo apt-get install php8.0-mbstring sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin sudo nginx -t sudo systemctl restart nginx
crear un usuario y darle permisos
sudo mysql create user admin@localhost identified by 'malaga2324'; grant all privileges on *.* to admin@localhost with grant option; flush privileges; exit;
PHP
Qué es PHP:
ejemplo.php
<!DOCTYPE html> <html> <head> <title>Ejemplo</title> </head> <body> <?php echo "¡Hola, soy un script de PHP!"; ?> </body> </html>
Otro ejemplo de PHP: bucle.php
<?php for ($indice = 1; $indice < 6; $indice ++) { echo "Contador de bucle actual " . $indice . "<br>"; } ?>
Editor para PHP: Visual Studio Code
Tutorial de creación de una aplicación CRUD
Modificaciones de la aplicación CRUD
index.php
<?php include("db.php"); ?> <?php include('includes/header.php'); ?> <main class="container p-4"> <div class="row"> <div class="col-md-12"> <!-- MESSAGES --> <?php if (isset($_SESSION['message'])) { ?> <div class="alert alert-<?= $_SESSION['message_type']?> alert-dismissible fade show" role="alert"> <?= $_SESSION['message']?> <button type="button" class="close" data-dismiss="alert" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <?php session_unset(); } ?> </div> <div class="row"> <div class="col-md-12"> <a href="insert.php" class="btn btn-primary mt-4">Crear tarea</a> <hr> </div> </div> <div class="col-md-12"> <table class="table table-bordered"> <thead> <tr> <th>Title</th> <th>Description</th> <th>Created At</th> <th>Action</th> </tr> </thead> <tbody> <?php $query = "SELECT * FROM task"; $result_tasks = mysqli_query($conn, $query); while($row = mysqli_fetch_assoc($result_tasks)) { ?> <tr> <td><?php echo $row['title']; ?></td> <td><?php echo $row['description']; ?></td> <td><?php echo $row['created_at']; ?></td> <td> <a href="edit.php?id=<?php echo $row['id']?>" class="btn btn-secondary"> <i class="fas fa-marker"></i> </a> <a href="delete_task.php?id=<?php echo $row['id']?>" class="btn btn-danger"> <i class="far fa-trash-alt"></i> </a> </td> </tr> <?php } ?> </tbody> </table> </div> </div> </main> <?php include('includes/footer.php'); ?>
insert.php
<?php include('includes/header.php'); ?> <main class="container p-4"> <div class="row"> <div class="col-md-8"> <!-- ADD TASK FORM --> <div class="card card-body"> <form action="save_task.php" method="POST"> <div class="form-group"> <input type="text" name="title" class="form-control" placeholder="Task Title" autofocus> </div> <div class="form-group"> <textarea name="description" rows="2" class="form-control" placeholder="Task Description"></textarea> </div> <input type="submit" name="save_task" class="btn btn-success btn-block" value="Save Task"> <hr> <a class="btn btn-secondary btn-block" href="index.php">Cancel</a> </form> </div> </div> </div> </main> <?php include('includes/footer.php'); ?>
Instalación
-
descargar el archivo zip de Github: https://github.com/paco-portada/crud
Conectarse por ssh para trabajar en el VPS:
ssh usuario@alumno.me
cd /var/www/html sudo wget https://github.com/paco-portada/crud/archive/refs/heads/main.zip
-
descomprimir el archivo zip en la carpeta de documentos del servidor web en el VPS (/var/www/html en Linux) y cambiarle el nombre a la carpeta:
sudo unzip main.zip sudo mv crud-main crud
-
crear la base de datos con el script:
crud/database/script.sql
sudo mysql < crud/database/script.sql
-
crear un usuario y contraseña y darle permiso para acceder a la base de datos php-mysql-crud
crudUser/malaga2324
sudo mysql create user crudUser@localhost identified by 'malaga2324'; grant all privileges on php_mysql_crud.* to crudUser@localhost with grant option; flush privileges; exit;
-
modiifcar en el fichero db.php el usuario y contraseña creados
sudo nano crud/db.php
fichero db.php
<?php session_start(); $conn = mysqli_connect( 'localhost', 'crudUser', 'malaga2324', 'php_mysql_crud' ) or die(mysqli_erro($mysqli)); ?>
- acceder en el navegador a la ruta
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.