2014-12-06 29 views
0

我在這裏有一個web表單,它通過javascript和php將數據提交到變量中,並將其傳遞給我的mysql數據庫。但是,它沒有這樣做,該按鈕正在拋出一個錯誤。爲什麼我的按鈕不能將數據發佈到我的mysql數據庫?

HTML

<link rel='stylesheet' type='text/css' href='test.css'/> 
    <script type='text/javascript' src='jquery.js'></script> 
    <script type='text/javascript' src='script.js'></script> 



</head> 

     <body><form> 
    Strain name:<input type="text" id="strainName" /> 
    <br /> 
    Plant Generation:<input type="text" id="generation" /> 
    <br /> 
    Vegetation Date:<input type="date" id="vegDate" /> 
    <br /> 
    Flower Date:<input type="date" id="flowerDate" /> 
    <br /> 

    <input type="button" id="submit" value="Submit" onclick='submit()' /> 
    </form> 
    <div id="sampleOutput"></div> 


     <table border="1" style="background-color:#66CC33;border-collapse:collapse;border:1px solid #000000;color:#000000;width:25%" cellpadding="3" cellspacing="3"> 
<tr> 
    <td>Plant A1</td> 
    <td>Plant A2</td> 
</tr> 
<tr> 
    <td>Plant B1</td> 
    <td>Plant B2</td> 
</tr> 
</table> 
</body> 
</html> 

JS

function submit() { 

var strainName = $('#strainName').val(); 
var generation = $('#generation').val(); 
var vegDate = $('#vegDate').val(); 
var flowerDate = $("#flowerDate").val(); 

$.post('postdata.php',{SN:strainName, GEN:generation, VD:vegDate, FD:flowerDate}, function(data) { 



}); 

PHP

<?php 

$STRAINNAME = $_POST['SN']; 
$GENERATION = $_POST['GEN']; 
$VEGDATE = $_POST['VG']; 
$FLOWERDATE = $_POST['FD']; 
$GENERATION= (int)$GENERATION; 

$databaseConnVar = mysqli_connect('localhost', 
           'jackigsd_jack', 
           'Asdfgh13', 
           'jackigsd_flowerRoom') 
           or die('Error Connecting to Mysql Database server'); 

$query = "INSERT INTO flowerRoom (Strain Name, Generation, VegDate, FlowerDate)"."VALUES ('$STRAINNAME', '$GENERATION', '$VEGDATE', '$FLOWERDATE')";         

$result = mysqli_query($databaseConnVar, $query) 
or die('Error Connecting to Mysql Database server');     

    mysqli_close($databaseConnVar); 

      print_r("Is this thing on?");     

// if ($GENERATION < 16){echo $STRAINNAME . " is not old enough to drive"; 
// }else {echo $STRAINNAME . " is old enough to Rock";} 

?> 
+0

安置自己的錯誤,請 – vladkras 2014-12-06 19:27:58

+3

你不會阻止默認的形式操作,這是張貼的形式/重裝這一頁。嘗試將'onclick ='submit()''改爲'onclick ='submit(); return false;'' – Sean 2014-12-06 19:34:31

+1

也需要用空格包含空格的列名 - >「INSERT INTO flowerRoom(Strain Name ''需要''插入到flowerRoom(\'品種名稱\'' – Sean 2014-12-06 19:40:18

回答

0

U可以使用ajax和序列化,並打印錯誤。

$.ajax({ 
    type: "POST", 
    url: "postdata.php", 
    data: $("form").serialize(), 
    success: function(msg){ 
     console.log("Data Saved: " + msg); 
    }, 
    error: function(XMLHttpRequest, textStatus, errorThrown) { 
    console.log(textStatus); 
    } 
}); 

修復從PHP(例如)accesing數據$ _ POST所有鍵:

$STRAINNAME = $_POST['strainName']; 
+1

也許應該避免使用諸如「U」的縮寫,這不是一個文本消息。 '$ .post'方法也是一個ajax請求,這並不會改變OP代碼中的任何內容。 – 2014-12-06 19:46:43

相關問題