我是PHP的新手并试图解决这个问题,但仍然没有理解。我试图在jQuery中取一个html文本框的值并将其转换为一个变量然后我可以存储为(变量或字符串?)并在页面刷新后再次拉回。
我希望用户点击一个按钮然后执行以下操作:
$('.save').click(function () {
// pulls the value from the textarea
var file = $('#subtext').val();
// send to php to hold text
$.ajax({
url: '/mininote/system/data.php',
type: 'POST',
data: { textbox: file },
success: function(data) {
alert('Saved data to php!');
$(save).text('All changes saved.').show().delay(3000).fadeOut(800);
}
});
});
然后接收发布数据并存储在php中,直到用户重新加载从中提取数据(或检查是否有)的页面,如此,并替换文本框的值使用来自php的值:
$.ajax({
url: '/mininote/system/data.php',
type: 'GET',
data: { textbox: file },
success: function(data) {
// add text back to text box
$("#subtext").val(data);
}
});
基本上我正在寻找的是: -
我需要将哪些内容放入PHP代码中?或者朝另一个方向走路会更容易吗?我已经使用这种方法在本地存储中工作。我还希望浏览器兼容这项工作。
我不需要为一堆用户设置它。任何能够增加我对此知识的反应都会有很大帮助。
编辑:我真的在寻找更多服务器端的东西,因此可以在多个平台和设备上使用。
答案 0 :(得分:1)
您可以使用以下简单的PHP脚本来实现目标:
<?php
session_start();
if (isset($_POST['textbox'])) {
$_SESSION['textbox'] = $_POST['textbox'];
} else {
echo $_SESSION['textbox'];
}
?>
另一种选择是使用HTTP Cookies。只需使用plugin或简单的document.cookie = "variable=value";
等设置JavaScript,然后使用$_COOKIE["variable"]
在PHP中访问它。
希望这有帮助。
答案 1 :(得分:1)
实际上 jquery-ajax 的工作原理如下: -
根据您的要求您还需要按照以下步骤操作。所以,为此,你
所以用以下内容替换上面的 jquery-ajax 代码部分: -
$('.save').click(function () {
// pulls the value from the textarea
var file = $('#subtext').val();
// send to php to hold text
$.ajax({
url: '/mininote/system/data.php',
type: 'POST',
data: { textbox: file },
success: function(data) {
alert('Saved data to php!');
$('#subtext').val(data);
$(save).text('All changes saved.').show().delay(3000).fadeOut(800);
}
});
});
确保在您的 data.php 页面文本框值将数据插入数据库后回显。这个过程如下: -
<强> data.php 强>
<?php
$textbox = $_POST["textbox"];
/*
perform Your DB inser part here
*/
if(data inserted to db)
{
echo $textbox;
}
?>
希望这会对你有帮助。
答案 2 :(得分:0)
在PHP代码中,你可以像这样使用PHP会话变量:
$_SESSION['saveMe'] = $saveMe;
然后,即使在刷新之后,通过在php中使用会话变量来获取它,就像通常使用任何变量一样。
答案 3 :(得分:0)
使用会话,如临时cookie,如下所示。
session_start();
$_SESSION['sessionName'] = $sessionVar;
然后你可以使用session_destroy();
查看更多here。
答案 4 :(得分:0)
为什么要将它发送给PHP?
只需在客户端使用cookie保存更好,并使用$ _COOKIE
$('.save').click(function () {
// save data from textarea to cookie
var data = $.trim($('#subtext').val());
$.cookie('TEXTAREA_VALUE', data);
});
然后去PHP阅读:
<?php
echo $_COOKIE['TEXTAREA_VALUE'];
?>
并删除:
$.removeCookie('TEXTAREA_VALUE', { path: '/' });
好的朋友!
答案 5 :(得分:0)
Ajax主要用于在不重新加载网页的情况下发送数据 - 从客户端(js)到服务器端(php)或从服务器端(php)到客户端(js)。确保在textarea中给出了name-attribute,并且该方法设置为在表单中发布。如果我正确理解您的问题,您可以执行以下操作:
<?php
session_start();
if (isset($_POST['subtext'])) {
$_SESSION['subtext_value'] = $_POST['subtext'];
}
if (isset($_SESSION['subtext_value'])) {
$subtextValue = $_SESSION['subtext_value'];
}
else {
$subtextValue = '';
}
?>
<html>
<body>
<form action="/mininote/system/data.php" method="post">
<textarea id="subtext" name="subtext"><?php echo $subtextValue;?></textarea>
<input type="submit" value="ok" />
</form>
</body>
</html>