将Javascript信息发送到php并保存到数据库中
一位前同事开发了一个测验,将结果发送到数据库。他被解雇了,但我需要再次使用那个密码。我只有javascript代码,我需要重新创建php(save.php),它保存来自javascript的信息。你能帮我写php代码或者给我一个提示吗。萨克斯将Javascript信息发送到php并保存到数据库中,javascript,php,get,Javascript,Php,Get,一位前同事开发了一个测验,将结果发送到数据库。他被解雇了,但我需要再次使用那个密码。我只有javascript代码,我需要重新创建php(save.php),它保存来自javascript的信息。你能帮我写php代码或者给我一个提示吗。萨克斯 $(document).ready(function() { $("#answer_a").click(function() { $.get("http://nameOfWebsite/save.php", {test: "1"
$(document).ready(function() {
$("#answer_a").click(function() {
$.get("http://nameOfWebsite/save.php", {test: "1", question: "1", answer: "a" } );
});
$("#answer_b").click(function() {
$.get("http://nameOfWebsite/save.php", {test: "1", question: "1", answer: "b" } );
});
$("#answer_c").click(function() {
$.get("http://nameOfWebsite/save.php", {test: "1", question: "1", answer: "c" } );
});
$("#answer_d").click(function() {
$.get("http://nameOfWebsite/save.php", {test: "1", question: "1", answer: "d" } );
});
});
在save.php中,使用$\u GET[]使用变量并将它们保存在表中
<?php
$con=mysqli_connect("example.com","peter","abc123","my_db");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
// escape variables for security
$test = mysqli_real_escape_string($con, $_GET['test']);
$question = mysqli_real_escape_string($con, $_GET['question']);
$answer = mysqli_real_escape_string($con, $_GET['answer']);
$sql="INSERT INTO Persons (test, question, answer)
VALUES ('$test', '$question', '$answer')";
if (!mysqli_query($con,$sql)) {
die('Error: ' . mysqli_error($con));
}
echo "1 record added";
mysqli_close($con);
?>
使用$\u GET[]
获取php中的值,使用mysqli\u connect
将数据插入表中。您已经走上了正确的道路,下一步是在php中。您可以使用此示例获取这些值。考虑这个例子:
<?php
if(isset($_GET['test'])) {
$data = array(); // initialize return data holder
$test = isset($_GET['test']) ? $_GET['test'] : null;
$question = isset($_GET['question']) ? $_GET['question'] : null;
$answer = isset($_GET['answer']) ? $_GET['answer'] : null;
// they should be inside now, now you can go on with mysql inserts
// just a sample callback value to check if indeed php got it
$data['test'] = $test;
$data['question'] = $question;
$data['answer'] = $test;
echo json_encode($data);
exit;
}
?>
<!-- lets say this is an image -->
<button id="answer_a" type="button">Hi im an image</button>
<script src="jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#answer_a").click(function() {
$.get("index.php", {test: "1", question: "1", answer: "a" }, function(response){
var data = $.parseJSON(response);
console.log(data); // check this in console
});
});
});
</script>
嗨,我是一个形象
$(文档).ready(函数(){
$(“#答案a”)。单击(函数(){
$.get(“index.php”,{test:“1”,问题:“1”,回答:“a”},函数(响应){
var data=$.parseJSON(响应);
console.log(数据);//在控制台中检查此项
});
});
});
您需要什么样的提示?你需要了解一些基本的PHP和数据库知识才能完成这项工作。好吧,你可以让你的老板雇佣一名PHP开发人员,因为你做不到这一点。你是作为新人还是有经验的候选人加入的?还是PHP不是你的领域?只问因为这些只是PHPwell中的基础知识,我在后端开发(我是前端)方面很差劲现在我需要它这是单选按钮吗?@user3604446请在你的答案中发布代码,以便a.)它为so和2.)的未来访问者保留。你的答案实际上看起来像一个答案。@lucasvs我使用了这个,但当我测试时,它似乎不起作用。我已经创建了Person表…测试varchar(10)、问题int(10)和答案varchar(10)。我点击了所有答案,但在数据库中,它只显示如下内容:测试(为空)、问题0和答案也是空的。为什么?@Luicandrian添加了一个空行?@Luicandrian请尝试print\u r($\u GET)以查看变量是否没有出现empty@lucasvs太好了,现在开始工作了。非常感谢您,如果在您说我可以在mysql中插入后添加此选项,则可以:$con=mysqli_connect(“localhost”、“u661039426_-sym”、“nuconteaza123”、“u661039426_-sym”);//如果(mysqli_connect_errno()){echo“无法连接到MySQL:”.mysqli_connect_error();}$test=mysqli_real_escape_string($con,$_GET['test')),请检查连接$question=mysqli\u real\u escape\u字符串($con,$\u GET['question'])$answer=mysqli\u real\u escape\u字符串($con,$\u GET['answer'])$sql=“在人员(测试、问题、答案)中插入值('$test'、'$question'、'$answer')”@路易卡纳德里安,你试过吗?将$sql
放入mysqli\u query()
中,如:$query=mysqli\u query($sql)
然后检查是否插入:$inserted=mysqli\u受影响的行($con)代码>。如果插入,则可能会输出1