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


<?php

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


?>


index,php


<?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


<?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?
<srcipt> is <script>

Verder moet je ook fetchen. Een query bevat geen data.
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)
Staat het bestand wel op de plek waar je denkt dat het staat?
Volgens mij wel daar wordt wel een bestand in pdf-formaat neer gezet.
Maar het probleem is toch dat de de data niet zichtbaar was?
Want dit is fout:


        <?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; ?>
De data laat ie wel zien het plaatje niet!
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.
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.

Reageren