Я использую PHP для вставки данных формы в базу данных MySQL. У меня две проблемы:
- Я хотел бы, чтобы данные формы помещались в базу данных, когда пользователь нажимает кнопку "Отправить"
- Я хотел бы, чтобы пользователь был перенаправлен 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>