Pdf in beeld brengen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Ed Jeurissen

Ed Jeurissen

22/05/2022 20:40:51
Quote Anchor link
Hallo allemaal,

Ik heb een 3 php's gemaakt waar ik de pdf in beeld wil brengen. Het tonen van de tabel gaat. Echter mijn pdf's worden niet getoond (daar ging het om!)

Code connection.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php

$conn
= mysqli_connect("localhost", "root", "usbw", "upload");


?>


index,php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php

require 'connection.php';
if(isset($_POST["submit"]))
{

    $name = $_POST["name"];
    if(isset($_POST["submit"]))
        $name = $_POST["name"];
        if($_FILES["image"]["error"] === 4)
        {

            echo
            "<srcipt> alert('Image Does Not Exist'); </script>";
            ;
        }

        else
        {
            $fileName = $_FILES["image"]["name"];
            $fileSize = $_FILES["image"]["size"];
            $tmpName = $_FILES["image"]["tmp_name"];

            $validImageExtension = ['jpg','jpeg', 'png', 'pdf'];
            $imageExtension = explode('.', $fileName);
            $imageExtension = strtolower(end($imageExtension));
            if(!in_array($imageExtension, $validImageExtension))
            {

                //print_r($imageExtension);
                //print_r($validImageExtension);


                echo "<srcipt> alert('Invalid Image Extension'); </script>";
            }

            else if($fileSize > 10000000)
            {

                echo "<srcipt> alert('Image Size is too large'); </script>";
            }

                else
                {
                $newImageName = uniqid();
                $newImageName .= '.'. $imageExtension;
                }


        move_uploaded_file($tmpName, $newImageName);
        $query = "INSERT INTO tb_upload VALUES ('','$name', '$newImageName')";
        mysqli_query($conn, $query);
        echo
        "<srcipt> alert('Succesfully Added'); document.location.href = 'data.php';
        </script>"
;

        }
 
    }



?>



<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Upload Image File</title>
        <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
    </head>

    <body>
        <form class = "" action = ""method ="post" autocomplete = "off" enctype ="multipart/form-data">
            <label for = "name">Name: </label>
            <input type = text name = "name" id = "name" required value = ""> <br>
            <label for = "image">Image: </label>
            <input type = "file" name = "image" id = "image" accept = ".jpg, .jpeg, .png, .pdf" value =""><br><br>
            <button type = "submit" name = "submit">Submit</button>
        </fom>
        <br>
        <a href = "data.php">Data</a>
    </body>
</html>


data.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php require 'connection.php'; ?>

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Data</title>
        <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
    </head>

    <body>

        <table borader = 1 cellspacing = 0 cellpadding = 10>
            <tr>
                <td>#</td>
                <td>Name</td>
                <td>Image</td>
            </tr>
        <?php

        $i
= 1;
        $rows = mysqli_query($conn, "SELECT * FROM tb_upload ORDER BY id ASC");
        ?>


        <?php foreach($rows as $row) : ?>
            <tr>
                <td><?php echo $i++ ?></td>
                <td><?php echo $row["name"]?></td>
                <td><img src ="<?php echo $row['image']; ?>" alt=""></td>
            </tr>
        <?php endforeach; ?>

    </table>

    <a href = "index.php">Index</a>
    </body>
</html>


Wie weet wat ik fout doe?
 
PHP hulp

PHP hulp

29/03/2024 11:41:54
 
- Ariën  -
Beheerder

- Ariën -

22/05/2022 21:10:48
Quote Anchor link
<srcipt> is <script>

Verder moet je ook fetchen. Een query bevat geen data.
 
Ed Jeurissen

Ed Jeurissen

22/05/2022 21:21:38
Quote Anchor link
Das dan vreemd. Nummer en naam worden wel weergegeven!

Het plaatje

https://ibb.co/txHCKgS



Hier dus mee?

mysqli_fetch_assoc(mysqli_result $result): array|null|false

(Blijft mijn favo functie, niet dus)
 
- Ariën  -
Beheerder

- Ariën -

22/05/2022 21:30:03
Quote Anchor link
Dat is de opbouw, geen code.
Check anders de SQL-Boilerplate.

https://github.com/arienclaij/sql-boilerplate

Is wel under construction. Maar wel effectief om de juiste opbouw te kunnen gebruiken.
Gewijzigd op 22/05/2022 21:35:34 door - Ariën -
 
Adoptive Solution

Adoptive Solution

22/05/2022 21:47:23
Quote Anchor link
Staat het bestand wel op de plek waar je denkt dat het staat?
 
Ed Jeurissen

Ed Jeurissen

22/05/2022 21:57:05
Quote Anchor link
Volgens mij wel daar wordt wel een bestand in pdf-formaat neer gezet.
 
- Ariën  -
Beheerder

- Ariën -

22/05/2022 21:58:26
Quote Anchor link
Maar het probleem is toch dat de de data niet zichtbaar was?
Want dit is fout:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
        <?php

        $i
= 1;
        $rows = mysqli_query($conn, "SELECT * FROM tb_upload ORDER BY id ASC");
        ?>


        <?php foreach($rows as $row) : ?>
            <tr>
                <td><?php echo $i++ ?></td>
                <td><?php echo $row["name"]?></td>
                <td><img src ="<?php echo $row['image']; ?>" alt=""></td>
            </tr>
        <?php endforeach; ?>
Gewijzigd op 22/05/2022 21:59:12 door - Ariën -
 
Ed Jeurissen

Ed Jeurissen

22/05/2022 22:02:48
Quote Anchor link
De data laat ie wel zien het plaatje niet!
 
Adoptive Solution

Adoptive Solution

22/05/2022 22:03:39
Quote Anchor link
Nee, nee, nee.
Niet “volgens mij”
Je weet het of je weet het niet.
Kijk!
Of typ de url naar dat bestand in de browser.
 
- Ariën  -
Beheerder

- Ariën -

22/05/2022 22:04:51
Quote Anchor link
Die code zal niet werken. Daar mist een mysqli_fetch_assoc.
Als je geen plaatje ziet, check eens de URL/het pad in je HTML source.
 
Ed Jeurissen

Ed Jeurissen

22/05/2022 22:05:26
Quote Anchor link
plaatje van de database

https://ibb.co/jV28jZV
 
- Ariën  -
Beheerder

- Ariën -

22/05/2022 22:08:14
Quote Anchor link
Lees graag even de voorgaande reacties, en doe wat met de gegeven adviezen.
Een database is wel leuk om te tonen, maar je hebt er niks aan als je code behoorlijk fout is.

Verder is een pdf geen afbeelding. Een pdf kan je nooit in een <img> bekijken.
Gewijzigd op 22/05/2022 22:09:51 door - Ariën -
 
Ed Jeurissen

Ed Jeurissen

22/05/2022 22:10:56
Quote Anchor link
De plaatjes staan er.
 
- Ariën  -
Beheerder

- Ariën -

22/05/2022 22:12:07
Quote Anchor link
Ed Jeurissen op 22/05/2022 22:10:56:
De plaatjes staan er.


Lees de gegeven reacties. Probeer ook graag zo uitgebreid mogelijk te reageren.
Enkel met simpele reacties zoals: "Dit is de code", "De plaatjes staan er" kunnen we weinig.

Graan zien we een constructieve discussie in plaats dat we steeds alles moeten vragen. En zorg erook voor dat je zeker weet wat er gebeurt. Reacties als 'volgens mij', daar hebben we ook weinig aan.

Probeer ook bij een bericht aan de drie W's te denken:

Wat heb je aan code?
Wat doe je precies?
Wat gebeurt er precies?

Als je dit kan beantwoorden dan kan jij en kunnen ook wij beter inschatten wat er aan de hand is.
Enkel een lap code geven, en zeggen enkel dat het niet werkt, dat werkt best frustrerend voor iedereen die wilt helpen.

Ik heb dat we hiermee dit topic op een betere manier kunnen voortzetten.
Gewijzigd op 22/05/2022 22:23:43 door - Ariën -
 
Ed Jeurissen

Ed Jeurissen

22/05/2022 22:26:12
Quote Anchor link
Ik dat van de pdf een screenshot gemaakt en als .png opgeslagen op de plaats van de bestanden neergezet. Daar wordt ook de verwijzing neergezet. Dat is het probleem niet. Wat wel? (test.png > 628a99e4d7216.png)
 
- Ariën  -
Beheerder

- Ariën -

22/05/2022 22:38:44
Quote Anchor link
Wat is nu het probleem? Je ziet geen afbeelding terwijl die wel zou moeten bestaan?
-> Check je HTML-source in je browser. En eventueel je Developers-tabblad om te kijken welke URL er opgeroepen wordt.

De items worden helemaal niet opgehaald? En er is geen herhalende <tr> in de table in je HTML-source.
-> Voeg een mysqli_fetch_assoc(....) toe.


Verder: Voeg goede foutafhandeling toe, check de genoemde SQL-Boilerplate voor de juiste structuur. Dat scheelt een hoop ellende en zoekwerk, omdat je dan al een hoop controles hebt die dan wel of niet gepasseerd worden.
Gewoon doen dus!
Gewijzigd op 22/05/2022 22:41:21 door - Ariën -
 
Ivo P

Ivo P

22/05/2022 22:41:21
Quote Anchor link
Dit stuk code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
        <?php foreach($rows as $row) : ?>
            <tr>
                <td><?php echo $i++ ?></td>
                <td><?php echo $row["name"]?></td>
                <td><img src ="<?php echo $row['image']; ?>" alt=""></td>
            </tr>
        <?php endforeach; ?>


levert een output die naar je browser gestuurd wordt.
In de bron van de html-pagina levert dat iets op.

Wat staat daar?
En ook: wat staat daar niet wat je wel verwacht had?

(en ik vraag me ook af of die spatie achter scr daar wel mag staan.)
 
Ed Jeurissen

Ed Jeurissen

22/05/2022 22:54:22
Quote Anchor link
- Ariën - op 22/05/2022 22:38:44:
Wat is nu het probleem? Je ziet geen afbeelding terwijl die wel zou moeten bestaan?


Ja ik een plaatje zien dat er nu niet staat/ cq niet te zien is.

Stukje van de ontwikkelaarsoutput

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Data</title>
        <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
    </head>

    <body>

        <table borader = 1 cellspacing = 0 cellpadding = 10>
            <tr>
                <td>#</td>
                <td>Name</td>
                <td>Image</td>
            </tr>
        mysqli_result Object
(
    [current_field] => 0
    [field_count] => 3
    [lengths] =>
    [num_rows] => 15
    [type] => 0
)

                    <tr>
                <td>1</td>
                <td>blad 1</td>
                <td><img src ="628a76cbc4816.pdfArray
(
    [id] => 1
    [name] => blad 1
    [image] => 628a76cbc4816.pdf
)
" alt=""></td>
            </tr>
                    <tr>
                <td>2</td>
                <td>Blad 2</td>
                <td><img src ="628a7c6aa51f6.pdfArray
(
    [id] => 10
    [name] => Blad 2
    [image] => 628a7c6aa51f6.pdf
)
" alt=""></td>
            </tr>
                    <tr>
                <td>3</td>
                <td>Blad 1</td>
                <td><img src ="628a7f0c03b6e.pngArray


Quote:
-> Check je HTML-source in je browser. En eventueel je Developers-tabblad om te kijken welke URL er opgeroepen wordt. Gedaan! zie boven

De items worden helemaal niet opgehaald? En er is geen herhalende <tr> in de table in je HTML-source.
-> Voeg een mysqli_fetch_assoc(....) toe.


Verder: Voeg goede foutafhandeling toe, check de genoemde SQL-Boilerplate voor de juiste structuur. Dat scheelt een hoop ellende en zoekwerk, omdat je dan al een hoop controles hebt die dan wel of niet gepasseerd worden.
Gewoon doen dus!


Edit:
quote fix
Gewijzigd op 22/05/2022 23:00:22 door - Ariën -
 
- Ariën  -
Beheerder

- Ariën -

22/05/2022 22:58:07
Quote Anchor link
Je data is toch zichtbaar tussen de flarden van de debug-output?
Wat is het probleem dan?

En nogmaals: ''628a76cbc4816.pdf' zal nooit in een <img> tag werken!
Gewijzigd op 22/05/2022 22:59:30 door - Ariën -
 
Ed Jeurissen

Ed Jeurissen

22/05/2022 23:13:49
Quote Anchor link
De dat wel maar het plaatje niet. VAn de pdf had ik een png gemaakt, maar zonder resultaat. Probleem is dat ik het plaatje niet kan zien!
 
- Ariën  -
Beheerder

- Ariën -

22/05/2022 23:16:59
Quote Anchor link
Dit is geen plaatje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<img src ="628a7c6aa51f6.pdf">


Je zult dan een extra veld in je database moeten aanmaken, die bijv. thumbnail heet.
Het huidige veld image zou ik dan voor het gemak bron of source noemen.
Gewijzigd op 22/05/2022 23:18:36 door - Ariën -
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.