Вставить данные в базу данных и перенаправить на новую страницу - PullRequest
0 голосов
/ 29 апреля 2020

Я использую PHP для вставки данных формы в базу данных MySQL. У меня две проблемы:

  1. Я хотел бы, чтобы данные формы помещались в базу данных, когда пользователь нажимает кнопку "Отправить"
  2. Я хотел бы, чтобы пользователь был перенаправлен to from submit_thankYou. php после отправки формы

PHP код:

<?php 

    include('config/db_connect.php');


    //check connection 
    if (!$conn) {
        die("Connection failed: " . mysqli_connect_error());
  } else {
      echo 'connection success'; 
  }

    $email = $link = $year = $screenerAmount = $minutes = $comments = ''; 
    $errors = array('email' => '', 'link' => '', 'year' => '', 'screenerAmount' => '', 'minutes' => '', 'comments' => ''); 

    if(empty($_POST['email'])){
        $errors['email'] = 'An email is required';
    } else {
        $email = $_POST['email']; 
    } 


    if(empty($_POST['link'])){
        $errors['link'] = 'A link is required';
    } else {
        $link = $_POST['link']; 
    } 

    if(empty($_POST['year'])){
        $errors['year'] = 'A year is required';
    } else {
        $year= $_POST['year']; 
    } 

    if(empty($_POST['screenerAmount'])){
        $errors['screenerAmount'] = 'Amount of screeners must be specified';
    } else {
        $screenerAmount = $_POST['screenerAmount']; 
    } 

    if(empty($_POST['minutes'])){
        $errors['minutes'] = 'User must say how long their film is';
    } else {
        $minutes = $_POST['minutes']; 
    } 

    if(empty($_POST['comments'])){
        $errors['comments'] = 'User must add comments';
    } else {
        $comments = $_POST['comments']; 
    } 


    if(isset($_POST['submit'])){ 
            $email = mysqli_real_escape_string($conn, $_POST['email']); 
            $link = mysqli_real_escape_string($conn, $_POST['link']); 
            $year= mysqli_real_escape_string($conn, $_POST['year']); 
            $screenerAmount = mysqli_real_escape_string($conn, $_POST['screenerAmount']); 
            $minutes = mysqli_real_escape_string($conn, $_POST['minutes']); 
            $comments = mysqli_real_escape_string($conn, $_POST['comments']); 

            //create sql
            $sql = "INSERT INTO test_films(email,link,year,screeners,minutes,comments) VALUES('$email','$link','$year','$screenerAmount','$minutes','$comments')";

            if(mysqli_query($conn, $sql)){
                //success
                header("Location: submit_thankYou.php");
            } else {
                echo 'query error ' . mysqli_error($conn);
            }
        }
?>

Код формы:

<form onsubmit class="submit-film" action="testfilm.php" method="POST">
                    <p class="email">Email</p>
                    <input class="field" name="email" id="email" placeholder="youremail@example.com" required>
                    <p class="project_link">Link to your project:</p>
                    <input class="field" name="link" id="link" placeholder="https://vimeo.com/myfilm" required>
                    <p class="year">Year of film:</p>
                    <input class="field" name="year" id="year" placeholder="(year of project)"> 
                    <p class="number">How many screeners do you want?</p>
                    <input class="field" name="screenerAmount" id="screenerAmount" placeholder="8 screeners" required>
                    <p class="please">Please attach a questionaire if you have one preparred:</p>
                    <input type="file" class="select">
                    <p class="length">How many minutes is your project?</p>
                    <input class="field" name="minutes" id="minutes" placeholder="15 minutes" required>
                    <p class="questions">Do you have any additional comments or questions?</p>
                    <input class="field" name="comments" id="comments" placeholder="(insert comments/questions here)"> 
                    <div> 
                        <button type="submit" class="button_type" class="button_type:hover" value="Submit" name ='submit'>Submit</button> 
                    </div>  
                </form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...