PHP - $_POST variables mixing with variables having the same name

php

Solution

The problem probably lies with `register_globals` in php's .ini file. Turn this off, restart php and it should be fixed.

Try this to check the setting at the moment of execution of the code:

echo ini_get("register_globals");

Problem

On the same page I have ``` $hello = 'Hello!'; $_POST['hello'] = '123'; ``` If I echo $hello, instead of getting 'Hello!' I get '123'. How should I handle variables and $_POST variables with the same name? This is an example of the real problem: I have a signup form that looks like this (here's a minified sample of fields). Each input field has a label and the string variable in the label has the same name as the input. ``` <form id="form1" action="post.php"> <span class="label"><?=$fullname?></span> //$fullname='Please enter your name'; <input name="fullname" id="fullname" type="text"> <span class="label"><?=$email?></span> //$email='Please enter your email'; <input name="email" id="email" type="text"> <input name="button1" id="button1" type="submit"> </form> ``` When I submit the form I post it to the same page and I display the values the user had filled out. Only that now, instead of $fullname displaying the value of the variable $fullname, it displays the value of $_POST['fullname']. Why does this happen?

Original source