PHP - ABRIR CON UN BOTON LA URL ALMACENADA EN LA BASE DE DATOS MYSQL

 
Vista:
sin imagen de perfil
Val: 15
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

ABRIR CON UN BOTON LA URL ALMACENADA EN LA BASE DE DATOS MYSQL

Publicado por antony (5 intervenciones) el 14/06/2020 07:28:49
buenas noches con todos: soy iniciante en PHP, si serian tan amable de apoyarme en este problema por favor... .. desde ya les agradesco.

tengo la url almacenado en una tabla en la BD desde ahi lo estoy habriendo con un boton en otra pestaña, el detalle es que me direcciona asi... "http://localhost/login4/www.link.com" quisiera que me direcciones solo la url almacenada "www.link.com".

mil gracias espero sus respuestas. el codigo es lo siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
-----------------------------CONEXION A LA BD--------------------------------------------
<?php
class Conexion{
    public static function Conectar() {
        define('servidor', 'localhost');
        define('nombre_bd', 'login4');
        define('usuario', 'root');
        define('password', '');
        $opciones = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8');
        try{
            $conexion = new PDO("mysql:host=".servidor."; dbname=".nombre_bd, usuario, password, $opciones);
            return $conexion;
        }catch (Exception $e){
            die("El error de Conexión es: ". $e->getMessage());
        }
    }
}
-------------------------FIN--------------------------------------------------
 
 
<?php
include_once 'conexion.php';
$objeto = new Conexion();
$conexion = $objeto->Conectar();
 
$consulta = "SELECT * FROM libros";
$resultado = $conexion->prepare($consulta);
$resultado->execute();
$libros = $resultado->fetchAll(PDO::FETCH_ASSOC);
?>
 
 <!----------------------MOSTRANDO LA TABLA DESDE LA BASE DE DATOS--------------------------------------->
 
        <h1 class="text-center"></h1> <br>
 
        <h3 class="text-center">LISTA DE LIBROS DE LAS DOS CARRERAS PROFESIONALES - IESTP "GGI"</h3>
 
        <div class="container">
            <div class="row">
                <div class="col-lg-12">
                    <table id="tablalibros" class="table-striped table-bordered" style="width:100%">
                        <thead class="text-center">
 
                            <th>Codigo</th>
                            <th>Titulo</th>
                            <th>Autor</th>
                            <th>N° de pag.</th>
                            <th>Edicion</th>
                            <th>Carrera Profesional</th>
                            <th>Enlace</th>
                        </thead>
                        <tbody>
                            <?php
                        foreach ($libros as $libro) {
                        ?>
                            <tr>
 
                                <td><?php echo $libro['codigo'] ?></td>
                                <td><?php echo $libro['titulo'] ?></td>
                                <td><?php echo $libro['autor'] ?></td>
                                <td><?php echo $libro['paginas'] ?></td>
                                <td><?php echo $libro['edicion'] ?></td>
                                <td><?php echo $libro['especialidad'] ?></td>
                                <!--<td><?php echo $libro['link'] ?></td>-->
 
 
 
                               <td><a target="_blank" href="<?php echo $libro['link']; ?>"
                                        class="btn btn-default add-to-cart"><i class="fa fa-download"></i>Descargar</a>
                                </td>
 
                                <?php
                        }
                ?>
                        </tbody>
                    </table>
                </div>
            </div>
        </div>
 
 
 
        <!-- Optional JavaScript -->
        <!-- jQuery first, then Popper.js, then Bootstrap JS -->
        <script src="https://code.jquery.com/jquery-3.3.1.js"></script>
        <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"
            integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous">
        </script>
        <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"
            integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous">
        </script>
 
 
        <!--    Datatables-->
        <!--<script type="text/javascript" src="https://cdn.datatables.net/v/bs4/dt-1.10.20/datatables.min.js"></script>-->
        <script src="js/main.js"></script>
 
 
        <script>
        $(document).ready(function() {
            $('#tablalibros').DataTable();
        });
        </script>
 
 
 
        <!--------------------------FIN DEL CODIGO----------------------------------->






url2
url
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de javier
Val: 1.772
Plata
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

ABRIR CON UN BOTON LA URL ALMACENADA EN LA BASE DE DATOS MYSQL

Publicado por javier (476 intervenciones) el 14/06/2020 10:02:44
hola,

¿por que almacenas los enlaces en la base de datos de esta forma? "http://localhost/login4/www.link.com"

hazlo directamente asi:

"www.link.com"

si no puedes, usa str_replace si esta parte del enlace es siempre fija"http://localhost/login4/

1
2
$enlace = $libro['link'];
$enlaceLimpio =  str_replace ('http://localhost/login4/', '', $enlace)

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 15
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

ABRIR CON UN BOTON LA URL ALMACENADA EN LA BASE DE DATOS MYSQL

Publicado por antoy (5 intervenciones) el 14/06/2020 17:49:09
gracias javier por tu respuesta...

en la BD, esta guardada solo la url... te comparto la tabla, aver si me podrias ayudar, todo sale excelente. sino que me jala con todo "http://localhost/login4/www.link.com"... y desde ya te agradesco

url3
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Kathyu
Val: 2.120
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ABRIR CON UN BOTON LA URL ALMACENADA EN LA BASE DE DATOS MYSQL

Publicado por Kathyu (680 intervenciones) el 14/06/2020 15:30:08
Lo mejor es crear una estructura de directorios y guardar en la DB solo la cadena a necesitar y listo.

1
2
3
4
5
6
carpetaRaiz
index
---carpetaLibros
------libro1.pdf
------libro2.pdf
------libro3.pdf

En la base usted solo va a guardar el nombre del libro.

Para los links, va a utilizar una estructura definida, asumamos que desde index esta llamando su libro

1
2
3
4
5
6
7
8
9
10
11
12
// archivo index, sea punto PHP o punto HTML
$nombreLibroQueRecuperaDeLaDB; // libro1.pdf
// Este link descargara el Libro 1
<a href="carpetaLibros/<?php echo $nombreLibroQueRecuperaDeLaDB; ?>">Descargar</a>
 
$nombreLibroQueRecuperaDeLaDB; // libro2.pdf
// Este link descargara el Libro 2
<a href="carpetaLibros/<?php echo $nombreLibroQueRecuperaDeLaDB; ?>">Descargar</a>
 
$nombreLibroQueRecuperaDeLaDB; // libro3.pdf
// Este link descargara el Libro 3
<a href="carpetaLibros/<?php echo $nombreLibroQueRecuperaDeLaDB; ?>">Descargar</a>

Obviamente es pseudocodigo, usted en cada iteracción de su foreach tendrá el nombre de cada libro, eso le ayudara que sea que lo ponga en su casa (localhost), donde algún compañero, en la U, en un domino gratis, en una web de pago, en AWS, o donde quiera, su estructura nunca cambiara y sus libros siempre estarán disponibles.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 15
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

ABRIR CON UN BOTON LA URL ALMACENADA EN LA BASE DE DATOS MYSQL

Publicado por antoy (5 intervenciones) el 14/06/2020 18:02:12
hola Kathyu, buen dia... desde ya agradesco tu respuesta. como soy iniciante en PHP no entras un link o enlace para que me puedas compartir con varios ejemplos respecto a mi tema. gracias ahi te comparto mi tabla si me podrias ayudar mil gracias.

EN MI CASO QUIERO GUARDAR LINKS DE OTROS SERVIDORES. OSEA COMO MEGA, DRIVE...ETC. LOS PDFS ESTAN GUARDADOS EN ESOS SERVIDORES, Y SOLO QUIERO REGISTRAR EN LA BD EL LINK Y ABRIRLO CON UN BOTON, AHI SE VA RIDERECCIONAR EL ENLACE Y ABRIR EN OTRA PESTANA... SOLO QUIERO ABRIR EL ENLACE EN OTRA PESTANA HACIENDO CLIC EN EL BOTON DESCARGAR.

GRACIAS
url3
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Kathyu
Val: 2.120
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ABRIR CON UN BOTON LA URL ALMACENADA EN LA BASE DE DATOS MYSQL

Publicado por Kathyu (680 intervenciones) el 15/06/2020 01:28:02
Tanto que escribí y usted no puede explicar bien lo que quiere.

1
2
3
hola Kathyu, buen dia... desde ya agradesco tu respuesta. como soy iniciante en PHP
no entras un link o enlace para que me puedas compartir con varios ejemplos respecto a mi tema.
gracias ahi te comparto mi tabla si me podrias ayudar mil gracias.

No.

1
2
3
4
EN MI CASO QUIERO GUARDAR LINKS DE OTROS SERVIDORES.
OSEA COMO MEGA, DRIVE...ETC. LOS PDFS ESTAN GUARDADOS EN ESOS SERVIDORES,
Y SOLO QUIERO REGISTRAR EN LA BD EL LINK Y ABRIRLO CON UN BOTON, AHI SE VA
 RIDERECCIONAR EL ENLACE Y ABRIR EN OTRA PESTANA...

Ya lo guarda, no veo cual sea el problema, ya le dijo Javier que quite el localhost de su variable y listo.

1
2
3
SOLO QUIERO ABRIR EL ENLACE EN OTRA PESTANA HACIENDO CLIC EN EL BOTON DESCARGAR.
 
<a href="#" target="_blank">Abrir en otra pestaña</a>


Aunque un no tengo claro que es lo que quiere


Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 15
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

ABRIR CON UN BOTON LA URL ALMACENADA EN LA BASE DE DATOS MYSQL

Publicado por antoy (5 intervenciones) el 15/06/2020 03:53:31
buenas noches... y agradezco tu paciencia...y tu ayuda

LO QUE QUIERO ES LO SIGUIENTE... EN LA BD ESTA GUARDADA LAS URLS, CIERTO... ENTONCES EN EL FRONTEND QUIERO ABRIR ESE LINK CON UN BOTON VER O DESCARGAR.

todo me sale bien... lo que pasa es que me abre el link como esto "http://localhost/login4/www.link.com" lo jala todo... si lo abriria solo el link seria excelente... osea este www.link.com

ESTE ES EL CODIGO QUE ME REDIRECCIONA EL LINK PERO CON TODO "http://localhost/login4/www.link.com" quisiera que solo me direccione el link que esta en la BD osea en este caso www.link.com

1
2
3
<td><a target="_blank" href="<?php echo $libro['link']; ?>"
                  class="btn btn- add-to-cart"><i class="fa fa-download"></i>Descargar</a>
</td>

COMO LO VISUALIZA EN LA IMAGEN....
url
url3
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Kathyu
Val: 2.120
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ABRIR CON UN BOTON LA URL ALMACENADA EN LA BASE DE DATOS MYSQL

Publicado por Kathyu (680 intervenciones) el 15/06/2020 10:08:14
Pero ya le dije que es de quitarle ese localhost al momento de guardar en la DB.

Muestre el código del archivo que hace el insert a la DB, porque ha puesto la conexión y la vista, pero muy probable cuando hace el insert le debe meter el localhost
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 15
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

ABRIR CON UN BOTON LA URL ALMACENADA EN LA BASE DE DATOS MYSQL

Publicado por antoy (5 intervenciones) el 15/06/2020 17:45:31
GRACIAS...

PARA PROBAR LA ACCION DEL BOTON... SIMPLMENTE LO ESTOY GUARDANDO ENTRANDO DIRECTAMENTE A LA TABLA.... Y ESTOY INSERTANDO LA INFORMACION A LA TABLA..

TODAVIA NO TENGO UN FORMULARIO EXTERNO QUE GUARDE...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar