Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.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 &引用;鬼魂使用Joomla';将不正确的变量保存在MySQL数据库中;s JForm_Php_Mysql_Joomla_Joomla2.5 - Fatal编程技术网

Php &引用;鬼魂使用Joomla';将不正确的变量保存在MySQL数据库中;s JForm

Php &引用;鬼魂使用Joomla';将不正确的变量保存在MySQL数据库中;s JForm,php,mysql,joomla,joomla2.5,Php,Mysql,Joomla,Joomla2.5,简而言之,一个用户ID被保存在数据库中,而这个数据库在代码中的任何地方都不存在。我是PHP和Joomla的初学者,刚刚完成了一个很大的组件,它的大部分功能都很简单: 部件说明 主屏幕上有按部门筛选的所有用户的列表 有两个主表,其值列在主屏幕上。单击一个值,打开edit.php视图 到Chapters表的链接包含用户ID、类ID,如果记录存在,则包含记录ID,如果不存在,则使用Joomla的JForm本机保存功能在保存时填充记录ID 共有9章,因此每个用户最多有9条条目,这取决于他们所处的完成阶

简而言之,一个用户ID被保存在数据库中,而这个数据库在代码中的任何地方都不存在。我是PHP和Joomla的初学者,刚刚完成了一个很大的组件,它的大部分功能都很简单:

部件说明

  • 主屏幕上有按部门筛选的所有用户的列表
  • 有两个主表,其值列在主屏幕上。单击一个值,打开edit.php视图
  • 到Chapters表的链接包含用户ID、类ID,如果记录存在,则包含记录ID,如果不存在,则使用Joomla的JForm本机保存功能在保存时填充记录ID
  • 共有9章,因此每个用户最多有9条条目,这取决于他们所处的完成阶段
  • 填写信息,保存/保存&关闭/取消是唯一的选项
问题描述 -如果用户在第1-9章中没有任何条目,则保存用户ID 127。127从哪里来?没有线索。如果在一章中有一个条目,那么它可以正常工作

代码片段:

保存:(view.html.php)

XML(chapters.XML)


编辑表单:(Edit.php)

  • HTML输出,例如用户170(保存在数据库中为127,Joomla说它保存正确):

    
    
    我做过的事情:

    • 调试

    • 大量的附加值,看看是什么触发了这一点

    • 搜索整个html输出(包括main screen和edit.php)中的“127”,无需调试

    • 使用编辑屏幕顶部的get_defined_vars()搜索127-nothing

    • 拔出许多头发

    我不明白为什么如果userID=170被正确地传递到html输出,那么它将被保存为127。有人见过这样的东西吗?我还能做些什么来调试吗?要检查的地方?我怀疑这是Joomla记忆中的某种价值,但我也会认为get_defined_vars会以某种方式把它吐出来。或者某种二进制的2^8偏移量为1(好吧,现在我在MIDI的土地上,但我绝望了)


    谢谢大家!

    127值真的让我头疼,检查了所有的输出,没有发现任何不合适的地方-结果证明,我不仅设置了错误的数据类型,而且对什么是数据类型有错误的想法:

    我期望的值不会超过三位数,因此将其设置为TinyInt(4)似乎是安全的,而()实际上与值的长度无关,只与显示长度有关

    希望这能帮助其他人

    JToolBarHelper::apply('chapters.apply', 'JTOOLBAR_APPLY');
    JToolBarHelper::save('chapters.save', 'JTOOLBAR_SAVE');
    
    <field name="chapter_userid"
      type="text"
      label="Student UserID"
      description=""
      size="10"
      readonly="true" 
      class="readonly"
    /> 
    
    <li> 
      <?php echo $this->form->getLabel('chapter_userid'); ?>
      <?php echo $this->form->getInput('chapter_userid', null, $this->UserID ); ?>          
    </li>
    
    <input type="text" name="jform[chapter_userid]" id="jform_chapter_userid" **value="170"** class="readonly" size="10" readonly="readonly"/>