2014-12-06 30 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

相关问题