user435245
user435245

Reputation: 859

How to use php variables in HTML form

I want to generate a simple html form and add some text box to it, then I want to define some php variables and use them as value for text boxes but when I try to use them it does not work and the value of variable would not be set for the text box. Would you please tell me about the correct syntax and the way for doing this

<?php
$foo = 123;
?>

<html>
    <head>
    </head>
    <body>
        <form Id='Form' Method='post' Action='http://example.com'>
            fooElement<input type='text' name='fooElement' value='<?= $foo ?>'/>
        </form>
    </body>
</html>

How can i set the value of foo variable as the value for foo element?

Upvotes: 0

Views: 14442

Answers (4)

Tural Ali
Tural Ali

Reputation: 23290

Are you sure that your short_open_tag is on?

If not try to use <php echo $foo;?>

You have missing ? symbol.

<?php
$foo="sample"
?>

My advice: Be attentive while writing code. Try to check your code once more for typos and etc. before asking on SO. And learn this basics

Upvotes: 2

jancha
jancha

Reputation: 4977

echo $foo is not safe. it if contains ', anything after it will not be seen and will open doors for cross site scripting.

what I would suggest is to do small cleanup e.g. $foo = preg_replace("/'/", "&#39;", $foo), given you input the value as you mentioned above. e.g.

<input name='bar' value='<?=$foo?>'> 

I personally do not like this approach and would rather use templates or if you have to have html code in php then:

echo "<input name='bar' value='$foo'>";

as for text areas, do not forget to translate < and > to &lt; and &gt; to be on the safe side.

Upvotes: 1

K6t
K6t

Reputation: 1845

tag missing

<?php
$foo = 123;
?>

Upvotes: 2

Benno
Benno

Reputation: 3008

It depends on your server configuration. Sometimes short tags like <?php=$foo?> are allowed, sometimes they aren't. It's generally safer to just do <?php echo $foo; ?> instead.

Upvotes: 1

Related Questions