2016-05-30 44 views
-2

我正在管理面板上工作,並且我有一個表單應該插入到數據庫中,但是我不斷收到此錯誤信息:另請參見重複條目' 'for key'title'..我的表單不會提交併給我一個錯誤(PHP&MySQL)

Ps:如果你不能讀一些這個,這是因爲它是用阿拉伯語寫的,請問我你是否不知道它說什麼。

這裏是整個頁面的代碼:

<?php 
session_start(); 
include('php/config.php'); 
?> 
<html> 
<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> 
<body> 
<?php 
if($_SESSION['username'] = false){ 
header('Location: http://www.domain.com/'); 
} 
//this form allows to choose what to do (e.g. add new movie= ""... 
else{ 
echo' 

<ul class="management-b"> 
<li><a href="#">إضافة فيلم جديد</a></li> 
<li><a href="#">إضافة مسلسل جديد</a></li> 
<li><a href="#">مسح فيلم/مسلسل</a></li> 
</ul> 
'; 
} 
?> 
<form id="new-movie" method="post"> 
<input type="text" class="nM-title" name="nM-title" placeholder="عنوان الفيلم" /><br/><br/> 
<textarea class="nM-desc" name="nM-desc" placeholder="وصف الفيلم"></textarea><br/><br/> 
<?php 
connectDB(); 
$genreSelect = mysql_query("SELECT genre FROM Genres"); 
?> 
<select name="nM-genre" class="nM-genre"> 
<option default>نوع الفيلم</option> 
<?php 
while($genreOption = mysql_fetch_array($genreSelect)){ 
    echo '<option>'.$genreOption['genre'].'</option>'; 
    } 
    closeDB(); 
?> 
</select><br/><br/> 
<select class="nM-year" name="nM-year"> 
<option>تاريخ إصدار الفيلم</option> 
<?php 
for($rYear = 1995; $rYear<2020; $rYear++){ 
echo '<option>'.$rYear.'</option>'; 
} 
?> 
</select><br/><br/> 
<input type="text" class="nM-URL" name="nM-URL" placeholder="رابط الفيلم" /><br/><br/> 
<input type="text" class="nM-IMG" name="nM-IMG" placeholder="صورة الفيلم" /><br/><br/> 
<input type="textu" name="nM-IMDB" class="nM-IMDB" placeholder="IMDB" /><br/><br/> 
<input type="submit" name="nM-submit" class="nM-submit" value="إضافة الفيلم" /> 

<?php 
if($_POST['nM-submit']){ 

//these should be filled before submitted.. 
$checkTitle = $_POST['nM-title']; 
$checkDesc = $_POST['nM-desc']; 
$checkURL = $_POST['nM-URL']; 
$checkIMG = $_POST['nM-IMG']; 
$checkIMDB = $_POST['nM-IMDB']; 
//these should be inserted to the database.. 
$mNID = rand(1000, 10000); 
$mNTitle = mysql_real_escape_string(isset($_POST['nM-title'])); 
$mNDesc = mysql_real_escape_string(isset($_POST['nM-desc'])); 
$mNGenre = mysql_real_escape_string(isset($_POST['nM-genre'])); 
$mNYear = mysql_real_escape_string(isset($_POST['nM-year'])); 
$mNURL = mysql_real_escape_string(isset($_POST['nM-URL'])); 
$mNIMG = mysql_real_escape_string(isset($_POST['nM-IMG'])); 
$mNIMDB = mysql_real_escape_string(isset($_POST['nM-IMDB'])); 

if(empty($checkTitle) && empty($checkDesc) && empty($checkURL) && empty($checkIMG) && empty($checkIMDB)){ 
echo '<h1 class="nMError">لم تملأ جميع الخيارات</h1>'; 
} 
else{ 
    connectDB(); 
mysql_query("INSERT INTO Movies(ID, title, description, genre, url, image, imdb, release_year) VALUES('$mNID', '$mNTitle', '$mNDesc', '$mNGenre', '$mNURL', '$mNIMG', '$mNIMDB', '$mNYear')") or die(mysql_error()); 
closeDB(); 

} 
} 
?> 
</form> 

</body> 
</html> 
+0

重複條目 '' '標題'.. *使用一個獨特的標題*爲**插入**或在sql中使用** update **語句 – donald123

+0

避免使用mysql_ *'查詢 –

+0

您是否將標題列用作「主鍵」? –

回答

0

而且isset回報truefalse

你需要改變你的代碼像鑰匙這個

$checkTitle = isset($_POST['nM-title']) ? $_POST['nM-title'] : ""; 

$mNTitle = mysql_real_escape_string($_POST['nM-title']);