I think this is a great question, and you have some great answers. Here is my take.
One reason you might want to retain the moniker say, $_POST[‘telephone’] is that if it is reused much further down the script, when you come back to look at it a few weeks later you may be asking yourself “just where the hell did that variable come from?”.
At least $_POST[‘telephone’] is very explicit.
I have noticed that if I refer to an incoming var just once or twice I will tend to leave it as $_POST[‘telephone’] and take the pain of writing that out. It is far more complicated to have to type that out than say, $telephone and that in itself can lead to errors - so should be taken into consideration.
When I notice a 3rd time I am writing it out, I tend to go back and assign it to a more readable variable name eg $telephone. That is very easy to do with a modern IDE.
This has the effect of making code easier to read, but has to be balanced with the “where did that variable come from?” issue mentioned above.
Another decider could be to do with the number of physical lines of code that separate the uses of the variable. If you can see its’ use and reuse inside a single scrolls’ worth of code - then maybe your eye can quickly spot
$telephone = $_POST['telephone'];
If I feel the need to check that the incoming var’s contents can be checked against my expectations (sticking with a telephone number, that is say, numbers, dashes and spaces only) and that fails then I advocate you “fail early” at the top of your script and either dump that data, or abort the operation depending on issues such as how critical is this piece of information, or to what degree did my user a) subvert my js checks on the client, and b) ignore my GUI hints about what constitutes an acceptable phone number.
Once deep into your script, the rule is to Escape Output - protect the next environment which is about to accept this variable - as you don’t use a db then you could be outputting to a webpage as part of a html stream - so use htmlentities or one of that family of escape mechanisms.
I have also seen code like this:
$filteredTelephone;
or
$cleanTelephone;
Which I find off-putting to read, but at least you know what it means.