elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


  Mostrar Mensajes
Páginas: [1] 2
1  Programación / Desarrollo Web / Re: [Pregunta]: Evitar el re-envio de datos por medio de AJAX en: 23 Junio 2019, 22:45 pm
Probaste validar que si él usuario ya esta registrado no permita duplicar él registro?
2  Programación / Desarrollo Web / Re: aplicacion web de abm en: 9 Mayo 2019, 19:28 pm
necesitas saber algun lenguaje de backend como puede ser PHP, NODEJS,DJANGO, etc
tambien necesitas tener conocimientos basicos de bases de datos relacionales , como SQL.
sin dejar de lado la estructura basica de HTML5 para los formularios que sirven para introducir o modificar los registros existentes.
3  Programación / Desarrollo Web / Re: [Pregunta]: INPUT CON javascript (DINERO) en: 26 Abril 2019, 19:35 pm
buenas tardes, esto es lo que necesitabas?
vanilla JS
Código
  1.  
  2. let input = document.getElementById("put");
  3.  
  4. input.addEventListener('keyup',(e)=>{
  5.    if(event.which >= 37 && event.which <= 40){
  6.        event.preventDefault();
  7.      }
  8.    let resultado = input.value.replace(/\D/g, "").replace(/([0-9])([0-9]{2})$/, '$1.$2').replace(/\B(?=(\d{3})+(?!\d)\.?)/g, ",");
  9.  
  10.    return input.value = resultado;
  11.  
  12. })
  13.  

con JQuery
Código
  1. $('input.number').keyup(function(event) {
  2.  
  3.  
  4.  if(event.which >= 37 && event.which <= 40){
  5.    event.preventDefault();
  6.  }
  7.  
  8.  $(this).val(function(index, value) {
  9.    return value
  10.      .replace(/\D/g, "")
  11.      .replace(/([0-9])([0-9]{2})$/, '$1.$2')  
  12.      .replace(/\B(?=(\d{3})+(?!\d)\.?)/g, ",")
  13.    ;
  14.  });
  15.  

en estos casos use expresiones regulares, las cuales podes modificar para cambiar detalles, en el ejemplo que hice quedaría así "1,000.00"(para mil, con 00 centavos)
4  Programación / Desarrollo Web / Re: ¿Como se puede hacer un diseño web NO responsive? en: 17 Abril 2019, 23:10 pm
si estas usando boostrap, no vas a poder, al menos que te pongas a borrar lineas del css lo cual dudo que quieras ponerte a hacer.

otra manera es hacerla vos mismo a mano , usando medidas estaticas como los px.
por ejemplo si tenes un contenedor le decis que su width sea de 1200px y nunca va a cambiar.
5  Programación / Desarrollo Web / Re: css after hover en: 17 Abril 2019, 22:58 pm
https://codepen.io/NahuelJotandjota/pen/BEYbxE

te hice esto para que puedas estudiarlo, de todas maneras no creo  que sea la mejor decisión usar de fondo para un div una imagen, ya que es una mala practica para el SEO , ahora si las imagenes que estas usando son solo de adorno no hay problema.

Saludos.
6  Programación / Desarrollo Web / Re: [Pregunta rápida]: Timers en la pagina WEB en: 13 Marzo 2019, 14:29 pm
Depende de que ejecutes en él timer y de cuanto son los intervalos que le vas a asignar, en teoría solo la primera vez que se ejecuta él timer tendría que "costarle" luego para las demás veces ya estaria en cache.
7  Programación / Desarrollo Web / ocultar contraseña de conexion con PHP en: 1 Marzo 2019, 21:16 pm
Hola a todos, les cuento tengo un problema y es que aveces el hosting en el que tengo la web tiene un tiempo de respuesta tardio, lo que produce el siguiente error:

Fatal error: Uncaught PDOException: SQLSTATE[HY000] [2002] Connection timed out

exponiendo asi esta linea de codigo:

Código
  1. $link = new PDO("mysql:host=xxx.xxx.xxx.xxx;port=xxx;dbname=xxx","user","pass");

sé que tengo que crear un archivo config.php donde creo las variables con la contraseña y el usuario y luego hacer un include en donde finalmente creo la conexion,Pero en este caso estoy usando clases y estoy un poco perdido en como hacerlo, mi codigo es:

Código
  1. <?php
  2. class Conexion{
  3.      static public function conectar(){
  4.            $link = new PDO("mysql:host=xxx.xx.x.xx;port=3306;dbname=xxxx","usuario","pass");
  5.            $link->exec("set names utf8");
  6.  
  7.            return $link;
  8.  
  9.      }
  10. }
  11.  

como puedo hacer para no exponer la contraseña ? desde ya gracias ! :D
8  Programación / Desarrollo Web / Fetch Api CRUD en: 6 Febrero 2019, 00:02 am
Lo que estoy intentando es dejar de usar JQUERY para las consultas asincronas, para eso decidi usar la API Fetch de JS , mi problema consiste en que una vez devuelto los datos de la BD , a la tabla en la cual se muestran estos datos no le funciona el boton "EDITAR"


index.php aca listo los productos con sus respectivos botones EDITAR y ELIMINAR (FUNCIONAN)

Código:
[code=html4strict]<div id="verTablaPremium">Tabla Premium</div>
              <div class="contenedor_tabla">
                <table class="contenedor_tabla_table">
                  <tr>
                    <th>Foto</th>
                    <th>Nombre</th>
                    <th>Pack</th>
                    <th>Desc Menu</th>
                    <th>Desc Producto</th>
                    <th>Precio</th>
                    <th>Editar</th>
                    <th>Eliminar</th>
                  </tr>
                  <?php
                  $item = null;
                  $valor = null;
                  $cPacks = ControladorPacks::ctrMostrarPacks($item,$valor);

                  foreach ($cPacks as $key => $value) {
                        echo '<tr>
                              <td><img src="./vistas/img/packspremium/'.$value["nombre"].'+'.$value["pack"].'/320/'.$value["foto"].'"></td>
                              <td>'.$value["nombre"].'</td>
                              <td>'.$value["pack"].'</td>
                              <td>'.$value["descripcion"].'</td>
                              <td>'.$value["descripciondos"].'</td>
                              <td>'.$value["precio"].'</td>
                              <td><button class="botones__editar btnEditarPack"  idPack="'.$value["id_premium"].'"> <i class="fas fa-pencil-alt"></i></button></td>
                              <td><button class="botones__eliminar btnEliminarBurguer" idBurguer="'.$value["id_premium"].'" fotoBurguer="'.$value["foto"].'" nombreBurguer="'.$value["nombre"].'" pack="'.$value["pack"].'"> <i class="fas fa-trash-alt"></i></button> </td>
                              </tr>';
                  }
                  $borrarBurguer = new ControladorPacks();
                  $borrarBurguer -> ctrBorrarBurguer();
                  ?>
                </table>
[/code]


Luego en mi JS para hacer la llamada a la db tengo esto.

Código:
[code=javascript]var formulario = document.getElementById("formEnkel")
var tr = document.getElementById("refresh")
let boton = Array.from(document.querySelectorAll('.btnEditarPackEnkel'))

let evento = e =>{
  /* relleno el formulario del modal con los datos traidos de la BD */
  if(e.target.tagName == "I"){
    idPackEnkel = e.target.parentNode.getAttribute("idPackEnkel");
 
    let datos = new FormData(formulario);
 
    datos.append("idPackEnkel", idPackEnkel);
 
    //console.log(datos.get('idPackEnkel'))
 
    fetch("ajax/enkel.ajax.php",{
      method:"POST",
      body:datos
    })
    .then( res => res.json())
    .then( data => {
      document.getElementById('fotoActualBEnkel').value = data.foto
      document.getElementById('editarNombrePEnkel').value = data.nombre
      document.getElementById('editarDescripcionEnkel').value = data.descripcion
      document.getElementById('editarDescripcionDosEnkel').value = data.descripciondos
      document.getElementById('id_enkel').value = data.id_enkel
      document.getElementById('nombreActualEnkel').value = data.nombre
     
      if(data.foto != ""){
        document.querySelector('.previsualizarBEnkel').setAttribute("src","./vistas/img/packsenkel/"+data.nombre+"/320/"+data.foto+"")
      }
    })
  }
}


tr.addEventListener('click',evento,true);

   
/* CUANDO hago el submit traigo la respuesta de la db para llenar la tabla con los datos actualizados  */

formulario.addEventListener('submit',(e) =>{
  e.preventDefault();
  let datos = new FormData(formulario);

  fetch("ajax/submit.ajax.php",{
    method:"POST",
    body:datos
  })
  .then( res => res.text())
  .then(data =>{
   formulario.reset();
   tr.innerHTML = data;


  })

 
})
[/code]


SUBMIT.AJAX.PHP

Código:
[code=php]<?php

require_once "../controladores/enkel.controlador.php";
require_once "../modelos/enkel.modelo.php";

$e = new ControladorPacksEnkel();
$e->ctrEditarEnkel();
[/code]

en el controlador que devuelve todos los datos actualizados en cuestion tengo esto

Código:
[code=php]$respuesta = ModeloPacksEnkel::mdlEditarEnkel($tabla, $datos);

if($respuesta == "ok"){
  $item = null;
                  $valor = null;
  $ePacks = ControladorPacksEnkel::ctrMostrarPacksEnkel($item,$valor);
  echo ' <tr>
  <th>Foto</th>
  <th>Nombre</th>
  <th>Desc Menu</th>
  <th>Desc Prod</th>
  <th>Precio</th>
  <th>Editar</th>
  <th>Eliminar</th>
</tr>';
foreach ($ePacks as $key => $value) {
echo '<tr>

                              <td><img src="./vistas/img/packsenkel/'.$value["nombre"].'/320/'.$value["foto"].'"></td>
                              <td>'.$value["nombre"].'</td>
                              <td>'.$value["descripcion"].'</td>
                              <td>'.$value["descripciondos"].'</td>
                              <td>'.$value["precio"].'</td>
                              <td><button class="botones__editar btnEditarPackEnkel"  idPackEnkel="'.$value["id_enkel"].'"> <i class="fas fa-pencil-alt"></i></button></td>
                              <td><button class="botones__eliminar btnEliminarBurguerEnkel" idBurguerEnkel="'.$value["id_enkel"].'" fotoBurguerEnkel="'.$value["foto"].'" nombreBurguerEnkel="'.$value["nombre"].'"> <i class="fas fa-trash-alt"></i></button> </td>
  </tr>

  ';
  };

}
[/code]


repito, la primera vez que apreto en editar funciona, despues hago el submit, los datos se muestran perfectamente pero el boton editar no funciona, lei algo de la propagacion de eventos y que con jquery se soluciona con el evento " .ON ". pero no le encuentro la solucion , desde ya muchas gracias.
9  Programación / Desarrollo Web / Re: [Pregunta]: Detectar un click sobre un elemento en: 31 Enero 2019, 01:27 am
no se si entendi bien, proba esto..

Código
  1. const detectarClick = (classBoton) => {
  2.    let boton = Array.prototype.slice.apply(document.querySelectorAll(classBoton));
  3.  
  4.        boton.forEach(element => {
  5.            element.addEventListener('click',()=>{
  6. let msj = element.textContent
  7.                  alert(`hiciste click en: ${msj}`);
  8.                })
  9.        });
  10.  
  11.  
  12.  
  13. }
  14. detectarClick(".btn")
[/tt]

Código
  1. <div id="botones">
  2.  <button class="btn">boton 1</button>
  3.  <button class="btn">boton 2</button>
  4.  <button class="btn">boton 3</button>
  5.  <button class="btn">boton 4</button>
  6. </div>

si no es esto lo que buscas avisame, y pruebo de nuevo ajja saludos!
10  Programación / Desarrollo Web / Re: Opiniones sobre un diseño web en: 29 Enero 2019, 21:39 pm
tiraste tu web amigo? me gustaria ayudarte.
Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines