PHP - what is the proper way to do inline HTML variable output?
I just moved from an Ubuntu PHP workstation dev environment back to Windows and am using xampp. I have a bit of code, like so:
<input type="text" name="txtEmail" value="<?=$emailaddress;?>"/>
that I swear worked to display the variable in the textbox when I was developing before. But when I loaded the page on Windows/xampp it just put that text between the quotes in the textbox. Instead, I ended up changing it to something like:
<input type="text" name="txtFirstName" value="<?php echo($firstname);?>" />
The l开发者_如何学Catter makes sense, but I guess I thought there was a shorthand or something, and I must be going crazy because I'm sure the first way was working on a difference environment.
So what's the best way to do this?
Save yourself a headache and don't use short tags. They feel dirty, they don't work on every setup, and I think they may be getting phased out of php altogether (That might be wrong though).
Even if you know how to fix them, you'll still be irritated every time you have to change your new server to make them work.
Edit: Yup, they're getting depracated. http://cubicspot.blogspot.com/2009/06/maximum-failure-php-6-deprecates-short.html
2017 Edit: To add an important distinction - the <?=
"short echo" format is always enabled (see Dav's comment below). The <?
"short open" format is a separate matter. For more info see Why are "echo" short tags permanently enabled as of PHP 5.4?
There's a php.ini
directive that controls it. Make sure yours is set to:
short_open_tag = On
When doing inline commands the semi-colon isn't required. I personally prefer the short tags, typing <?php echo
gets old after a while.
Yeah, PHP developers are deprecating short tags, because it might conflict with XML. Quite in time for XHTML getting tossed out in favour of a SGML based HTML5. And nobody was using PHP to output XML anyway..
You probably have to enable short tags on your php.ini
The best way is probably the longer one <?php
since the others are "not recommended".
Think you can find a complete Q&A right here on SO
精彩评论