FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Imported messages » comp.lang.php » echo other way to output a constant?
Show: Today's Messages :: Polls :: Message Navigator
Return to the default flat view Create a new topic Submit Reply
Re: echo other way to output a constant? [message #169486 is a reply to message #169482] Wed, 15 September 2010 01:52 Go to previous messageGo to previous message
MikeB is currently offline  MikeB
Messages: 65
Registered: September 2010
Karma:
Member
Peter H. Coffin wrote:
> On Tue, 14 Sep 2010 17:12:38 -0500, MikeB wrote:
>> Say I have the following code:
>>
>> <?php
>>
>>
>> define('MAX_FILE_SIZE', 300);
>>
>> echo<<<_END
>> <html><head><title>PHP Form Upload</title></head><body>
>> <form method='post' action='UploadFile2.php' enctype='multipart/form-data'>
>> <!-- MAX_FILE_SIZE must precede the file input field -->
>> <input type="hidden" name="MAX_FILE_SIZE" value="" />
>> Select a JPG, GIF, PNG or TIF File:
>> <input type='file' name='filename' size='60' />
>> <br/><input type='submit' value='Upload' /></form>
>> _END;
>>
>> echo "</body></html>";
>> ?>
>>
>> How can I get PHP to place the value of the constant MAX_FILE_SIZE in
>> the value attribute for the hidden field MAX_FILE_SIZE?
>>
>> Since it does not start with a $-sign it is not interpreted as a
>> variable. I tried putting it in curly braces {}, which sometimes work,
>> but that didn't do the trick either.
>>
>> I was hoping that print_r() would do it, but I could not get PHP to
>> interpret that either.
>>
>> So any way or do I have to a) put the constant in a variable or b) echo
>> each line individually so that I can do concatenation of the output lines?
>
> PHP puts responses to forms sent using method post into a special array
> called "_POST". So, to get at the contents of an input control called
> "MAX_FILE_SIZE", you use the variable $_POST['MAX_FILE_SIZE']. There is
> some trickiness with input types that can return multiple values, but we
> can get to that once you've gotten the above bits working and are
> comfortable with them.
>
Perhaps I expressed myself poorly.

I want PHP to send html to the browser.

It should look like this:

<input type="hidden" name="MAX_FILE_SIZE" value="300" />

This is as part of an echo <<<_END statement.

The number 300 in the above instance is a constant in my PHP code
defined as:

define('MAX_FILE_SIZE', 300);

If I try to put the following in my program, the literal MAX_FILE_SIZE
appears in the html:

echo <<<_END
<input type="hidden" name="MAX_FILE_SIZE" value="MAX_FILE_SIZE" />
_END

if I do this, I get what I want:

$mfs = MAX_FILE_SIZE;
echo <<<_END
<input type="hidden" name="MAX_FILE_SIZE" value="$mfs" />
_END

So are you saying that an alternate method is to initialize the
MAX_FILE_SIZE element in the _POST array and do it that way?

Thanks.
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Removing insignificant decimal characters?
Next Topic: Reference # in var_dump output?
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Wed Nov 27 01:39:29 GMT 2024

Total time taken to generate the page: 0.04397 seconds