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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Mensajes
Páginas: [1] 2 3 4 5 6 7 8 9 10 11
1  Media / Juegos y Consolas / Problema para instalar/ejecutar Palworld en: 26 Enero 2024, 11:09 am
Hola,
Estoy intentando instalar y jugar a Palworld pero me sale este mensaje al ejecutarlo:
https://ibb.co/VH53QJ9

Ya he instalado directx 12 y 11, ambos me dicen que están actualizados, he actualizado los controladores de Nvidia y ni aún así.

¿Sabéis que puedo hacer?
Gracias de antemano. Un saludo.
2  Programación / Programación General / Problema con ejercicio con objeto DOM en: 21 Febrero 2021, 20:09 pm
Buenas tengo el siguiente ejercicio:

Implementa una lista interactiva a través de flechas que permita mover los elementos hacia arriba y hacia abajo.

https://ibb.co/10dDKqS

Descarga los ficheros proporcionados en esta carpeta compartida de Google Drive e implementa las funciones descritas en el fichero JS.

Consideraciones:

Los ficheros HTML y CSS no deben modificarse.
Antes de empezar a escribir código javascript, analiza la estructura del documento HTML, cómo están formados los elementos de la lista y las clases que utilizan.

-----------------------------------------
Basicamente son 5 elementos li que hay que mover arriba y abajo con la particularidad de que el primer y ultimo elemento tienen los botones de arriba o abajo deshabilitados, y esa ultima parte es la que no consigo.

Yo tengo lo siguiente:

Código
  1. window.onload = function()
  2. {
  3. /**
  4.  * 1. Obtén todos los elementos li como una HTMLCollection dinámica en la
  5.  * constante "oElementosLi". [0,5 puntos]
  6.  */
  7. const oElementosLi = document.getElementsByTagName("li");
  8.  
  9. /**
  10.  * 2. Obtén una NodeList estática con todas las flechas (elementos span que
  11.  * contienen la clase "flechaArriba" y "flechaAbajo") en la constante
  12.  * "oFlechas". [0,75 puntos]
  13.  */
  14. const oFlechas = document.querySelectorAll('span.flechaArriba, span.flechaAbajo');
  15.  
  16.  
  17. /**
  18.  * 3. Añade un manejador del evento click a cada flecha usando la NodeList
  19.  * "oFlechas", un bucle "forEach" y la notación flecha. Al hacer click en
  20.  * una flecha se debe llamar a la función "actualizarLista". [1,75 puntos]
  21.  */
  22.  
  23. oFlechas.forEach(oFlecha => {
  24.    oFlecha.addEventListener("click", actualizarLista);
  25. });
  26.  
  27. /**
  28.  * 4. Implementa la función "actualizarLista" para que:
  29.  *  
  30.  *  -Intercambie el elemento li sobre el que se ha hecho click con su hermano
  31.  *  anterior o posterior dependiendo si se ha pulsado la flecha arriba o
  32.  *  abajo. Pulsar la flecha arriba en el primer elemento o la flecha abajo en
  33.  *  el último no realizará ninguna operación. Utiliza la función
  34.  *  "insertAdjacentElement" y las referencias "parentNode", previousElementSibling"
  35.  *  y "nextElementSibling". [4 puntos]
  36.  *
  37.  *  -Elimine la clase "flechaDeshabilitada" de los elementos que la contengan
  38.  *  y la añada a la flecha arriba del primer elemento y a la flecha abajo del
  39.  *  último elemento. [3 puntos]
  40.  */
  41. function actualizarLista(event) {
  42.    const oFlecha = event.target;
  43.    const oFlechaActual = oFlecha.parentNode;
  44.    const oFlechaAnterior = oFlechaActual.previousElementSibling;
  45.    const oFlechaSiguiente = oFlechaActual.nextElementSibling;
  46.  
  47.    oFlechas.forEach((oFlecha) => {
  48.        if (oFlecha.classList.contains("flechaDeshabilitada")) {
  49.        oFlecha.classList.remove("flechaDeshabilitada");
  50.        }
  51.        });
  52.  
  53.    if(oFlecha.className == "flechaArriba"){
  54.        oFlechaAnterior.insertAdjacentElement("beforebegin", oFlechaActual);
  55.    }else if(oFlecha.className == "flechaAbajo"){
  56.        oFlechaSiguiente.insertAdjacentElement("afterend", oFlechaActual);
  57.    }
  58. }
  59. }

Esta es la estructura HTML:

Código
  1. <!DOCTYPE html>
  2. <html lang="es">
  3.  <meta charset="UTF-8">
  4.  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  5.  <link rel="stylesheet" href="style.css">
  6.  <title>Lista interactiva</title>
  7. </head>
  8.  <h1>Lista interactiva</h1>
  9.  <ul>
  10.    <li>
  11.      <span class="flechaArriba flechaDeshabilitada"></span>
  12.      <span class="flechaAbajo"></span>
  13.      <span class="texto">Texto colocado inicialmente en la posición 1.</span>
  14.    </li>
  15.    <li>
  16.      <span class="flechaArriba"></span>
  17.      <span class="flechaAbajo"></span>
  18.      <span class="texto">Texto colocado inicialmente en la posición 2.</span>
  19.    </li>
  20.    <li>
  21.      <span class="flechaArriba"></span>
  22.      <span class="flechaAbajo"></span>
  23.      <span class="texto">Texto colocado inicialmente en la posición 3.</span>
  24.    </li>
  25.    <li>
  26.      <span class="flechaArriba"></span>
  27.      <span class="flechaAbajo"></span>
  28.      <span class="texto">Texto colocado inicialmente en la posición 4.</span>
  29.    </li>
  30.    <li>
  31.      <span class="flechaArriba"></span>
  32.      <span class="flechaAbajo flechaDeshabilitada"></span>
  33.      <span class="texto">Texto colocado inicialmente en la posición 5.</span>
  34.    </li>
  35.  </ul>
  36.  <script type="text/javascript" src="index.js"></script>
  37. </body>
  38. </html>

¿Alguien sabría explicarme como poner la clase deshabilitada en el primer y ultimo elemento?

Muchísimas gracias de antemano!
3  Programación / PHP / Re: Sacar dato de una select sql en php y html en: 21 Noviembre 2020, 09:06 am
Vale al final pude sacarlo con esto:

Código
  1. $sql = "SELECT nomconsola AS nombre FROM consolas";
  2.                            $query = mysqli_query($conexion, $sql);
  3.                            while ($row= mysqli_fetch_array($query)){
  4.                            echo "<option value='".$id."'>".$row['nombre']."</option>";
  5.                            }
4  Programación / PHP / Sacar dato de una select sql en php y html en: 21 Noviembre 2020, 08:41 am
Buenas, tengo una tabla con un dato que quiero sacarlo por un option de html para seleccionarlo y eliminarlo posteriormente, pero no consigo sacar dicho dato por el option. Este es mi codigo:

Código
  1. echo "<h3>Escoge el dato a eliminar:</h2>";
  2.                    echo "<select name='datoeliminar'>";
  3.  
  4.                        //Aquí recorremos las tablas para ver los datos en el select
  5.                        $listadodatos = array_column(mysqli_fetch_all($conexion->query("SELECT * FROM $tabla")), 0);
  6.                        for ($i = 0; $i < count($listadodatos); $i++) {
  7.                            $sql = mysqli_query("SELECT `nomconsola` FROM `consolas` WHERE 1");
  8.                            $query = mysqli_query($conexion, $sql) or die (mysqli_error($conexion));
  9.                            while ($row= mysqli_fetch_array($query)){
  10.                                $nombre = $row[0];
  11.                            }
  12.                            echo "<option value='{$listadodatos[$i]}'>$nombre</option>";
  13.                        }
  14.                    $tablaasig = $tabla;
  15.                    echo "</select>";
  16.                    echo "<input name='tablaasig' type='hidden' value='{$tabla}'>";
  17.                    echo "<input type='submit' name='eliminar' value='Eliminar'>";
  18.                    echo "</form>";

Cuando lo ejecuto el campo option me sale una vez y vacío. ¿Alguna ayuda?
5  Programación / Bases de Datos / Re: Problema rarísimo con php y base de datos en: 19 Noviembre 2020, 23:53 pm
Ahora vuelvo a probar y ejecuto esto en la consola de sql:

ALTER TABLE JUEGOS DROP FOREIGN KEY FK_NOMBRE_CONSOLA

Y tampoco me hace nada,  dice que no encuentra la clave foránea. Estoy desesperado

#1091 - No puedo eliminar (DROP FOREIGN KEY) `fk_nombre_consola`. compuebe que el campo/clave existe
6  Programación / Bases de Datos / Problema rarísimo con php y base de datos en: 19 Noviembre 2020, 20:05 pm
Buenas, estoy haciendo una base de datos (videojuegos) con 3 tablas (consolas, estudios y juegos), la tabla juegos tiene dos claves foráneas, una que referencia a consolas y otra a estudios.

Tengo una página en la que conecto con sql y creo las tablas con los siguientes CREATES:

Código
  1. $sql2 = "CREATE TABLE IF NOT EXISTS CONSOLAS (NOMCONSOLA VARCHAR(50), ID INT, PRIMARY KEY (NOMCONSOLA))";
  2.  

Código
  1. $sql4 = "CREATE TABLE IF NOT EXISTS ESTUDIOS (NOMESTUDIO VARCHAR(50), ID INT, PRIMARY KEY (NOMESTUDIO))";
  2.  

Código
  1. $sql6 = "CREATE TABLE IF NOT EXISTS JUEGOS ( NOMJUEGO VARCHAR(50) PRIMARY KEY, CONSOLA VARCHAR(50), "
  2.                         . "ESTUDIO VARCHAR(50), CONSTRAINT fk_nombre_consola FOREIGN KEY (consola) REFERENCES consolas "
  3.                         . "(nomconsola) ON DELETE CASCADE, CONSTRAINT fk_nombre_estudio FOREIGN KEY (estudio) REFERENCES "
  4.                         . "estudios (nomestudio) ON DELETE CASCADE)";

Pues bien, el problema viene al querer eliminar una de las tablas (que no sea la tabla juegos). Escribo la siguiente sentencia:

Código
  1. if($tablaeliminar == "estudios"){
  2.                        $sql = "ALTER TABLE JUEGOS DROP FOREIGN KEY fk_nombre_estudio; DROP TABLE IF EXISTS ESTUDIOS";
  3.                        if (mysqli_query($conexion, $sql)) {
  4.                            echo "<script>alert('Tabla estudios borrada correctamente');</script>";
  5.                            header("refresh:0; url=administrador.php");
  6.                        } else {
  7.                            echo "Error: " . $sql . "<br>" . mysqli_error($conexion);
  8.                        }
  9.                        mysqli_close($conexion);

Y al intentar ejecutarlo en la web me aparece un fallo en la sql:

Error: ALTER TABLE JUEGOS DROP FOREIGN KEY fk_nombre_estudio; DROP TABLE IF EXISTS ESTUDIOS
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'DROP TABLE IF EXISTS ESTUDIOS' at line 1

Lo extraño viene cuando pego esa misma sql sin cambiarla en la linea de comandos de la base de datos de phpmyadmin y me borra la tabla sin problemas.

Me estoy volviendo loco para solucionarlo. ¿Alguna ayuda?

Gracias de antemano y un saludo.
7  Programación / PHP / Re: Duda con PHP y base de datos en: 30 Octubre 2020, 15:53 pm
Ya lo conseguí, al final lo arreglé con un onclick en el botón de desconectar.
8  Programación / PHP / Re: Duda con PHP y base de datos en: 30 Octubre 2020, 15:23 pm
He colocado el isset en index.php (usando echo que por ahora estoy más familiarizado), pero sin argumentos, ya que si le pongo $usuario y $bd no me los encuentra.

Código
  1.            <?php
  2.            //Incluímos los métodos
  3.            include('conectar.php');
  4.            //Comprobamos que hayamos pulsado el botón Conectar
  5.            if (isset($_POST['conectar'])) {
  6.                Conectar($_POST['equipo'], $_POST['usuario'], $_POST['password'], $_POST['bd']);
  7.            }
  8.  
  9.            if (isset($_POST['desconectar'])) {
  10.                    //echo "<script>alert('El usuario {$_POST["usuario"]} se ha desconectado de la base de datos {$_POST["bd"]}');</script>";
  11.                echo(
  12.                    '<script>alert("El usuario se ha desconectado de la base de datos");</script>');
  13.                    mysqli_close($pruebaconexion);
  14.                }
  15.            ?>

El problema es que ahora no encuentra $pruebaconexion, me salen los siguientes fallos:

Notice: Undefined variable: pruebaconexion in C:\xampp\htdocs\ProyBD\index.php on line 38

Warning: mysqli_close() expects parameter 1 to be mysqli, null given in C:\xampp\htdocs\ProyBD\index.php on line 38
9  Programación / PHP / Re: Duda con PHP y base de datos en: 30 Octubre 2020, 14:20 pm
Mmmm perdona no se porque me hice la idea que se romperían las comillas dobles entre los corchetes. Supongo que por el syntax highlight que se ve xD De todos modos, está bien que se escapen.

¿Cuándo dices que "te lleva" o "salta a" index.php, te refieres a que ese formulario de desconectar NO está en index.php? ¿Es decir, no es que se esté recargado la página sino que te lleva a otra diferente?

Si es el caso, es normal porque el formulario con los datos se envía directamente a index.php el PHP nunca tiene oportunidad de ejecutarse. En todo caso, la comprobación de si existe POST "desconectar" tendrias que hacerla en el index.

Saludos

Así es, el formulario desconectar te redirige a index.php para que puedas volver a conectarte. El código de index.php es el siguiente:

Código
  1. <!DOCTYPE html>
  2. <!--
  3. To change this license header, choose License Headers in Project Properties.
  4. To change this template file, choose Tools | Templates
  5. and open the template in the editor.
  6. -->
  7. <html>
  8.    <head>
  9.        <title>Colección Videojuegos</title>
  10.        <meta charset="UTF-8">
  11.        <meta name="viewport" content="width=device-width, initial-scale=1.0">
  12.        <link rel="stylesheet" href="main.css">
  13.    </head>
  14.    <body>
  15.  
  16.        <form action="conectado.php" method="POST">
  17.            <label for="equipo">Equipo</label>
  18.            <input type="text" value="Equipo" name="equipo">
  19.            <label for="usuario">Usuario</label>
  20.            <input type="text" value="Usuario" name="usuario">
  21.            <label for="contrasena">Password</label>
  22.            <input type="password" value="Contraseña" name="password">
  23.            <label for="basededatos">Base de datos</label>
  24.            <input type="text" value="Nombre BD" name="bd">
  25.            <input type="submit" value="Conectar" name="conectar">
  26.            <?php
  27.            //Incluímos los métodos
  28.            include('conectar.php');
  29.            //Comprobamos que hayamos pulsado el botón Conectar
  30.            if (isset($_POST['conectar'])) {
  31.                Conectar($_POST['equipo'], $_POST['usuario'], $_POST['password'], $_POST['bd']);
  32.            }
  33.            ?>
  34.        </form>
  35.    </body>
  36. </html>

¿Ahí tendría que colocar el isset?
10  Programación / PHP / Re: Duda con PHP y base de datos en: 30 Octubre 2020, 14:04 pm
Las comillas en tu mensaje están rotas y por tanto se rompe el javascript entero. O las escapas o usas combinación de comillas simples y dobles.

Lo ideal también es que se usen funciones como printf/sprintf que están hechas para estas cosas.


Código
  1.    '<script>alert("El usuario %s se ha desconectado de la base de datos %s");</script>',
  2.    htmlentities($_POST['usuario'], ENT_QUOTES), // Recuerda escapar para prevenir XSS.
  3.    htmlentities($_POST['bd'], ENT_QUOTES)
  4. );

o

Código
  1. $usuario = htmlentities($_POST['usuario'], ENT_QUOTES);
  2. $bd      = htmlentities($_POST['bd'], ENT_QUOTES);
  3. echo "<script>alert('El usuario {$usuario} se ha desconectado de la base de datos {$bd}');</script>";


Saludos

Antes que nada gracias de nuevo.

¿Dónde se rompen las comillas de mi echo?, y he probado ambas soluciones que me has dado y sigue sin salir ningún mensaje, sólo salta a index.php

Código
  1.                <?php
  2.                if (isset($_POST['desconectar'])) {
  3.                    //echo "<script>alert('El usuario {$_POST["usuario"]} se ha desconectado de la base de datos {$_POST["bd"]}');</script>";
  4.                printf(
  5.                    '<script>alert("El usuario %s se ha desconectado de la base de datos %s");</script>',
  6.                    htmlentities($_POST['usuario'], ENT_QUOTES), // Recuerda escapar para prevenir XSS.
  7.                    htmlentities($_POST['bd'], ENT_QUOTES)
  8.                );
  9.                    mysqli_close($pruebaconexion);
  10.                }
  11.                ?>
Páginas: [1] 2 3 4 5 6 7 8 9 10 11
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines