I would like to send my image to a folder on my server and save the relative path in the database so that I can use it later, but my current code does not work, it is impossible to move the image to my user-images folder
<div class="container">
<h2>Inscription</h2>
<form method="post" action="" enctype="multipart/form-data">
<div class="upload-container" onclick="document.getElementById('image').click()">
<label for="image">Glissez et déposez une image ici ou cliquez pour sélectionner un fichier</label>
<input type="file" id="image" name="image" accept="image/*" style="display: none" onchange="previewImage(event)" required>
<img id="preview-image" alt="Aperçu de l'image">
</div>
<input type="text" name="name" placeholder="Votre Nom" required>
<input type="email" name="email" placeholder="Votre Email" required>
<input type="password" name="password" placeholder="Mot de passe" required>
<button type="submit" name="register">S'inscrire</button>
</form>
<?php if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["register"])) {
// Connexion à la base de données
$servername = "localhost";
$username = "admin";
$password = "password";
$dbname = "chat_app";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connexion échouée : " . $conn->connect_error);
}
$name = $_POST["name"];
$email = $_POST["email"];
$role = "user";
$password = password_hash($_POST["password"], PASSWORD_DEFAULT);
$image_destination = "User-images/" . basename($_FILES["image"]["name"]);
if (
move_uploaded_file($_FILES["image"]["tmp_name"], $image_destination)
) {
// Le fichier a été téléchargé avec succès
$sql = "INSERT INTO Utilisateurs (nom, email, mot_de_passe, role, image) VALUES ('$name', '$email', '$password', '$role', '$image_destination')";
if ($conn->query($sql) === true) {
header("Location: index.php");
exit();
} else {
echo "<p>Erreur : " . $sql . "<br>" . $conn->error . "</p>";
}
}
$conn->close();
} ?>
</div>
Recognized by PHP Collective
7