Forum Moderators: coopster

Message Too Old, No Replies

Echo Syntax Error

         

paseo

2:44 am on Jan 31, 2007 (gmt 0)

10+ Year Member



Can anybody provide the proper syntax for the following line:

echo "<input type=checkbox name=remember "if($form->value("remember")!= ""){ echo "checked"; }">";

Thanks in advance!

eelixduppy

2:50 am on Jan 31, 2007 (gmt 0)




echo '<input type="checkbox" name="remember" ';
if(!empty($form->value("remember"))){ echo 'checked'; }
echo '/>"';

coopster

2:54 am on Jan 31, 2007 (gmt 0)

WebmasterWorld Administrator 10+ Year Member



$checked = ($form->value("remember")) ? ' checked="checked" ' : ''; 
print '<input type="checkbox" name="remember"' . $checked . '>';

Basic Syntax [php.net]
Strings [php.net]

paseo

3:17 am on Jan 31, 2007 (gmt 0)

10+ Year Member



You da man Coopster, i tried the echo statement from eelixdubby but for some reason got a blank page...

Thanks!

coopster

3:38 am on Jan 31, 2007 (gmt 0)

WebmasterWorld Administrator 10+ Year Member



Probably because empty() [php.net] only checks variables as anything else will result in a parse error and you don't have error_reporting [php.net] turned up high enough to see the issue in your test environment. More importantly, you should read the links provided regarding basics and strings to understand how to build strings in PHP.

eelixduppy

4:02 am on Jan 31, 2007 (gmt 0)



wow...don't I feel silly. I wasn't actually paying attention to detail...oops ;) thanks coop

whoisgregg

2:35 pm on Jan 31, 2007 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



You can also put the ternary operator inline with the echo statement:

echo '<input type="checkbox" name="remember"' . ( ($form->value("remember"))? ' checked="checked" ' : '' ) . '>';

Added: You'd do this if you don't want to declare an extra variable... although declaring that variable probably makes the code more readable. ::shrug:: :)