У меня есть форма, которую я создал с помощью HTML/PHP, и я хотел бы, чтобы она была отправлена в базу данных; У меня есть сайт для фильмов, и сейчас я работаю над панелью администратора, я хочу, чтобы у него была форма, которая добавляет новые фильмы на сайт, я пробовал свою форму, но ничего не происходит в базе данных. Соединение с базой данных в порядке и запросы выглядят хорошо для меня, я честно не знаю, в чем проблема.Моя форма не будет отправлена в базу данных (PHP/MySQL)
P.S. Я делаю это по-арабски, арабский написание не означает ничего ..
PHP/HTML код:
<?php
session_start();
include('php/config.php');
if($_SESSION['username'] != true){
header('Location: http://www.domain.com/');
}
//this form allows to choose what to do (e.g. add new movie)...
else{
echo'
<head>
<link rel="stylesheet" href="css/main.css" />
<link rel="stylesheet" href="css/admin.css" />
<meta charset="utf-8"/>
<title>Admin Panel v1.0</title>
</head>
<ul class="management-b">
<li><a href="#">إضافة فيلم جديد</a></li>
<li><a href="#">إضافة مسلسل جديد</a></li>
<li><a href="#">مسح فيلم/مسلسل</a></li>
</ul>
';
}
//this form adds new movies...
connectDB();
$genreQuery = mysql_query("SELECT genre FROM Genres");
echo'
<head>
<link rel="stylesheet" href="css/main.css"/>
<link rel="stylesheet" href="css/admin.css"/>
<meta charset="utf-8" />
</head>
<form method="post" id="new-movie">
عنوان الفيلم:<input type="text" class="new-movie-title" name="new-movie-title" /><br/><br/>
وصف الفيلم:<textarea class="new-movie-desc" name="new-movie-desc" cols="50" rows="7"></textarea><br/><br/>
نوع الفيلم:<select class="new-movie-genre" name="new-movie-genre">';
while($options = mysql_fetch_array($genreQuery, MYSQL_ASSOC)){
echo '<option>'.$options["genre"].'</option>';
}
echo'</select><br/><br/>
تاريخ الفيلم:<select class="new-movie-year" name="new-movie-year">';
for($years = 1995; $years<2017; $years++){
echo '<option>'.$years.'</option>';
}
echo'
</select><br/><br/>
رابط الفيلم:<input type="text" name="new-movie-link" class="new-movie-link"/><br/><br/>
صورة الفيلم:<input type="text" name="new-movie-img" class="new-movie-img" /><br/><br/>
تقييم imDB:<input type="text" name="new-movie-imdb" class="new-movie-imdb"/><br/><br/>
<input type="submit" name="new-movie-submit" class="new-movie-submit" value="إضافة الفيلم" />
</form>
';
if(isset($_POST['new-movie-submit'])){
connectDB();
$mNewTitle= $_POST['new-movie-title'];
$mNewDesc= $_POST['new-movie-desc'];
$mNewGenre= $_POST['new-movie-genre'];
$mNewYear= $_POST['new-movie-year'];
$mNewURL= $_POST['new-movie-link'];
$mNewIMG= $_POST['new-movie-img'];
$mNewIMDB= $_POST['new-movie-imdb'];
mysql_query("INSERT INTO Movies(title, description, genre, url, image, imdb, release-year) VALUES('$mNewTitle', '$mNewDesc', '$mNewGenre', '$mNewURL', '$mNewIMG', '$mNewIMDB', '$mNewYear'");
closeDB();
}
?>
Вам необходимо изменить на 'mysqli_ *' функции, поскольку 'mysql_' обесценивается. Вы также широко открыты для [SQL Injections] (http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php). – Tigger
@Tigger Да, но выполняет ли функции Mysql амортизацию влияет на отправку? –
Не сейчас, но это возможно в будущем. – Tigger