Почему кнопка «Отправить» просто перезагружает мою страницу вместо отправки информации? - PullRequest
0 голосов
/ 29 января 2019

Когда я нажимаю кнопку отправки, страница перезагружается, но не отправляет меня в файл «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

1 Ответ

0 голосов
/ 29 января 2019

Посмотрите на своей странице index.php method = 'enctype =' mltipart / form-data '

  <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      
        }
...