Bild erfolgreich hochgeladen
<p>Mein Bild wird in der URL als hochgeladen angezeigt, was bedeutet, dass es korrekt hochgeladen wurde. Ich bin mir jedoch nicht sicher, da es nicht auf der Webseite oder in der Datenbank angezeigt wird, wohl aber in meinem Ordnerverzeichnis. </p>
<p>Hier sind die beiden Seiten, die ich für diesen Vorgang verwende. </p>
<p>account.php ist der Ort, an dem ich Bilder hochlade, und profile-upload.php ist der Server/Backend von account.php. </p>
<p>Mein Konto.php:</p>
<pre class="brush:php;toolbar:false;"><?php
session_start();
include_once "safe-header.php";
include_once "serverside/database-server.php";
if (isset($_SESSION['useremail']) && !empty($_SESSION['useremail'])) {
$useremail = $_SESSION['useremail'];
} anders {
$useremail = 'Benutzer';
}
?>
<!DOCTYPE html>
<html lang="en">
<Kopf>
<link rel="stylesheet" href="Css/account.css">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Alternative Kontoseite</title>
</head>
<Körper>
<div class="upload-container">
<p class="useremail">Willkommen, <?php echo htmlspecialchars($useremail ?></p>
<div class="account-options">
<a href="update-profile.php" class="update-profile">Profil aktualisieren</a>
<a href="serverside/logout-server.php" class="logout-btn">Logout</a>
</div>
<div>
<?php
$userId = $_SESSION['userid'] ?? Null;
$sql = "Bild aus Profil auswählen WHERE usersId = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("i", $userId);
$stmt->execute();
$result = $stmt->get_result();
$row = $result->fetch_assoc();
if ($row && !empty($row['image'])) {
echo '<img src="' . $row['image'] . '">';
} anders {
echo "<p>Hier ist nichts.</p>";
}
?>
<form action="serverside/profile-upload.php" method="post" enctype="multipart/form-data">
<label for="profile-image">Bild auswählen</label>
<Eingabetyp="Datei" name="Profilbild">
<button type="submit" name="upload-btn">Bild hochladen</button>
</form>
</div>
</div>
<?php
include_once "footer.php";
?></pre>
<p>这是profile-upload.php:</p>
<pre class="brush:php;toolbar:false;"><?php
session_start();
erfordern "database-server.php";
if (isset($_POST['upload-btn'])) {
$validExt = ['jpg', 'jpeg', 'png'];
$ext = strtolower(pathinfo($_FILES['profile-image']['name'], PATHINFO_EXTENSION));
if (in_array($ext, $validExt)) {
$location = "../uploads/";
$target = $location . uniqid() . '.' . $ext;
if (move_uploaded_file($_FILES['profile-image']['tmp_name'], $target)) {
$userId = $_SESSION['userid'];
$sql = "Profil aktualisieren SET image = ? WHERE userId = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("si", $target, $userId);
$stmt->execute();
$stmt->close();
header("location: ../account.php?success=imageuploaded");
Ausfahrt();
} anders {
header("location: ../account.php?error=imagecantbeuploaded");
Ausfahrt();
}
} anders {
header("location: ../account.php?error=cannotusethisfiletype");
Ausfahrt();
}
} anders {
header("location: ../account.php");
Ausfahrt();
}</pre>
<p>