javascript एक .js फ़ाइल में jQuery फ़ंक्शन से PHP सत्र चर का उपयोग कैसे करें?





3 Answers

मैं एक ही समस्या से जूझ रहा था और इस पृष्ठ पर ठोकर खाई। एक और समाधान जो मैं आया था वह यह होगा:

अपने एचटीएमएल में, सत्र चर को $_SESSION['origin'] करें (मेरा यहां $_SESSION['origin'] ) आपके चयन के किसी भी तत्व पर: <p id="sessionOrigin"><?=$_SESSION['origin'];?></p>

अपने जेएस में, jQuery का उपयोग करके आप इसे इस तरह एक्सेस कर सकते हैं: $("#sessionOrigin").text();

संपादित करें: या इससे भी बेहतर, इसे एक छिपे हुए input

<input type="hidden" name="theOrigin" value="<?=$_SESSION['origin'];?>"></input>

php javascript jquery

एक .js फ़ाइल में jQuery फ़ंक्शन से PHP सत्र चर का उपयोग कैसे करें? इस कोड में, मैं एक सत्र चर से "मान" प्राप्त करना चाहता हूं

$(function() {
   $("#progressbar").progressbar({
      value: 37
   });
});



आप JSON का उपयोग कर अपने PHP स्क्रिप्ट से JQUERY तक सत्र चर भेज सकते हैं

जे एस:

jQuery("#rowed2").jqGrid({
    url:'yourphp.php?q=3', 
    datatype: "json", 
    colNames:['Actions'], 
    colModel:[{
                name:'Actions',
                index:'Actions', 
                width:155,
                sortable:false
              }], 
    rowNum:30, 
    rowList:[50,100,150,200,300,400,500,600], 
    pager: '#prowed2', 
    sortname: 'id',
    height: 660,        
    viewrecords: true, 
    sortorder: 'desc',
    gridview:true,
    editurl: 'yourphp.php', 
    caption: 'Caption', 
    gridComplete: function() { 
        var ids = jQuery("#rowed2").jqGrid('getDataIDs'); 
        for (var i = 0; i < ids.length; i++) { 
            var cl = ids[i]; 
            be = "<input style='height:22px;width:50px;' `enter code here` type='button' value='Edit' onclick=\"jQuery('#rowed2').editRow('"+cl+"');\" />"; 
            se = "<input style='height:22px;width:50px;' type='button' value='Save' onclick=\"jQuery('#rowed2').saveRow('"+cl+"');\" />"; 
            ce = "<input style='height:22px;width:50px;' type='button' value='Cancel' onclick=\"jQuery('#rowed2').restoreRow('"+cl+"');\" />"; 
            jQuery("#rowed2").jqGrid('setRowData', ids[i], {Actions:be+se+ce}); 
        } 
    }
}); 

पीएचपी

// start your session
session_start();

// get session from database or create you own
$session_username = $_SESSION['John'];
$session_email = $_SESSION['johndoe@jd.com'];

$response = new stdClass();
$response->session_username = $session_username;
$response->session_email = $session_email;

$i = 0;
while ($row = mysqli_fetch_array($result)) { 
    $response->rows[$i]['id'] = $row['ID']; 
    $response->rows[$i]['cell'] = array("", $row['rowvariable1'], $row['rowvariable2']); 
    $i++; 
} 

echo json_encode($response);
// this response (which contains your Session variables) is sent back to your JQUERY 



यह कड़ाई से jQuery का उपयोग नहीं कर रहा है, लेकिन मुझे jQuery का उपयोग करने से यह विधि आसान हो गई है। यहां और कई चालाक लोगों को प्राप्त करने की शायद अंतहीन विधियां हैं, लेकिन सभी ने मेरे लिए काम नहीं किया है। हालांकि निम्नलिखित विधि हमेशा काम करती है और अगर मैं किसी और की मदद करता हूं तो मैं इसे पास कर रहा हूं।

तीन जावास्क्रिप्ट पुस्तकालयों की आवश्यकता है, createCookie , readCookie और eraseCookie । ये पुस्तकालय मेरी नहीं हैं लेकिन मैंने उन्हें लगभग 5 साल पहले उपयोग करना शुरू किया था और उनकी उत्पत्ति को नहीं पता था।

createCookie = function(name, value, days) {
if (days) {
    var date = new Date();
    date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
    var expires = "; expires=" + date.toGMTString();
}
else var expires = "";

document.cookie = name + "=" + value + expires + "; path=/";
}

readCookie = function (name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
    var c = ca[i];
    while (c.charAt(0) == ' ') c = c.substring(1, c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
}
return null;
}
eraseCookie = function (name) {
   createCookie(name, "", -1);
}

उन्हें कॉल करने के लिए आपको सामान्य रूप से अपनी समर्थन लाइब्रेरी के हिस्से के रूप में एक छोटा PHP फ़ंक्शन बनाना होगा, जैसा कि निम्नानुसार है:

<?php
 function createjavaScriptCookie($sessionVarible) {
 $s =  "<script>";
 $s = $s.'createCookie('. '"'. $sessionVarible                 
 .'",'.'"'.$_SESSION[$sessionVarible].'"'. ',"1"'.')';
 $s = $s."</script>";
 echo $s;
}
?>

तो अब आप का उपयोग करने के लिए अब अपनी index.php फ़ाइल में शामिल होना है

$_SESSION["video_dir"] = "/video_dir/";
createjavaScriptCookie("video_dir");

अब अपने जावास्क्रिप्ट लाइब्रेरी.जेएस में आप निम्न कोड के साथ कुकी को पुनर्प्राप्त कर सकते हैं:

var videoPath = readCookie("video_dir") +'/'+ video_ID + '.mp4';

आशा है कि ये आपकी मदद करेगा।




Related