Para evitar hacer esta verificación para que email no se repita, en la tabla de tb_usuarios, hacemos que el campo "email" sea UNIQUE
@jhonjairomolinasaenz360221 сағат бұрын
Hola Hilari, muchas gracias su trabajo es muy significativo, tengo una duda, como podría hacer que al pulsar en el widget Nueva categoría este me lleve al modal para crear una nueva categoría
@user-qv3ne6bq7vКүн бұрын
ya encontre el error en el video sale en esta linea de codigo "info": "Mostrando START a END de TOTAL Roles de esta manera "info": "Mostrando _START_ a _END_ de _TOTAL_ de Usuarios", ese es el error por eso no me salia como queria me fije linea por linea y ahora si me sale gracias por todo publicare el script bien, hay q poner el underscore en las palabras q estan en mayusculas START END TOTAL y en q esta mas abajo MAX y MENU es poner alante y atras en esas palabras es q en los comentarios youtube no pone el underscore
@ingenieriaenlinea6607Күн бұрын
Gracias por el contenido, si se sigue el curso paso a paso, efectivamente todo funciona a la perfección, así ha sido en todos los cursos que este canal ha impartido...
@EurekaCode242 күн бұрын
Me ha servido de mucho todo tu playlist, muchas gracias!
@mariarooke2 күн бұрын
Hola un gusto exelente explicación. Pero tengo una duda cuando puse los códigos en diferentes archivos, me aparece bien la información,pero ya no me aparece la plantilla. De antemano muchas gracias
@invicctor2 күн бұрын
Me gustan mucho tus clases. felicitaciones. Ojo que en el minuto 02:35 aparecio "magicamente" en el video la linea de codigo "Use App\Models\user;" Yo sigo paso a paso tus videos y me costo darme cuenta de porque fallaba mi codigo. Y era porque no habia agregado esa linea.
@HilariWeb2 күн бұрын
jejeje eso es mi editor de código que autocompleta muchas cosas. Muchas gracias por tu apoyo al canal, saludos desde Bolivia.
@JosueIriasMontoya3 күн бұрын
Estoy siguiendo el curso todo me ha salido bien, excelentes videos muchas gracias 👌
@HilariWeb2 күн бұрын
Muchas gracias por tu apoyo al canal, saludos desde Bolivia.
@severinojoaquim3 күн бұрын
Excelente, camarada. Muito obrigdo.
@HilariWeb2 күн бұрын
Muchas gracias por tu apoyo al canal, saludos desde Bolivia.
@griseRem3 күн бұрын
Hola profe! excelentes sus videos! Independientemente del sistema, me gustaría que incluyera en el login: verificación de correo, recuperación de contraseña y captcha. Sería genial!! Muchas gracias por los contenidos que comparte!.
@user-qv3ne6bq7v4 күн бұрын
cuando pongo el script no me sale bien pq en el paginado de la izquierda me sale con start en vez de numeros algun consejo
@HilariWeb2 күн бұрын
El script es este, de seguro lo copeaste mal. <script> $(function () { $("#example1").DataTable({ "pageLength": 5, "language": { "emptyTable": "No hay información", "info": "Mostrando _START_ a _END_ de _TOTAL_ Roles", "infoEmpty": "Mostrando 0 a 0 de 0 Roles", "infoFiltered": "(Filtrado de _MAX_ total Roles)", "infoPostFix": "", "thousands": ",", "lengthMenu": "Mostrar _MENU_ Roles", "loadingRecords": "Cargando...", "processing": "Procesando...", "search": "Buscador:", "zeroRecords": "Sin resultados encontrados", "paginate": { "first": "Primero", "last": "Ultimo", "next": "Siguiente", "previous": "Anterior" } }, "responsive": true, "lengthChange": true, "autoWidth": false, buttons: [{ extend: 'collection', text: 'Reportes', orientation: 'landscape', buttons: [{ text: 'Copiar', extend: 'copy', }, { extend: 'pdf' },{ extend: 'csv' },{ extend: 'excel' },{ text: 'Imprimir', extend: 'print' } ] }, { extend: 'colvis', text: 'Visor de columnas', collectionLayout: 'fixed three-column' } ], }).buttons().container().appendTo('#example1_wrapper .col-md-6:eq(0)'); }); </script>
@user-qv3ne6bq7vКүн бұрын
@@HilariWeb ya encontre el error en el video sale en esta linea de codigo "info": "Mostrando START a END de TOTAL Roles de esta manera "info": "Mostrando _START_ a _END_ de _TOTAL_ de Usuarios", ese es el error por eso no me salia como queria me fije linea por linea y ahora si me sale gracias por todo publicare el escrip bien, hay q poner el underscore en las palabras q estan en mayusculas START END TOTAL y en q esta mas abajo MAX y MENU es poner alante y atras en esas palabras
@kusulas244 күн бұрын
rendirse no es Opción!!. Piensa en la ventajas que va tener toda la gente al usar tu sistema. Queremos tu sistema bien hecho y chingon como puedes hacerlo. La practica hace al maestro. (es lo que supongo que dijo)
@HilariWeb2 күн бұрын
Muchas gracias por tu apoyo al canal, saludos desde Bolivia.
@ElAvionDePapel1884 күн бұрын
Este video no aparece en la lista de Biblioteca PHP desde cero
@romaa-offi4 күн бұрын
OTRA FORMA MAS SIMPLIFICADA DE LA PREVISUALIZACION DE IMAGENES // ============== SIN ESTILOS ============== <div class=""> <img id="imagePreview" loading="lazy" class=""> <div class=""> <label for="logo" class=""> <span>Subir logo</span> <input id="logo" class="" name="logo" type="file" accept="image/*"> </label> </div> <p class="">PNG, JPG, GIF hasta 10MB</p> </div> <script> const inputFile = document.getElementById("logo"); inputFile.addEventListener("change", function() { const img = document.getElementById("imagePreview"); img.src = URL.createObjectURL(this.files[0]); }); </script> // ============== SIN ESTILOS ============== // ============== CON ESTILOS TAILWIND ============== TAILWIND ES UN FRAMEWORK CSS IGUAL QUE BOOTSTRAP <script src="cdn.tailwindcss.com"></script> <div class="mt-2 flex justify-center rounded-md border border-dashed border-gray-900/25 p-6"> <div class="text-center"> <img id="imagePreview" loading="lazy" class="w-full rounded-md object-cover"> <div class="mt-4 flex justify-center text-sm leading-6 text-gray-600"> <label for="logo" class="relative cursor-pointer font-semibold text-indigo-600"> <span>Subir logo</span> <input id="logo" class="sr-only" name="logo" type="file" accept="image/*"> </label> </div> <p class="text-xs leading-5 text-gray-600">PNG, JPG, GIF hasta 10MB</p> </div> </div> // ============== CON ESTILOS TAILWIND ==============
@El_Nickoo4 күн бұрын
¡¡¡Excelente CURSO!!! ¡¡Se entiende y se aprende!! ¡¡Gracias por el contenido!!
@HilariWeb2 күн бұрын
Muchas gracias por tu apoyo al canal, saludos desde Bolivia.
@leocervantes52405 күн бұрын
Le estoy haciendo un sistema a mi dentista y me estanque en el apartado de citas, me fue de mucha ayuda tu video amigo, increible como hay demasiadas practicas que no llevo acabo y que apenas descubri contigo, me sentia chingon y ya vi que no soy nada jaja
@HilariWeb2 күн бұрын
jejeje hay muchas que nos falta por aprender. Muchas gracias por tu apoyo al canal, saludos desde Bolivia.
@HilariWeb5 күн бұрын
Si tienes dificultad, aquí comparto todo el código fuente del controlador EventController: <?php namespace App\Http\Controllers; use App\Models\Configuracione; use App\Models\Doctor; use App\Models\Event; use App\Models\Horario; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Barryvdh\DomPDF\PDF; use Illuminate\Validation\ValidationException; class EventController extends Controller { /** * Display a listing of the resource. */ public function index() { // } /** * Show the form for creating a new resource. */ public function create() { // } /** * Store a newly created resource in storage. */ public function store(Request $request) { //$datos = request()->all(); //return response()->json($datos); $request->validate([ 'fecha_reserva'=>'required|date', 'hora_reserva'=>'required|date_format:H:i', ]); $doctor = Doctor::find($request->doctor_id); $fecha_reserva = $request->fecha_reserva; $hora_reserva = $request->hora_reserva.':00'; $dia = date('l',strtotime($fecha_reserva)); $dia_de_reserva = $this->traducir_dia($dia); //valida si existe el horario del doctor $horarios = Horario::where('doctor_id',$doctor->id) ->where('dia',$dia_de_reserva) ->where('hora_inicio','<=',$hora_reserva) ->where('hora_fin','>=',$hora_reserva) ->exists(); if(!$horarios){ return redirect()->back()->with([ 'mensaje' => 'El doctor no esta disponible en ese horario.', 'icono' => 'error', 'hora_reserva'=> 'El doctor no esta disponible en ese horario.', ]); } $fecha_hora_reserva = $fecha_reserva." ".$hora_reserva; /// valida si existen eventos duplicado $eventos_duplicados = Event::where('doctor_id',$doctor->id) ->where('start', $fecha_hora_reserva) ->exists(); if($eventos_duplicados){ return redirect()->back()->with([ 'mensaje' => 'Ya existe una reserva con el mismo doctor en esa fecha y hora.', 'icono' => 'error', 'hora_reserva'=> 'Ya existe una reserva con el mismo doctor en esa fecha y hora.', ]); } $evento = new Event(); $evento->title = $request->hora_reserva." ".$doctor->especialidad; $evento->start = $request->fecha_reserva." ".$hora_reserva; $evento->end = $request->fecha_reserva." ".$hora_reserva; $evento->color = '#e82216'; $evento->user_id = Auth::user()->id; $evento->doctor_id = $request->doctor_id; $evento->consultorio_id = '1'; $evento->save(); return redirect()->route('admin.index') ->with('mensaje','Se registro la reserva de la cita medica la manera correcta') ->with('icono','success'); } private function traducir_dia($dia){ $dias=[ 'Monday' => 'LUNES', 'Tuesday' => 'MARTES', 'Wednesday' => 'MIERCOLES', 'Thursday' => 'JUEVES', 'Friday' => 'VIERNES', 'Saturday' => 'SABADO', 'Sunday' => 'DOMINGO', ]; return $dias[$dia]??$dias; } /** * Display the specified resource. */ public function show(Event $event) { // } /** * Show the form for editing the specified resource. */ public function edit(Event $event) { // } /** * Update the specified resource in storage. */ public function update(Request $request, Event $event) { // } /** * Remove the specified resource from storage. */ public function destroy($id) { Event::destroy($id); return redirect()->back()->with([ 'mensaje' => 'Se elimino la reserva de la manera correcta', 'icono' => 'success', ]); } public function reportes(){ return view('admin.reservas.reportes'); } public function pdf(){ $configuracion = Configuracione::latest()->first(); $eventos = Event::all(); $pdf = \PDF::loadView('admin.reservas.pdf', compact('configuracion','eventos')); // Incluir la numeración de páginas y el pie de página $pdf->output(); $dompdf = $pdf->getDomPDF(); $canvas = $dompdf->getCanvas(); $canvas->page_text(20, 800, "Impreso por: ".Auth::user()->email, null, 10, array(0,0,0)); $canvas->page_text(270, 800, "Página {PAGE_NUM} de {PAGE_COUNT}", null, 10, array(0,0,0)); $canvas->page_text(450, 800, "Fecha: " . \Carbon\Carbon::now()->format('d/m/Y')." - ".\Carbon\Carbon::now()->format('H:i:s'), null, 10, array(0,0,0)); return $pdf->stream(); } public function pdf_fechas(Request $request){ //$datos = request()->all(); //return response()->json($datos); $configuracion = Configuracione::latest()->first(); $fecha_inicio = $request->input('fecha_inicio'); $fecha_fin = $request->input('fecha_fin'); $eventos = Event::whereBetween('start',[$fecha_inicio, $fecha_fin])->get(); $pdf = \PDF::loadView('admin.reservas.pdf_fechas', compact('configuracion','eventos','fecha_inicio','fecha_fin')); // Incluir la numeración de páginas y el pie de página $pdf->output(); $dompdf = $pdf->getDomPDF(); $canvas = $dompdf->getCanvas(); $canvas->page_text(20, 800, "Impreso por: ".Auth::user()->email, null, 10, array(0,0,0)); $canvas->page_text(270, 800, "Página {PAGE_NUM} de {PAGE_COUNT}", null, 10, array(0,0,0)); $canvas->page_text(450, 800, "Fecha: " . \Carbon\Carbon::now()->format('d/m/Y')." - ".\Carbon\Carbon::now()->format('H:i:s'), null, 10, array(0,0,0)); return $pdf->stream(); } }
@HilariWeb5 күн бұрын
Si tienes dificultad, aquí comparto todo el código fuente del controlador EventController: <?php namespace App\Http\Controllers; use App\Models\Configuracione; use App\Models\Doctor; use App\Models\Event; use App\Models\Horario; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Barryvdh\DomPDF\PDF; use Illuminate\Validation\ValidationException; class EventController extends Controller { /** * Display a listing of the resource. */ public function index() { // } /** * Show the form for creating a new resource. */ public function create() { // } /** * Store a newly created resource in storage. */ public function store(Request $request) { //$datos = request()->all(); //return response()->json($datos); $request->validate([ 'fecha_reserva'=>'required|date', 'hora_reserva'=>'required|date_format:H:i', ]); $doctor = Doctor::find($request->doctor_id); $fecha_reserva = $request->fecha_reserva; $hora_reserva = $request->hora_reserva.':00'; $dia = date('l',strtotime($fecha_reserva)); $dia_de_reserva = $this->traducir_dia($dia); //valida si existe el horario del doctor $horarios = Horario::where('doctor_id',$doctor->id) ->where('dia',$dia_de_reserva) ->where('hora_inicio','<=',$hora_reserva) ->where('hora_fin','>=',$hora_reserva) ->exists(); if(!$horarios){ return redirect()->back()->with([ 'mensaje' => 'El doctor no esta disponible en ese horario.', 'icono' => 'error', 'hora_reserva'=> 'El doctor no esta disponible en ese horario.', ]); } $fecha_hora_reserva = $fecha_reserva." ".$hora_reserva; /// valida si existen eventos duplicado $eventos_duplicados = Event::where('doctor_id',$doctor->id) ->where('start', $fecha_hora_reserva) ->exists(); if($eventos_duplicados){ return redirect()->back()->with([ 'mensaje' => 'Ya existe una reserva con el mismo doctor en esa fecha y hora.', 'icono' => 'error', 'hora_reserva'=> 'Ya existe una reserva con el mismo doctor en esa fecha y hora.', ]); } $evento = new Event(); $evento->title = $request->hora_reserva." ".$doctor->especialidad; $evento->start = $request->fecha_reserva." ".$hora_reserva; $evento->end = $request->fecha_reserva." ".$hora_reserva; $evento->color = '#e82216'; $evento->user_id = Auth::user()->id; $evento->doctor_id = $request->doctor_id; $evento->consultorio_id = '1'; $evento->save(); return redirect()->route('admin.index') ->with('mensaje','Se registro la reserva de la cita medica la manera correcta') ->with('icono','success'); } private function traducir_dia($dia){ $dias=[ 'Monday' => 'LUNES', 'Tuesday' => 'MARTES', 'Wednesday' => 'MIERCOLES', 'Thursday' => 'JUEVES', 'Friday' => 'VIERNES', 'Saturday' => 'SABADO', 'Sunday' => 'DOMINGO', ]; return $dias[$dia]??$dias; } /** * Display the specified resource. */ public function show(Event $event) { // } /** * Show the form for editing the specified resource. */ public function edit(Event $event) { // } /** * Update the specified resource in storage. */ public function update(Request $request, Event $event) { // } /** * Remove the specified resource from storage. */ public function destroy($id) { Event::destroy($id); return redirect()->back()->with([ 'mensaje' => 'Se elimino la reserva de la manera correcta', 'icono' => 'success', ]); } public function reportes(){ return view('admin.reservas.reportes'); } public function pdf(){ $configuracion = Configuracione::latest()->first(); $eventos = Event::all(); $pdf = \PDF::loadView('admin.reservas.pdf', compact('configuracion','eventos')); // Incluir la numeración de páginas y el pie de página $pdf->output(); $dompdf = $pdf->getDomPDF(); $canvas = $dompdf->getCanvas(); $canvas->page_text(20, 800, "Impreso por: ".Auth::user()->email, null, 10, array(0,0,0)); $canvas->page_text(270, 800, "Página {PAGE_NUM} de {PAGE_COUNT}", null, 10, array(0,0,0)); $canvas->page_text(450, 800, "Fecha: " . \Carbon\Carbon::now()->format('d/m/Y')." - ".\Carbon\Carbon::now()->format('H:i:s'), null, 10, array(0,0,0)); return $pdf->stream(); } public function pdf_fechas(Request $request){ //$datos = request()->all(); //return response()->json($datos); $configuracion = Configuracione::latest()->first(); $fecha_inicio = $request->input('fecha_inicio'); $fecha_fin = $request->input('fecha_fin'); $eventos = Event::whereBetween('start',[$fecha_inicio, $fecha_fin])->get(); $pdf = \PDF::loadView('admin.reservas.pdf_fechas', compact('configuracion','eventos','fecha_inicio','fecha_fin')); // Incluir la numeración de páginas y el pie de página $pdf->output(); $dompdf = $pdf->getDomPDF(); $canvas = $dompdf->getCanvas(); $canvas->page_text(20, 800, "Impreso por: ".Auth::user()->email, null, 10, array(0,0,0)); $canvas->page_text(270, 800, "Página {PAGE_NUM} de {PAGE_COUNT}", null, 10, array(0,0,0)); $canvas->page_text(450, 800, "Fecha: " . \Carbon\Carbon::now()->format('d/m/Y')." - ".\Carbon\Carbon::now()->format('H:i:s'), null, 10, array(0,0,0)); return $pdf->stream(); } }
@albertorondon52575 күн бұрын
HOLA, gracias por los contenidos. ¿Cómo me hago miembro del canal?
@HilariWeb5 күн бұрын
Claro aquí te comparto el enlace, saludos. kzfaq.info/love/vNpSMlpXZpYLFgATOn3wIAjoin
@albertorondon52574 күн бұрын
@@HilariWeb no visualizo botón registro
@nicolasscastaneda5 күн бұрын
¡hola! Descargue las plantillas, pero cuando voy a darle clic al index para previsualizar las paginas, me abre el navegador, pero solo se ve el texto no el diseño, ¿sabes a que se debe?
@HilariWeb5 күн бұрын
No deviste desencriptar todo
@Ch3yo6 күн бұрын
julio 2024 y si funciona el tutorial, con office 2023
@HilariWeb5 күн бұрын
Muchas gracias por comentar, saludos.
@diegoalejandrogarciaguayar64936 күн бұрын
Voy siguiendo cada capitulo y además de didácticos y bien explicado he aprendido bastante gracias😃
@HilariWeb5 күн бұрын
Excelente! Gracias por comentar.
@alejandrotorrezperez18376 күн бұрын
excelente video, me recordo al de farmacia que tenias, seria bueno actilizarlo agregando nuevos retos como: el tema de caducidad, el que tenga como guardar 2 codigos de barras al mismo producto o que el producto tenga 2 ó 3 precios diferentes, para clientes frecuentes o asignale alguna categoria un descuentos 10% todos los miercoles ir tocando nuevos temas.
@HilariWeb5 күн бұрын
oooo que buenas ideas, los tomare cuenta para los siguiente cursos, saludos.
@romaa-offi6 күн бұрын
private function traducir_dia($dia) { $dias = [ '0' => 'Domingo', '1' => 'Lunes', '2' => 'Martes', '3' => 'Miercoles', '4' => 'Jueves', '5' => 'Viernes', '6' => 'Sabado', ]; return $dias[$dia]; } public function store(Request $request) { .... $dia = date('w', strtotime($fecha_reserva)); $dia_reserva = $this->traducir_dia($dia); $horarios = Horario::where('idDoctor', $doctor->id) ->where('h_dia', $dia_reserva) ->where('h_hora_inicio', '<=', $hora_reserva) ->where('h_hora_fin', '>', $hora_reserva) //aca cambien el >= a solo > ya que el doctor se retira a esa hora no deberia de permitir reservar ->exists(); .... }
@ernestogomezbautista12867 күн бұрын
¿El proyecto tendrá más módulos?, como registro de préstamos, por parte de un usuario o algo así?
@MrCristhianD8 күн бұрын
Positron
@HilariWeb5 күн бұрын
Muchas gracias por tu apoyo al canal, saludos desde Bolivia.
@albertomecinas49388 күн бұрын
Muy interesante y bien explicado teacher.
@HilariWeb5 күн бұрын
Muchas gracias por tu apoyo al canal, saludos desde Bolivia.
@RobinsonAguirre-rz9zz8 күн бұрын
@HilariWeb me gustaria obtener el codigo fuente del sistema completo como hago y de antemano muchas gracias.
@HilariWeb5 күн бұрын
Muchas gracias por tu apoyo al canal, saludos desde Bolivia. codigofuente.hilariweb.com/sistema-de-ventas
@RobinsonAguirre-rz9zz8 күн бұрын
Muy buen trabajo profe, este curso si es realmente un buen aporte a la humanidad gracias y buen trabajo
@HilariWeb5 күн бұрын
Muchas gracias por tu apoyo al canal, saludos desde Bolivia.
@goldenmessiyt9778 күн бұрын
Buen video +1
@HilariWeb5 күн бұрын
Muchas gracias por tu apoyo al canal, saludos desde Bolivia.
@griseRem8 күн бұрын
Hola profe!! gracias por todos los contenidos compartidos! El curso es excelente. Le comento que algunos servicios de hosting tienen programas de afiliados, mediante los cuales, ud. puede recomendar un servicio de hosting y ganar una comisión, por cada venta. Es otra forma de monetizar el canal.
@admperu8 күн бұрын
Profe, en este video apareció mágicamente -- traducir_dia --- por eso no se puede guardar
@ingenieriaenlinea66078 күн бұрын
Gracias Profesor, una pregunta, va a continuar con el curso de Delivery, nos quedamos en el video 70, le agradezco su respuesta
@marlonvargas77329 күн бұрын
Excelte curso mi estimado gracias por compartir tus conocimientos felicidades y sigue adelante no pude completo pera ya voy avanzando poco a poco
@HilariWeb5 күн бұрын
Muchas gracias por tu apoyo al canal, saludos desde Bolivia.
@marlonvargas77329 күн бұрын
hola como estas tengo una pregunta
@HilariWeb5 күн бұрын
Muchas gracias por tu apoyo al canal, saludos desde Bolivia.
@holiguapos26229 күн бұрын
aun en 2024 nos ayuda mucho ese video bro, muchas gracias hermano mio.
@HilariWeb5 күн бұрын
Muchas gracias por tu apoyo al canal, saludos desde Bolivia.
Muchas gracias por tu apoyo al canal, saludos desde Bolivia.
@rogermonroyoo9 күн бұрын
Gracias profe por el curso, la verdad si valieron la pena los 90 videos ✌️🎉🎉🎉
@HilariWeb5 күн бұрын
Muchas gracias por tu apoyo al canal, saludos desde Bolivia.
@JoseLuisYsturiz9 күн бұрын
Saludos, que numero es este video, y no se ve el link de descarga.. gracias
@abrahamlc879 күн бұрын
kzfaq.info/sun/PLgLkBkgzqH2B-f8nCTeLPmhwIV-_lO2Oy
@JoseLuisYsturiz8 күн бұрын
@@abrahamlc87 Saludos, tengo el curso completo descargo, lo hice cada ves que salia un vudeo, lo que no tengo es las fuentes, gracias
@jorgedamianparedes4049 күн бұрын
que tal gracias por compartir, pero viendo el video al colocar esta sentencia $datos = request()-> all() arroja el siguiente error expected type 'object'. Found 'array<string, mixed>' existirá alguna solución
@jorgedamianparedes4049 күн бұрын
lo resolvi colocando: $datos = $request->all(); return response()->json($datos); Saludos
@jorgeluis90159 күн бұрын
gracias
@HilariWeb5 күн бұрын
Muchas gracias por tu apoyo al canal, saludos desde Bolivia.
@admperu10 күн бұрын
gracias por el curso
@HilariWeb5 күн бұрын
Muchas gracias por tu apoyo al canal, saludos desde Bolivia.
@rogermonroyoo10 күн бұрын
Excelente profe, aprendi mucho en este curso, pude adaptarlo a mis necesidades.
@HilariWeb5 күн бұрын
Muchas gracias por tu apoyo al canal, saludos desde Bolivia.
@eljeremycrac794310 күн бұрын
pero una pregunta como seria para subirlo a un servidor web? como el de amazon web servives
@eljeremycrac794310 күн бұрын
Gran curso😁😁😁😁
@HilariWeb5 күн бұрын
Muchas gracias por tu apoyo al canal, saludos desde Bolivia.
@rogermonroyoo10 күн бұрын
Excelente profe, aprendí varias cosas con este curso
@HilariWeb5 күн бұрын
Muchas gracias por tu apoyo al canal, saludos desde Bolivia.
@luisarturoquinonezbolanos147710 күн бұрын
Gracias ❤ de todo corazón aprendo mucho de tus videos!!!!🎉🎉❤ Agradezco que podamos ver el vídeo que KZfaq no dejaba ver❤ un abrazo 🤗 genio
@HilariWeb5 күн бұрын
Muchas gracias por tu apoyo al canal, saludos desde Bolivia.
@griseRem11 күн бұрын
Hola Profe! gracias por el contenido compartido. Otra forma de alinear el botón de "Generar reporte" <div class="col-md-4" style="display: flex; align-items:flex-end;"> <button class="btn btn-success" type="submit"> <i class="bi bi-printer"></i> Generar reporte </button> </div>
@HilariWeb10 күн бұрын
Excelente
@rogermonroyoo11 күн бұрын
Un sistema que gestione las entradas y salidas de una residencia, de manera que al llegar los residentes, presenten una tarjeta QR que permita verificar si tienen acceso, confirmando así que han pagado la mensualidad correspondiente.