PHP: Notice: Undefined index where the session variable is defined

不问归期 提交于 2019-12-01 14:44:59

This came down to the basics of debugging/troubleshooting.

  1. Understand as much as you can about the technique/library/function/whatever that you're trying to use.
  2. Inspect the salient bits and make sure that they are what you expect or what they should be. (There's a slight difference between those two, depending on the situation.)
  3. If that doesn't bring you towards a solution, step back and make sure you're understanding the situation. This may mean simplifying things so that you're only dealing with the issue at hand, i.e. create a separate, simpler test case which exposes the same problem. Or, it may simply mean that you stop coding and work through the flow of your code to make sure it is really doing what you think it is doing.

A typical issue with sessions not working is forgetting to use session_start() (near or at the top) of any page which uses sessions.

One of my favorite snippets of PHP code, for debugging:

print '<pre>';
var_dump($some_variable);
print '</pre>';

I try to use print for debugging and echo for regular output. It makes it easier to spot debugging code, once it's goes beyond a few trivial bits of output.

Meanwhile, var_dump will print a bit more info about the variable, like it's type and size. It's important to wrap it in <pre></pre> so that it's easier to read the output.

Try

if (!empty($_SESSION['registrationComplete'])) {

If you get the warning after the message is printed, this cannot come from the variable echoing because according to your code it would be thrown before printing that message. Are you sure you don't use $_SESSION['registrationComplete'] beyond the if statement? Try to add exit or die() before the closing bracket of the if and see if the notice disappears.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!