Когда я нажимаю кнопку отправки, страница перезагружается, но не отправляет меня в файл «upload.inc.php».После нажатия кнопки «Отправить» я просто получаю файл index.php без каких-либо происшествий.
Я скопировал код и попробовал html-часть в другом файле, и там все заработало.Поэтому ошибка должна быть где-то в остальной части файла index.php.Я уже добавил echo в начало файла upload.inc.php, и это ничего не изменило.Таким образом, ошибка находится где-то в файле index.php, но я ее не нахожу.Я ценю вашу помощь!Я искал 4-5 часов и не нашел ...
Index.php (html part)
<form action="includes/upload.inc.php" method='post' enctype='multipart/form-data'>
<input type='file' name='file'>
<input type='hidden' name='userId' value="<?php echo $id; ?>" >
<button type='submit' name='submit'>UPLOAD</button>
</form>
Index.php (полный файл)
<?php
require "header.php";
require "includes/dbh.inc.php";
?>
<main>
<?php
if (isset($_GET['login'])) {
//Login Bereich der Hilfe suchenden
if ($_GET['login'] == "successHelpSeeker") {
echo "<p> Hello help seeker. </p>";
}
//Login Bereich der Helfenden
elseif ($_GET['login'] == "successHelper") {
echo "<p> Hello Helper.</p>";
}
//Login Bereich für beide gleich
//Profilbild
$id = $_SESSION['userId'];
$sqlImg = "SELECT * FROM profileimg WHERE userid='$id'";
$resultImg = mysqli_query($conn, $sqlImg);
$rowImg = mysqli_fetch_assoc($resultImg);
echo "<div>";
//existiert schon ein Profilbild? bei 0 ja bei 1 nein
if ($rowImg['status'] == 0) {
echo "<img src='uploads/profile".$id.".jpg'>";
} else{
echo "<img src='uploads/profiledefault.jpg'>";
}
echo "<p>".$row['userid']."</p>";
echo "</div>";
//enctype specifies how the form data should be encoded --> ?>
<form action="includes/upload.inc.php" method='enctype='multipart/form-data'>
<input type='file' name='file'>
<input type='hidden' name='userId' value="<?php echo $id; ?>" >
<button type='submit' name='submit'>UPLOAD</button>
</form>
<?php
}
if(isset($_SESSION['userId'])){
echo '<p>You are logged in!!</p>';
}
else{
echo '<p>You are logged out!</p>';
}
?>
</main>
обычно он должен отправить выбранный файл в upload.inc.Файл .php, но он просто перезагружает страницу без отправки информации.
Большое спасибо за вашу помощь!
upload.inc.php:
<?php
session_start();
require 'dbh.inc.php';
$id = $_POST['userId'];
if (isset($_POST['submit'])) {
$file = $_FILES['file'];
$fileName = $file['name'];
$fileTmpName = $file['tmp_name'];
$fileSize = $file['size'];
$fileError = $file['error'];
$fielType = $file['type'];
$fileExt = explode('.', $fileName);
$fileActualExt = strtolower(end($fileExt));
$allowed = array('jpg', 'jpeg', 'png');
if (in_array($fileActualExt, $allowed)) {
if ($fileError === 0) {
if ($fileSize < 10000000) {
$fileNameNew = "profile".$id.".".$fileActualExt;
$fileDestination = '../uploads/'.$fileNameNew;
move_uploaded_file($fileTmpName, $fileDestination);
$sql = "UPDATE profilimg SET status=0 WHERE userid= '$id';";
$result = mysqli_query($conn, $sql);
header("Location: ../index.php?uploadsuccess");
}
} else {
echo "Your file is too big. Please upload a file which isn't bigger than 10 mb.";
}
} else {
echo "There was an error uploading your file.";
}
} else {
echo "Please upload only jpg, jpeg, png or pdf files.";
}
СумасшедшийДело в том, что я изменил «действие» на новый файл, в котором почти ничего нет.Тем не менее, кнопка «Отправить» не отправляет меня в новый файл, а просто перезагружает страницу.Может ли это быть проблема, связанная с сессиями, с которыми я работаю?: O