2017-07-18 17 views
0

基本的なフォームの塗りつぶしを作成しようとしています。シーズンや新しいエントリを追加してデータベースに投稿することができ、私の人生でそれを理解できないようです。私がそれを実行すると、新しい季節の "Add Episodes"ボタンが機能しなくなり、季節のタイトルが間違っているということです。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ラッパーを追加しました。 – Julix

+0

私は何をしようとしていたのは、ショーの名前だった新しいテーブルを作成し、その後、列の名前は 'シーズン1'、 'シーズン2'などとなり、その後、ユーザーは情報フォームのエピソードの名前は、列の下に表示されます。 –

答えて

0

まず問題:あなたはここにカンマを逃しています。変更に注意してください。また、 `myInputs [] 'は理にかなっていません。あなたが何をやっているのかは分かりません。

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

また、多くの不具合があります。挿入クエリは、最初に読み込まれたときにスクリプトの上部で実行することはできません。あなたがフォームを提出するときにのみそれを行うべきです。あまりにも他の問題があるかもしれません

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'; 
} 
} 

いますが、基本は整理得るまで、私は彼らが何であるかを知らない。だから、if文でそれをラップします。私はあなたが解決策に近づくにつれて物事を順番に取得し、新しい質問を投稿することを提案します。

関連する問題