如何在使用 Jquery 时回显 PHP session 变量?
How to echo PHP session variable While using Jquery?
我是 PHP 的新人。我有一个文件上传代码。此代码上传文件并将其保存在 Mysql 数据库中。在此代码中,我使用两个字段,一个是日期,第二个是标题。当用户单击提交按钮时,日期和标题也存储在数据库中。我在我的代码中使用 Jquery 来选择当前日期并显示日历。我的 Jquery 功能是在日期字段中显示当前日期。当我更改日期字段中的日期时,它也会自动更改标题字段中的日期。
这是我的问题。
我在我的代码中使用 session 并在标题字段中回显 session 变量。正如我在上面所说的 Jquery 功能。我在更改日期时遇到问题。
当我在日期字段中更改日期时,它不显示 session 可变数据。
这是日期不变的照片
这是日期更改后的照片
我希望当我更改日期时它也显示所有其他变量数据。
这是我的Session代码
<?php
// starts session
session_start();
// setting variable values during session
$_SESSION['UserName']='Saqib';
$_SESSION['TeamName']='MIT';
?>
这是我的文件代码
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery UI Datepicker - Default functionality</title>
<link rel="stylesheet" type="text/css" href="style.css">
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">
<script>
$(document).ready(function() {
$("#mydate").datepicker({
dateFormat: "dd-M-y",
onSelect: function(dateText, inst) {
$("#dt_title input[type='text']").val($("#dt_title input[type='text']").attr('data-title')+dateText);
}
}).datepicker("setDate", new Date());
});
</script>
</head>
<body>
<form action="up_mb.php" method="POST" enctype="multipart/form-data">
<table width="547" class="tblbdr" >
<tr>
<td height="23" colspan="6" class="head"><p> Morning Briefing </p></td>
</tr>
<tr> <td height="10"></td></tr>
<tr><td class="celltext"><b>Date:</b> </td> <td><input name="mydate" type="text" id="mydate" style="width:200px"> </td></tr>
<tr>
<tr><td class="celltext"><b>Title: </b><br> </td>
<td class="celltext" style="width:200px" > <span id="dt_title"> <input name="title" type="text" value=" MB |
<?php session_start(); echo $_SESSION['UserName'];?> | <?php echo $_SESSION['TeamName'];?> | <?php echo date("d-M-y");?>"
data-title="MB | " style="width:200px"/> </span> </td> </tr>
</tr>
<td class="celltext"><b>Upload File:</b></td>
<td colspan="4" bordercolorlight="#006666">
<input type="file" name="myfile" id="myfile" width="100%" size=80/>
<!-- <input type="file" name="files[]" multiple style="width:300px"/> -->
</td></tr>
<td><input type="submit" value="Save"/> </td> <td> </td>
<td width="151">
</td>
<tr>
<td height="12">
</td>
<td width="290">
</td> </tr>
</table>
</form>
</body>
</html>
看起来您想要做的是更新您的 onSelect
以也包含您的 PHP 会话数据的内容。即:
onSelect: function(dateText, inst) {
$("#dt_title input[type='text']").val($("#dt_title input[type='text']) + " | <?php echo $_SESSION['UserName'].' | '.$_SESSION['TeamName']; ?>").attr('data-title')+dateText);
}
不确定我是否得到了正确的值(或语法),但如果我没看错的话,你可能可以完成剩下的工作。通过评论让我知道!
将您的脚本更改为:
$(document).ready(function() {
$("#mydate").datepicker({
dateFormat: "dd-M-y",
onSelect: function(dateText, inst) {
changeDate =$("#dt_title input[type='text']").attr('data-title');
sessions = "<?php echo $_SESSION['UserName']; ?> | <?php echo $_SESSION['TeamName']; ?> | ";
$("#dt_title input[type='text']").val(changeDate+sessions+dateText);
}
}).datepicker("setDate", new Date());
});
此外,您无需在 <span id="dt_title">
上再次打开 session_start()
。
只需将您的会话数据附加到文本字段中,如下所示
$(document).ready(function() {
$("#mydate").datepicker({
dateFormat: "dd-M-y",
onSelect: function(dateText, inst) {
$("#dt_title input[type='text']").val($("#dt_title input[type='text']").attr('data-title')+"| <?php echo $_SESSION['UserName'] | $_SESSION['TeamName']; ?> | "+dateText);
}
}).datepicker("setDate", new Date());
});
您需要更改 'input' 字段中的 'data-title' 属性
data-title="MB | <?php echo $_SESSION['UserName'];?> | <?php echo $_SESSION['TeamName'];?> | "
而不是
data-title="MB | "
将 session_start() 放在文档类型 html 之前的第一行。
我是 PHP 的新人。我有一个文件上传代码。此代码上传文件并将其保存在 Mysql 数据库中。在此代码中,我使用两个字段,一个是日期,第二个是标题。当用户单击提交按钮时,日期和标题也存储在数据库中。我在我的代码中使用 Jquery 来选择当前日期并显示日历。我的 Jquery 功能是在日期字段中显示当前日期。当我更改日期字段中的日期时,它也会自动更改标题字段中的日期。
这是我的问题。
我在我的代码中使用 session 并在标题字段中回显 session 变量。正如我在上面所说的 Jquery 功能。我在更改日期时遇到问题。
当我在日期字段中更改日期时,它不显示 session 可变数据。
这是日期不变的照片
这是日期更改后的照片
我希望当我更改日期时它也显示所有其他变量数据。
这是我的Session代码
<?php
// starts session
session_start();
// setting variable values during session
$_SESSION['UserName']='Saqib';
$_SESSION['TeamName']='MIT';
?>
这是我的文件代码
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery UI Datepicker - Default functionality</title>
<link rel="stylesheet" type="text/css" href="style.css">
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">
<script>
$(document).ready(function() {
$("#mydate").datepicker({
dateFormat: "dd-M-y",
onSelect: function(dateText, inst) {
$("#dt_title input[type='text']").val($("#dt_title input[type='text']").attr('data-title')+dateText);
}
}).datepicker("setDate", new Date());
});
</script>
</head>
<body>
<form action="up_mb.php" method="POST" enctype="multipart/form-data">
<table width="547" class="tblbdr" >
<tr>
<td height="23" colspan="6" class="head"><p> Morning Briefing </p></td>
</tr>
<tr> <td height="10"></td></tr>
<tr><td class="celltext"><b>Date:</b> </td> <td><input name="mydate" type="text" id="mydate" style="width:200px"> </td></tr>
<tr>
<tr><td class="celltext"><b>Title: </b><br> </td>
<td class="celltext" style="width:200px" > <span id="dt_title"> <input name="title" type="text" value=" MB |
<?php session_start(); echo $_SESSION['UserName'];?> | <?php echo $_SESSION['TeamName'];?> | <?php echo date("d-M-y");?>"
data-title="MB | " style="width:200px"/> </span> </td> </tr>
</tr>
<td class="celltext"><b>Upload File:</b></td>
<td colspan="4" bordercolorlight="#006666">
<input type="file" name="myfile" id="myfile" width="100%" size=80/>
<!-- <input type="file" name="files[]" multiple style="width:300px"/> -->
</td></tr>
<td><input type="submit" value="Save"/> </td> <td> </td>
<td width="151">
</td>
<tr>
<td height="12">
</td>
<td width="290">
</td> </tr>
</table>
</form>
</body>
</html>
看起来您想要做的是更新您的 onSelect
以也包含您的 PHP 会话数据的内容。即:
onSelect: function(dateText, inst) {
$("#dt_title input[type='text']").val($("#dt_title input[type='text']) + " | <?php echo $_SESSION['UserName'].' | '.$_SESSION['TeamName']; ?>").attr('data-title')+dateText);
}
不确定我是否得到了正确的值(或语法),但如果我没看错的话,你可能可以完成剩下的工作。通过评论让我知道!
将您的脚本更改为:
$(document).ready(function() {
$("#mydate").datepicker({
dateFormat: "dd-M-y",
onSelect: function(dateText, inst) {
changeDate =$("#dt_title input[type='text']").attr('data-title');
sessions = "<?php echo $_SESSION['UserName']; ?> | <?php echo $_SESSION['TeamName']; ?> | ";
$("#dt_title input[type='text']").val(changeDate+sessions+dateText);
}
}).datepicker("setDate", new Date());
});
此外,您无需在 <span id="dt_title">
上再次打开 session_start()
。
只需将您的会话数据附加到文本字段中,如下所示
$(document).ready(function() {
$("#mydate").datepicker({
dateFormat: "dd-M-y",
onSelect: function(dateText, inst) {
$("#dt_title input[type='text']").val($("#dt_title input[type='text']").attr('data-title')+"| <?php echo $_SESSION['UserName'] | $_SESSION['TeamName']; ?> | "+dateText);
}
}).datepicker("setDate", new Date());
});
您需要更改 'input' 字段中的 'data-title' 属性
data-title="MB | <?php echo $_SESSION['UserName'];?> | <?php echo $_SESSION['TeamName'];?> | "
而不是
data-title="MB | "
将 session_start() 放在文档类型 html 之前的第一行。