简而言之,userID保存在代码中其他任何地方都不存在的数据库中。我是PHP和Joomla的初学者,刚刚完成了一个大部分简单的大型组件:
组件描述
问题描述--如果用户在第1-9章中根本没有条目,那么将保存一个127的userID。127是从哪里来的?毫无头绪。如果在一章中有一个条目,那么它就能正常工作。
代码片段:
保存:(view.html.php)
JToolBarHelper::apply('chapters.apply', 'JTOOLBAR_APPLY');
JToolBarHelper::save('chapters.save', 'JTOOLBAR_SAVE');XML (chapters.xml)
<field name="chapter_userid"
type="text"
label="Student UserID"
description=""
size="10"
readonly="true"
class="readonly"
/> 编辑表格:(edit.php)
<li>
<?php echo $this->form->getLabel('chapter_userid'); ?>
<?php echo $this->form->getInput('chapter_userid', null, $this->UserID ); ?>
</li>例如,用户170 (保存在数据库中为127,Joomla表示它被正确保存):
<input type="text" name="jform[chapter_userid]" id="jform_chapter_userid" **value="170"** class="readonly" size="10" readonly="readonly"/> 我做过的事::
我不明白为什么userID=170被正确地传递到html输出,它被保存为127。有人见过这样的东西吗?我还能做些什么来调试吗?去检查的地方?我怀疑这是存在于Joomla记忆中的某种价值,但我也会认为,get_defined_vars会以某种方式吐露出来。或者某种二进制的2^8被1抵消(好的,现在我在MIDI的土地上,但我绝望了)。
谢谢!
发布于 2012-09-06 16:18:04
127值确实困扰着我,遍历了所有的输出,没有发现任何不恰当的地方--结果发现,我不仅有错误的数据类型集,而且我对数据类型有错误的概念:
http://matthom.com/archive/2006/11/28/mysql-integer-columns-and-display-width
我所期望的值不超过三位数,因此将其设置为TinyInt(4)似乎是安全的,而实际上()与值的长度无关,只与显示长度无关。
希望这能帮到别人。
https://stackoverflow.com/questions/12250652
复制相似问题