Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP更新查询未接收页面中已定义的变量_Php_Mysql_Variables - Fatal编程技术网

PHP更新查询未接收页面中已定义的变量

PHP更新查询未接收页面中已定义的变量,php,mysql,variables,Php,Mysql,Variables,您好,我正在尝试从HTML表单更新单个字段,由于某种原因,我传递给更新查询的会话变量之一未被接受。我已经在页面中回显了变量,所以我相当确定它存在于内存中 注意,我知道我的代码非常不安全,但我正在学习PHP,一旦我掌握了基础知识,我就会检查它并将其提高到最佳实践标准 E2A:如果我进行var_转储($filename);在尝试运行查询之前,它返回字符串(6)“356/18”,在查询之后,它返回NULL。我不会在任何地方取消设置变量,所以它可能会去哪里 这是我的表格: <form

您好,我正在尝试从HTML表单更新单个字段,由于某种原因,我传递给更新查询的会话变量之一未被接受。我已经在页面中回显了变量,所以我相当确定它存在于内存中

注意,我知道我的代码非常不安全,但我正在学习PHP,一旦我掌握了基础知识,我就会检查它并将其提高到最佳实践标准

E2A:如果我进行var_转储($filename);在尝试运行查询之前,它返回字符串(6)“356/18”,在查询之后,它返回NULL。我不会在任何地方取消设置变量,所以它可能会去哪里

这是我的表格:

      <form method="post" action="">
      <p>Your username is:&nbsp;<?php echo $_SESSION['userid'] ?>&nbsp;Your company ID is:&nbsp;<?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:&nbsp;</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; ?>"/>