Muchas gracias, estoy desarrollando mi primer sistema para un negocio como proyecto de la Uni y mañana lo probaré por que estoy batallando un poco, gracias 🎉🎉❤
@@DespiertaTuPoder369 es una disposición del framework, lo mandas a la public, sin embargo puedes hacer lo siguiente para dejarlo en la raíz Para configurar un proyecto Laravel para que se muestre en la raíz del dominio en lugar de en la carpeta `public`, hay varias formas de hacerlo. Aquí te dejo los pasos para dos métodos comunes: configurando el servidor web y usando un archivo `.htaccess`. ### Método 1: Configurar el Servidor Web #### En Apache 1. **Mover el contenido de `public` a la raíz del proyecto:** - Mueve el contenido de la carpeta `public` a la raíz del proyecto. - Elimina la carpeta `public`. 2. **Actualizar `index.php`:** - Abre el archivo `index.php` y cambia las rutas de las siguientes líneas: ```php require __DIR__.'/../vendor/autoload.php'; $app = require_once __DIR__.'/../bootstrap/app.php'; ``` A: ```php require __DIR__.'/vendor/autoload.php'; $app = require_once __DIR__.'/bootstrap/app.php'; ``` 3. **Actualizar las rutas de los assets:** - Si tienes referencias a archivos CSS, JS, o imágenes en tus vistas, asegúrate de actualizar las rutas para que apunten correctamente a su nueva ubicación. #### En Nginx 1. **Configurar el bloque del servidor:** - Abre el archivo de configuración del servidor (`/etc/nginx/sites-available/tu-sitio` o similar). - Configura la raíz del servidor para que apunte a la carpeta `public`: ```nginx server { listen 80; server_name tu-dominio.com; root /ruta/a/tu/proyecto/public; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.ht { deny all; } } ``` ### Método 2: Usar un archivo `.htaccess` Si estás usando Apache, puedes modificar el archivo `.htaccess` para redirigir todas las solicitudes a la carpeta `public`. 1. **Crear o editar el archivo `.htaccess` en la raíz del proyecto:** - Crea un archivo `.htaccess` en la raíz del proyecto si no existe. - Agrega las siguientes líneas: ```apache <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^(.*)$ public/$1 [L] </IfModule> ``` ### Nota Importante Mover el contenido de la carpeta `public` a la raíz del proyecto puede tener implicaciones de seguridad, ya que expone archivos que deberían estar protegidos. Asegúrate de restringir el acceso a estos archivos en la configuración del servidor web o usando reglas `.htaccess`. ### Alternativa: Configuración de un Virtual Host en Apache Otra opción es configurar un Virtual Host que apunte directamente a la carpeta `public`: 1. **Editar el archivo de configuración del Virtual Host:** - Abre el archivo de configuración del Virtual Host (`/etc/apache2/sites-available/000-default.conf` o similar). - Configura la ruta `DocumentRoot` para que apunte a la carpeta `public`: ```apache <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /ruta/a/tu/proyecto/public <Directory /ruta/a/tu/proyecto/public> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> ``` 2. **Habilitar el nuevo Virtual Host:** - Guarda los cambios y reinicia Apache: ```bash sudo service apache2 restart ``` Siguiendo uno de estos métodos, podrás mostrar tu proyecto Laravel en la raíz del dominio en lugar de en la carpeta `public`.
@@MauricioSevillaBritto con el metodo 1 funciona, pero no puedo ejecutar livewire, no funciona los eventos, solo funciona cuando levanto el sistema con php artisan serve, péro si lo ejecuta desde localhost no funciona los eventos liwere
@@DespiertaTuPoder369 prueba instalándolo desde consola con composer require livewire/livewire Tienes que incluir los sript de livewire resources/views/layouts/app.blade.php También puedes verificar que la directiva de Livewire está presente en tu vista Asegúrate de usar la directiva @livewire correctamente en tus vistas. Por ejemplo, si tienes un componente Livewire llamado counter, inclúyelo de esta manera: html @livewire('counter') Debes publicar los assets de Livewire A veces es útil publicar los assets de Livewire. Puedes hacerlo ejecutando el siguiente comando: en bash lo siguiente: php artisan livewire:publish --assets Puedes verificar la configuración de tu archivo de rutas Asegúrate de que las rutas de tu aplicación están configuradas correctamente. Si usas Livewire en una SPA (Single Page Application), asegúrate de tener configurada correctamente la ruta principal. No está de más revisar la consola del navegador Abre la consola del navegador (F12 o Ctrl+Shift+I en la mayoría de los navegadores) y verifica si hay errores relacionados con Livewire. Esto te puede dar una pista adicional sobre qué está mal. Por último podrías asegurarte de que livewire.js se esté cargando Verifica que el archivo livewire.js se esté cargando correctamente. Puedes hacerlo revisando la consola del navegador para ver si hay errores 404 o problemas de carga relacionados con el archivo livewire.js. Ejemplo completo de una vista con Livewire: blade <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> @livewireStyles </head> <body> <div id="app"> @yield('content') </div> @livewireScripts </body> </html> Y en tu vista específica, puedes usar tu componente Livewire así: blade @extends('layouts.app') @section('content') @livewire('counter') @endsection Me avisas si sigues teniendo errores, también te puedo ayudar a desarrollar a medida las modificaciones o implementaciones con las que estás teniendo inconvenientes.
@@MedransInformatica ese estaba con davinci que ya no esta disponible como modelo cambia el modelo por el 3.5 y te quedará operativo Igual te puedo desarrollar a medida una solución más específica a lo que necesites
Mauricio, honestamente recién comienzo en php. Estaba siguiendo de como hacer el login con PHP y MySQL, pero luego que registro el usuario y password, no me permite abrir autenticacion.php, y me lo envía a la carpeta Descargas de mi laptop. Cual es el motivo de que no lo ejecute bien el programa.
@@PCandMobile-3003 tengo una versión mejorada, optimizada para comunicarse vía WhatsApp y responsiva, este es mi enlace www.configuroweb.com/sistema-de-gestion-de-peluquerias-optimizado/
Le voy a cambiar el título jajakak, como gran parte de mis apps son así, y en ese momento estaba sacando un proyecto que sí tenia comunicación con mysql para un cliente, terminó en automático esa premisa en el video, saludos y te invito a recorrer mi blog y darle una pasada a mis videos, probablemente en encuentres algo que te pueda servir
Para acceder a una de las ligas contenidas en la página en la que estás haciendo scraping, necesitas primero extraer las URL de los enlaces presentes en la página web. Aquí te dejo un ejemplo usando PHP con la biblioteca `DOMDocument` para hacer web scraping: 1. **Instalar dependencias**: Si no tienes la extensión `cURL` y `DOMDocument` instaladas, asegúrate de tenerlas habilitadas en tu entorno de PHP. 2. **Código para hacer scraping**: ```php <?php // URL de la página que vamos a scrapear $url = 'www.configuroweb.com/como-hacer-web-scraping-con-php/'; // Iniciar cURL $ch = curl_init(); // Configurar cURL curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Ejecutar cURL y obtener el contenido de la página $response = curl_exec($ch); // Cerrar cURL curl_close($ch); // Cargar el contenido en DOMDocument $dom = new DOMDocument(); libxml_use_internal_errors(true); // Evitar errores de carga HTML malformado $dom->loadHTML($response); libxml_clear_errors(); // Crear un XPath $xpath = new DOMXPath($dom); // Obtener todos los enlaces $links = $xpath->query("//a[@href]"); // Recorrer y mostrar los enlaces foreach ($links as $link) { // Obtener el atributo href del enlace $href = $link->getAttribute('href'); // Obtener el texto del enlace $text = $link->nodeValue; // Mostrar el enlace echo "Texto: $text, URL: $href "; // Aquí puedes hacer lo que necesites con los enlaces, por ejemplo: // Acceder a una URL específica: if ($text == 'algún texto específico' || $href == 'enlace-especifico.com') { // Hacer algo con ese enlace, como por ejemplo, abrirlo en un navegador o hacer otra solicitud cURL echo "Accediendo a la URL: $href "; } } ?> ``` ### Explicación: 1. **Obtener el contenido de la página**: Utilizamos `cURL` para obtener el contenido HTML de la página web. 2. **Cargar el HTML en `DOMDocument`**: Utilizamos `DOMDocument` para analizar el HTML. 3. **Crear un XPath**: Usamos `DOMXPath` para buscar elementos específicos dentro del documento HTML. 4. **Extraer y manejar los enlaces**: Buscamos todos los enlaces (`<a>` tags) y extraemos su atributo `href` y el texto del enlace. Este script te permitirá extraer todos los enlaces de la página y realizar acciones específicas con ellos según tus necesidades. Por ejemplo, podrías abrir un enlace en particular si cumple con ciertos criterios.
Estoy usando el sistema de control de empleado y la verdad esta muy bien, gracias por compartir el codigo y enseñar de esta manera, te agradesco mucho tu trabajo es muy importante ya que ayudas a muchos. Nuevo sub, eres un grande. Posdata, gracias por la ayuda :)
Hola Mauricio,al ingresar el usuario me aparece: Fatal error: Uncaught mysqli_sql_exception: Access denied for user 'root'@'localhost' (using password: NO) in C:\Program Files\xampp\htdocs\inventario\Database\Database.php:6 Stack trace: #0 C:\Program Files\xampp\htdocs\inventario\Database\Database.php(6): mysqli->__construct('localhost', 'root', Object(SensitiveParameterValue), 'project') #1 C:\Program Files\xampp\htdocs\inventario\login.php(9): require_once('C:\\Program File...') #2 {main} thrown in C:\Program Files\xampp\htdocs\inventario\Database\Database.php on line 6.. como arreglo este error?? gracias
El error que estás viendo indica que hay un problema con la conexión a la base de datos MySQL. Específicamente, el error "Access denied for user 'root'@'localhost' (using password: NO)" sugiere que estás intentando conectarte a la base de datos MySQL usando el usuario 'root' sin una contraseña, pero MySQL está configurado para requerir una contraseña para el usuario 'root'. Aquí hay algunas soluciones posibles para resolver este error: 1. **Verificar las credenciales de la base de datos**: Asegúrate de que estás usando las credenciales correctas para conectarte a MySQL. Abre el archivo `Database.php` y verifica que estás proporcionando la contraseña correcta. 2. **Actualizar el código de conexión a la base de datos**: Si tu usuario 'root' tiene una contraseña, asegúrate de que el código de conexión incluya esa contraseña. El código en tu `Database.php` debería verse algo así: ```php <?php $servername = "localhost"; $username = "root"; $password = "tu_contraseña"; // Reemplaza 'tu_contraseña' con la contraseña de tu usuario 'root' $dbname = "project"; // Crear la conexión $conn = new mysqli($servername, $username, $password, $dbname); // Verificar la conexión if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } ?> ``` 3. **Asegurarse de que MySQL esté configurado correctamente**: Si no estás seguro de la contraseña del usuario 'root', puedes verificar y cambiar la contraseña desde el panel de control de XAMPP o usando la línea de comandos de MySQL: - **Desde la línea de comandos**: 1. Abre la línea de comandos de MySQL desde el panel de control de XAMPP. 2. Ejecuta el siguiente comando para cambiar la contraseña del usuario 'root': ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY 'nueva_contraseña'; ``` 3. Reemplaza `'nueva_contraseña'` con la nueva contraseña que desees usar. 4. **Eliminar la contraseña si prefieres no usar una (no recomendado para producción)**: Si prefieres no usar una contraseña (solo recomendado para un entorno de desarrollo), puedes eliminar la contraseña del usuario 'root' ejecutando el siguiente comando desde la línea de comandos de MySQL: ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY ''; ``` Después de hacer cualquiera de estos cambios, intenta nuevamente ejecutar tu aplicación para ver si el error se ha resuelto.
Hola me sirvio muchisimo, estuve buscando en tu canal algun video que me ayudara a hacer un buscador y que muestre la información que contiene alguna tabla, me dejaron hacer un sistema generador de certificados de calidad el cual pueda buscar el folio del cliente y arroje el certificado con la informacion no se que tan complicado sea
Tengo un sistema gestor de productos que tiene un buen buscador y gráficos este es el enlace ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-UaNNJ3MJ-cQ.htmlsi=MV7MtjVY7xOm9jFD
@@MauricioSevillaBritto amigo de verdad que no está el enlace, solo encuentro esto que dice en tu descripción del video: En el siguiente enlace está la base de datos y todas las herramientas a las que hago referencia en el vídeo, pero no hay nada, puedes verificarlos, quizás lo has eliminado.
Este es enlace de la bd@@Maximiliano_j_a www.configuroweb.com/bases-de-datos-aplicaciones-de-configuroweb/#Sistema-de-Matr%C3%ADculas-de-Estudiantes-en-PHP
Cómo le haces para que una cita no se agende dos veces en el mismo horario del mismo día y que se generen citas iguales, hice una prueba y se pueden insertar 2 citas iguales con la misma hora
Se pone una bandera en boolean en 1, y después en el insert de la solicitud de la cita la condición de que si la bandera está en un mandé una alert con javascript de que no se puede reservar y ponga en disable el campo
Estimado Mauricio, Gracias por el aporte. He revisado el código y lo que no encuentro es la integración con MySQL. El título del video hace mención de MySQL. Tal vez fue una omisión.
buenas podria explicar esta estructura a[href^=/url?] entiendo que esta es para enlaces pero si quiero filtrar por palabras claves en una web como seria?
¡Hola! Gracias por tu pregunta. La estructura a[href^=/url?] es un selector de atributos en CSS que se utiliza para seleccionar todos los elementos <a> cuyos atributos href comiencen con la cadena de texto /url?. Aquí está desglosado lo que significa cada parte:a: Selecciona todos los elementos <a>.[href^=/url?]: Selecciona aquellos <a> cuyo atributo href comience (indicado por ^=) con /url?.Esta estructura es útil para seleccionar enlaces específicos que siguen un patrón particular.Filtrar por Palabras ClaveSi deseas filtrar enlaces en una página web basándote en palabras clave dentro del href, puedes utilizar un selector de atributos similar pero con *= en lugar de ^=. El *= selecciona elementos cuyo atributo contiene una cadena de texto específica en cualquier posición.Por ejemplo, si deseas seleccionar todos los enlaces que contienen la palabra clave "keyword" en el href, puedes usar:a[href*="keyword"]Esto seleccionará todos los elementos <a> cuyo atributo href contenga la palabra "keyword" en cualquier parte de la URL.Ejemplo en JavaScriptSi quieres filtrar y trabajar con estos enlaces usando JavaScript, aquí tienes un ejemplo:// Selecciona todos los enlaces que contienen "keyword" en el href const keywordLinks = document.querySelectorAll('a[href*="keyword"]'); // Itera sobre los enlaces y realiza alguna acción keywordLinks.forEach(link => { console.log(link.href); // Muestra la URL en la consola // Puedes agregar cualquier lógica adicional aquí });Esta consulta seleccionará todos los enlaces en la página que contienen "keyword" en su URL y permitirá manipularlos o extraer información adicional.Espero que esto aclare tu duda. ¡No dudes en preguntar si necesitas más ayuda!
claro, lo puedes implementar como subdominio o en una carpeta, pero preferiblemente como subdominio, porque en carpeta, no podrías llamar ninguna página ni post como la carpeta