gpt4 book ai didi

php - 使用ajax将 session 变量插入数据库

转载 作者:行者123 更新时间:2023-11-29 23:16:23 25 4
gpt4 key购买 nike

我有一个动态表,允许用户使用ajax从数据库中添加/编辑和删除记录。该表实际上最初来自here

它工作得很好,只是现在我希望能够将 session 变量(用户名)与其他记录一起添加到数据库中。对于我所有的搜索和阅读,我只是不知道如何去做......不幸的是我的 jquery 和 javascript 知识非常有限。我将非常感谢任何帮助。

这是 script.js 的“添加”部分,我已经向表中添加了一个用户名字段。

  var data='';
var action = '';
var savebutton = "<input type='button' class='ajaxsave' value='Save'>";
var updatebutton = "<input type='button' class='ajaxupdate' value='Update'>";
var cancel = "<input type='button' class='ajaxcancel' value='Cancel'>";
var pre_tds;
var field_arr = new Array('text','text','text','text', 'text');
var field_pre_text= new Array('Enter production','Enter channel','Enter role','Enter company', 'username');
var field_name = new Array('production','channel','role','company', 'username');
$(function(){
$.ajax({
url:"DbManipulate.php",
type:"POST",
data:"actionfunction=showData",
cache: false,
success: function(response){

$('#demoajax').html(response);
createInput();

}

});


$('#demoajax').on('click','.ajaxsave',function(){



var production = $("input[name='"+field_name[0]+"']");
var channel = $("input[name='"+field_name[1]+"']");
var role =$("input[name='"+field_name[2]+"']");
var company = $("input[name='"+field_name[3]+"']");
var username = SOMETHING LIKE THIS.....$_SESSION['username'];

if(validate(production,channel,role,company)){
data = "production="+production.val()+"&channel="+channel.val()+"&role="+role.val()+"&company="+company.val()+"&username="+username.val()+"&actionfunction=saveData";
$.ajax({
url:"DbManipulate.php",
type:"POST",
data:data,
cache: false,
success: function(response){
if(response!='error'){
$('#demoajax').html(response);
createInput();
}
}

});
}
else{
return;
}
});**strong text**

这是 DbManipulate.php 的“保存并显示”部分,我在表中添加了一个用户名字段。

<?php
include('db.php');

if(isset($_REQUEST['actionfunction']) && $_REQUEST['actionfunction']!=''){
$actionfunction = $_REQUEST['actionfunction'];

call_user_func($actionfunction,$_REQUEST,$con);
}
function saveData($data,$con){

$username = $con->real_escape_string($data['username']);
$production = $con->real_escape_string($data['production']);
$channel = $con->real_escape_string($data['channel']);
$role = $con->real_escape_string($data['role']);
$company = $con->real_escape_string($data['company']);
$sql = "insert into credits (production,channel,role,company, username) values('$production','$channel','$role','$company', '$username')";
if($con->query($sql)){
showData($data,$con);
}
else{
echo "error";
}

}
function showData($data,$con){
$sql = "select * from credits order by id asc";
$data = $con->query($sql);
$str='<tr class="head"><td>production</td><td>channel</td><td>role</td><td>company</td><td></td><td>username</td><td>id</td></tr>';
if($data->num_rows>0){
while( $row = $data->fetch_array(MYSQLI_ASSOC)){
$str.="<tr id='".$row['id']."'><td>".$row['production']."</td><td>".$row['channel']."</td><td>".$row['role']."</td><td>".$row['company']."</td><td><input type='button' class='ajaxedit' value='Edit'/> <input type='button' class='ajaxdelete' value='Delete'></td><td>".$row['username']."</td><td>".$row['id']."</td></tr>";
}
}else{
$str .= "<td colspan='5'>No Data Available</td>";
}

最佳答案

我还没有真正阅读您的所有详细信息。但是单独阅读您的问题,我认为您可以使用以下伪代码在服务器中简单地创建一个 session :

  1. 在 JavaScript 中,使用以下命令将 session 名称和 session 值发送到服务器Ajax(GET 或 POST)
  2. 在 PHP 服务器中,获取 session 名称和 session 值
  3. 使用收集的值创建 session

PHP 脚本如下:

<?php
// if the script is called via POST method.
if($_POST) {
$_SESSION[$POST['session_name'] = $_POST['session_value']];
}
// if the script is called via GET method
if($_GET) {
$_SESSION[$GET['session_name'] = $_GET['session_value']];
}
?>

使用此脚本,您现在唯一需要做的就是向其发送创建 session 所需的数据。我想你已经有了。

关于php - 使用ajax将 session 变量插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27756210/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com