PHP更新查询未接收页面中已定义的变量
您好,我正在尝试从HTML表单更新单个字段,由于某种原因,我传递给更新查询的会话变量之一未被接受。我已经在页面中回显了变量,所以我相当确定它存在于内存中 注意,我知道我的代码非常不安全,但我正在学习PHP,一旦我掌握了基础知识,我就会检查它并将其提高到最佳实践标准 E2A:如果我进行var_转储($filename);在尝试运行查询之前,它返回字符串(6)“356/18”,在查询之后,它返回NULL。我不会在任何地方取消设置变量,所以它可能会去哪里 这是我的表格:PHP更新查询未接收页面中已定义的变量,php,mysql,variables,Php,Mysql,Variables,您好,我正在尝试从HTML表单更新单个字段,由于某种原因,我传递给更新查询的会话变量之一未被接受。我已经在页面中回显了变量,所以我相当确定它存在于内存中 注意,我知道我的代码非常不安全,但我正在学习PHP,一旦我掌握了基础知识,我就会检查它并将其提高到最佳实践标准 E2A:如果我进行var_转储($filename);在尝试运行查询之前,它返回字符串(6)“356/18”,在查询之后,它返回NULL。我不会在任何地方取消设置变量,所以它可能会去哪里 这是我的表格: <form
<form method="post" action="">
<p>Your username is: <?php echo $_SESSION['userid'] ?> Your company ID is: <?php echo $companyid['id']?></p>
<h3>Please enter note for file: <?php echo $filename; ?></h3>
<table width="200" cellpadding="5">
<tr>
<th width="18%" align="right" nowrap>Add Note: </th>
<td width="82%" nowrap>
<input type="text" name="note" />
</td>
</tr>
<tr>
<td colspan="2" width="100%" nowrap>
<input type="submit" value="Submit" name="Submit" />
</td>
</tr>
</table>
</form>
这里是我实例化POST变量的地方
include "header.php";
$checkFiles = "checkFiles.php";
// Catches form input from previous page and stores it into session variable called filename for future reference;
$_SESSION['filename']=$_POST['filename'];
$filename = $_SESSION['filename'];
//User id stuff from previous page too;
$userid = $_SESSION['userid'];
$id = mysql_query("SELECT id FROM users WHERE DXNumber='".$userid."'");
// Returns pointer so fetch it as an array and insert it into variable $companyid for later use;
$companyid = mysql_fetch_array($id);
您需要在每个文件的顶部包括
session\u start()
只要做:
AND fileNumber ='".$_SESSION[filename]."'";
在更新查询中
如果不起作用,请确保设置了会话[文件名]的值。请为文件输入注释:
<h3>Please enter note for file: <?php echo $filename; ?></h3>
创建一个输入框
<input type="text" name="filename" value="<?php echo $filename; ?>"/>
可能您正在用$\u POST['filename']覆盖$\u SESSION['filename']?我正在发布上一页的可变内容,这只是为了捕捉内容。同样,如果我回显$_会话['filename'];在查询之前,它显示正确的内容,但如果在查询之后回显它,它将为空。非常令人困惑。我在header.php中这样做过,如果我回显会话变量,它就可以工作,只是在更新查询中不行。@Funk247为什么不尝试使用$_session['filename']而不是$filename?嗨,博兹,我做了,这也不起作用,所以我返回到$filename@Sean那也不行。这真的很奇怪,表单中的显示了正确的值,但是查询显示为null。我已经在上一页将filename值传递给了$\u POST数组。您引用的H3中的实例输出正确,当我在查询中使用它时,它显示空值。当您第一次加载页面时,它可用。但是在提交表单后,$filename变量不包含任何值,因为没有为其分配任何值。试试我说的。如果这不起作用,请让我知道Hi Rohit这是有意义的,我刚刚尝试了一个var_转储,提交后我的变量确实被清除了。谢谢你的帮助,我会再次尝试你的解决方案。
<h3>Please enter note for file: <?php echo $filename; ?></h3>
<input type="text" name="filename" value="<?php echo $filename; ?>"/>