好的,所以我试图通过其他人的代码教自己php;有些代码可能已经过时了,但是在我有时间去上学之前,它可以用于完成必需品。我的问题是未定义的变量错误。我此时所能找到的就是如何隐藏错误,但我不想隐藏;如果它被隐藏并不意味着问题已经解决,那就意味着你已经找到了一种方法来忽略它,我认为这是一个很大的不。它出于某种原因给你错误。
我收到错误的行。
<form method=post
<?php echo "action=\"registration.php?f=".(!$flag)."&s=".$sort."\""; ?>
enctype="multipart/form-data" >
然后这就是页面上的问题。
Notice: Undefined variable: flag in C:\wamp\www\info\registration.php on line 236
还有其他相同的东西,但我觉得如果我能学会如何解决这个问题,那么它也将成为其他人的解决方案。如果您需要任何额外信息,请告诉我。提前致谢。对不起这么好看;我只是不想忽视试图在我脸上播放的问题。
答案 0 :(得分:3)
阅读其他人的代码来学习是一件好事 - 我希望更多的人会这样做;)
PHP是一种“脚本语言”。与C#,C ++或Java等“强类型”语言不同,“脚本语言”几乎可以随时随地开始使用变量。
方便,灵活......但如果在初始化之前启动使用变量,则可能会导致问题。
答案 1 :(得分:3)
要回答您的问题 - 找出$flag
在这种情况下应该表示的内容,并相应地进行设置。它看起来像一个布尔值,因此它可能就像在表单呈现之前使用$flag = true;
一样简单。但同样,如果你复制了这个,你可能不需要它 - 也许你可以从代码中删除它?
现在我推荐一种风格约定。在您的示例中,您回显action
标记的form
属性 - 如果该属性依赖于变量,我只会这样做,并且可能不会被使用。
我认为以这种方式做得更清楚:
<form method="post"
action="registration.php?f=<?php echo !$flag ?>&s=<?php echo $sort ?>"
enctype="multipart/form-data"
>
你会注意到我把标签包裹在几行上。同样,这是可选的,但可以实现完全有效的标记,并有助于避免编辑器中的水平滚动。此外,您可以更轻松地查看每个属性的起始位置,因为每个属性都有自己的行。
答案 2 :(得分:1)
您正在引用尚未设置的变量(在本例中为$flag
)。
基本上$flag
没有分配给它的值,所以不存在。在您设置$flag
的代码段之前,您的代码中是否有任何地方?