2017-07-18 91 views
0

我想創建一個基本的表單填充,在那裏你可以添加一個季節或新的條目,並將發佈到數據庫,我似乎無法弄清楚我的生活。當我運行它時,我得到的是新賽季「添加更多集數」按鈕不工作,並且季節標題出現在錯誤的地方。HTML表單不會創建新條目

<?php 
if ($_SERVER['REQUEST_METHOD'] === 'POST') { 
    // create a variable 
    $title=$_POST['Title']; 
    $seasonNum=$_POST['SeasonNum']; 


    //Execute the query 
    $connect = mysqli_connect('localhost','root','123','mydatabase'); 
    $sql = "INSERT INTO $title(SeasonNum) $SeasonNum(myInputs[])"; 
    mysqli_query($connect, $sql); 

    if(!$connect) { 
     die 'Failed to connect because ' . mysqli_connect_errno(); 
    } 
} 

?> 

<!DOCTYPE html> 
<html> 
<head></head> 
<body> 
<span id="responce"></span> 
<h2>Season 1</h2> 
<form method="post" action=""> 
<div id="dynamicInput"> 
     Entry 1<br><input type="text" name="myInputs[]"> 
</div> 
<br> 
<input type="button" value="Add Another Episode"onClick="addInput('dynamicInput');"> 

<input type="button" value="Add Another Season" onClick="addSeason('dynamicSeason');"> 

<div id= "dynamicSeason"> 

</div> 

<input type="submit" value="Add Show"> 
</form> 
<script src="script.js" charset="utf-8"></script> 
</body> 
</html> 

JavaScript文件(的script.js)

var counter = 1; 
var limit = 3; 
var EpisodeAdd = 2; 
x=1; 
function addInput(divName){ 

     var newdiv = document.createElement('div'); 
     newdiv.innerHTML = "Entry " + (counter + 1) + "<br><input type='text' name='myInputs[]'>"; 
     document.getElementById(divName).appendChild(newdiv); 
     counter++; 

} 

function addSeason(divName){ 
     i=1; 
     x++; 
     var h1 = document.createElement("h1"); 
    var h1Text = document.createTextNode("Season " + x); 
    h1.appendChild(h1Text); 
    document.body.appendChild(h1) 
     while(i>0){ 
     var newdiv = document.createElement('div'); 
     newdiv.innerHTML = "h1Text Entry " + (counter + 1) + " <br><input type='text' name='myInputs[]'><br><input type='button' value='Add Another Episode' onClick='addInput('Dynamic'EpisodeAdd);'>"; 
     document.getElementById(divName).appendChild(newdiv); 
     i--; 
     EpisodeAdd++; 
     } 
     counter++; 


} 
+0

你在這裏有很多問題... – Difster

+0

我試圖修復一些錯誤(如mysqli_query在創建連接後的順序) - 並將js移動到單獨的文件以提高可讀性。儘管如此,對於SQL我甚至不確定它要做什麼。 - 如Difster建議的那樣還添加了一個if wrapper。 – Julix

+0

我想要做的是製作一個新表格,這是表演的名稱,然後列的名稱將是'季節1','季節2'等,然後用戶將輸入信息爲表單中的情節名稱,這將在列下。 –

回答

0

第一個問題:你在這裏失去了一個逗號。注意變化。另外,`myInputs []'的東西沒有意義。不知道你在那裏做什麼。

mysqli_query($connect, "INSERT INTO " . $title(SeasonNum) . 
     $SeasonNum(myInputs[])); 

此外,你有很多的東西不按順序。第一次加載時,您無法在腳本頂部執行插入查詢。只有在您提交表格時才應該這樣做。所以,把它包在if聲明:

if($_POST['submit']){ 
$title=$_POST['Title']; 
$seasonNum=$_POST['SeasonNum']; 
mysqli_query($connect"INSERT INTO $title(SeasonNum) 
      $SeasonNum(myInputs[]); 

$connect=mysqli_connect('localhost','root','123','mydatabase'); 

if(mysqli_connect_errno($connect)) 
{ 
    echo 'Failed to connect'; 
} 
} 

,直到你得到的基本知識整理出來可能有其他的問題太多,但,我不知道它們是什麼。我會建議讓事情有序,然後在接近解決方案時發佈一個新問題。