Volgende stappen:
- Beveiliging tegen SQL injection
- Wachtwoorden hashen om ze onleesbaar te maken, dmv. [php]password_hash[/php] en [php]password_verify[/php]
- Goede controle of een password of gebruikersnaam fout is. Nu kijk je naar 'usertype', en niet naar het aantal rijen die je ophaalt met je select-query (moet 1 zijn als de gebruiker bestaat, en 0 als die niet bestaat. Wachtwoorden kan controleren met password_verify().
Ik ben weer vooraan begonnen. Het uploaden van de bestanden gaat nu wel, maar ik kan nog steeds niet in de database zetten. En daar ging het om,want ik wil ze weer kunnen uitlezen. Wie kan me helpen?
$sql = "INSERT INTO imageupload(title, image) VALUES('$title','$name')";
Wat doe ik in deze regel mis?
Code:
<!DOCTYPE html>
<html>
<head>
<title>File Upload</title>
</head>
<body>
<form method="post" enctype="multipart/form-data">
<label>Titel</label>
<input type="text" name="title">
<label>File Upload</label>
<input type="File" name="file">
<input type="submit" name="submit">
</form>
</body>
</html>
<?php
//verbinding maken met de database
//$conn = mysqli_connect('localhost', 'root', 'usbw', 'imageupload');// de laatste is de naam van de dadatabase
require_once "connection.php";
if (isset($_POST["submit"]))
{
//file title
$title = $_POST["title"];
//file name
$name = $_FILES["file"]["name"];
//temporary file name to store file
$tname = $_FILES["file"]["tmp_name"];
//upload directory pad
$uploads_dir = 'images';
//Kopieer de dabestanden
move_uploaded_file($tname, $uploads_dir.'/'.$name);
//SQL om de de documenten in de db te zetten
$sql = "INSERT INTO imageupload(title, image) VALUES('$title','$name')";
if(mysqli_query($conn, $sql))
{
echo "File Sucessfully uploaded";
}
else{
echo "Error";
}
}