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?

 <input type = "file" name = "image" id = "image" accept = ".jpg, .jpeg, .png, .pdf" value =""><br><br>


Zie de name 'image', en hier is het $_FILES['uploaded_file']['tmp_name'] 'uploaded_file'.
Even gelijk trekken en klaar.

Nog even een ding: Je hebt nog steeds geen mysqli_fetch_assoc toegepast.
Dus je krijgt nog steeds niet je juiste data in je foreach. Enkel wat interne velden die de eigenschappen van de query beschrijven waar je weinig aan hebt.

Bij mij komt dit uit een print_r() op je mysqli_query:
mysqli_result Object ( [current_field] => 0 [field_count] => 3 [lengths] => [num_rows] => 13 [type] => 0 )


Dit kan wel doorlopen worden door foreach of een while(), maar het is niet je data die je wilt gebruiken. Dat verklaart ook waarom je geen afbeeldingen ziet.
Heb de boel wat opgekalefaterd.
Het toevoegen aan de database heb ik eruit gelaten.
 <?php

//require 'connection.php';
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"];
		echo $fileName . '<br />';
		$fileSize = $_FILES["image"]["size"];
		$tmpName = $_FILES["image"]["tmp_name"];
		echo $tmpNamev. '<br />';
		$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();
			//echo  $newImageName;
			$newImageName .= '.'. $imageExtension;

			if ( move_uploaded_file($_FILES['image']['tmp_name'], getcwd(). '/' . $newImageName ) )
			{
				echo "The file ". htmlspecialchars( basename( $_FILES["image"]["name"])). " has been uploaded.";
				$query = "INSERT INTO tb_upload VALUES ('','$name', '$newImageName')";
				echo '<p>' . $query . '</p>';
				//mysqli_query($conn, $query);
				echo '<p><img src="' . $newImageName . '" style="width: 300px;" /></p>';
				//"<srcipt> alert('Succesfully Added'); document.location.href = 'data.php';
				//</script>";

			} else {
				echo "Sorry, there was an error uploading your file: ".$_FILES['uploaded_file']['error'];
			}
		}
	}
}

?>

<!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>
        </form>
        <br>
        <a href = "data.php">Data</a>
    </body>
</htm>
Oké. En nu?
Werkt het nu?

Heb je ook gelezen wat ik zei over je query?
Nog niet, Dan ontstaan de volgende foutmeldingen.

Notice: Undefined variable: tmpNamev in C:\USB WebServer\root\Website\Fontys\HDM\Bedrijfskunde\Groepsdynamica\index.php on line 15


Notice: Undefined index: uploaded_file in C:\USB WebServer\root\Website\Fontys\HDM\Bedrijfskunde\Groepsdynamica\index.php on line 43
Sorry, there was an error uploading your file:

@ Arien mysqli_fetch_assoc heb ik nog niet gedaan. Dat gaat me gewoon boven de pet!!




Als dat boven je pet gaat, wordt het dan niet serieus tijd om eens de SQL Boilerplate te bekijken, en deze op te slaan onder je bookmarks/favorieten?

Er staat duidelijke uitleg in over hoe je het moet opbouwen. Dus als je dit voortaan eens aan als leidraad aanhoudt, dan maakt dit het programmeren echt zo fijner omdat je een hoop foutafhandelingen en controles hebt waaraan je bij fouten direct kan zien waar een bepaald probleem zit.

En verder hebben we: 'Notice: Undefined index: uploaded_file' al besproken.
Dus lees in het vervolg je errors eens, en wees bewust met wat je doet. En dus niet meteen copy/paste op het forum plaatsen, maar aandachtig bekijken.

Gebruik ook een goede editor, die bieden ook vaak handige tools en truukjes om je code op orde te houden. Welke gebruik je nu?

Ed, ik hoop van harte dat je wat met onze tips doet. Want dit topic begint een beetje uit te monden in een topic waarin veel energie er in wordt gestoken door ons, terwijl wij weinig terugzien aan constructieve reacties terug. Enkel maar losse zinnen waar we weinig aan hebben, of fouten die herhaaldelijk terugkeren.

Probeer zo uitgebreid mogelijk te reageren en alle aangegeven tips nogmaals in dit topic door te lezen en toe te passen.

Reageren