[英]issue when insert text to db using js
我嘗試將文本提交給db,但是在db字段中未插入任何文本。
你能分析我的錯誤之處嗎?
我嘗試這樣。
謝謝你的幫助。
<script type="text/javascript">
$(document).ready(function() {
$('#myForm').submit(function() {
var namaklasifier = document.getElementByName("tfklasifier").value;
var inputpos= document.getElementByName("tacaripos").value;
var inputnet = document.getElementByName("tacarinet").value;
var inputneg = document.getElementByName("tacarineg").value;
$.ajax({
type: 'POST',
url: $(this).attr('action'),
data: $(this).serialize(),
success: function(data) {
$('#resultcoba').html(data);}
})
return false;
});
})
</script>
<form id="myForm" method="post" action="proses.php">
<td align="center" valign="top" style="width:420px"><textarea style="width:420px" name="tacaripos" rows="4" cols="70"><?PHP echo htmlspecialchars($_POST['tacaripos']);?></textarea></td>
<td align="center" valign="top" style="width:420px"><textarea style="width:420px" name="tacarinet" rows="4" cols="70"><?PHP echo htmlspecialchars($_POST['tacarinet']);?></textarea></td>
<td align="center" valign="top" style="width:420px"><textarea style="width:420px" name="tacarineg" rows="4" cols="70"><?PHP echo htmlspecialchars($_POST['tacarineg']);?></textarea></td>
</tr>
<td align="center"><input type="submit" name="btklasifier" id="btklasifier" value="Buat" /></td></form>
proses.php
<?php
$namaklasifier=$_POST['namaklasifier'];
$jadipos=$_POST['inputpos'];
$jadinet=$_POST['inputnet'];
$jadineg=$_POST['inputneg'];
$link=mysqli_connect("localhost", "root", "","skripsi");
mysqli_select_db($link,"skripsi");
mysqli_query($link,"INSERT INTO namaklasifier(username,datapos,datanet,dataneg,user) VALUES('$namaklasifier','$jadipos','$jadinet','$jadineg','{$_SESSION['username']}')"); ?>
謝謝 :)
您正在嘗試使用您在此處聲明的變量名稱訪問GET數據:
var namaklasifier = document.getElementByName("tfklasifier").value;
var inputpos= document.getElementByName("tacaripos").value;
var inputnet = document.getElementByName("tacarinet").value;
var inputneg = document.getElementByName("tacarineg").value;
但是,您使用$(this).serialize()
發送它們,這意味着您必須使用輸入名稱訪問GET變量,因為這是序列化的作用(使用其名稱從表單元素創建對象)。 例如
$jadipos=$_POST['tacaripos'];
$jadinet=$_POST['tacarinet'];
$jadineg=$_POST['tacarineg'];
另外,您需要將$_GET
更改$_GET
$_POST
因為這是您使用的方法。
在proses.php
,將$_GET
更改為$_POST
。
由於您使用的是POST
方法提交數據,因此自然地,您必須使用$_POST
變量。
它們是POST值而不是GET值
$jadipos=$_POST['inputpos'];
$jadinet=$_POST['inputnet'];
$jadineg=$_POST['inputneg'];
並嘗試使用mysqli_ *函數或PDO語句,而不要使用mysql_ *函數,因為它們已被棄用
編輯:也嘗試像
var namaklasifier = document.getElementByName("tfklasifier").value;
var inputpos= document.getElementByName("tacaripos").value;
var inputnet = document.getElementByName("tacarinet").value;
var inputneg = document.getElementByName("tacarineg").value;
$.ajax({
type: 'POST',
url: $(this).attr('action'),
data: {inputpos:inputpos,inputnet:inputnet,inputneg:inputneg},
success: function(data) {
$('#resultcoba').html(data);}
})
return false;
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.