PHP Syntax

Why isn't this working?  It always evaluates as incorrect, even if it's correct.
<?php
function curPageURL() {
 $pageURL = 'http';
 if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
 $pageURL .= "://";
 if ($_SERVER["SERVER_PORT"] != "80") {
  $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
 } else {
  $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
 }
 return $pageURL;
}
 
echo curPageURL();
echo ' (pulled url)<br>';
 
$currentURL = curPageURL();
 
echo $currentURL;
echo ' (variable url)';
 
if ( $currentURL == 'http://domain.net/members/$username/mystuff/stuff-home' ) {
$dynamicClass = 'selected';
echo '<br>correct';
} else {
$dynamicClass = 'NOTselected';
echo '<br>incorrect';
}
 
?>

Open in new window

LVL 1
bschwartingAsked:
Who is Participating?
 
EMB01Commented:
I think it's because you need to use double-quotes, like so. Whenever you use single quotes, you can't use dynamic variables.

Ref. http://us.php.net/variables#39194
<?php
function curPageURL() {
 $pageURL = 'http';
 if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
 $pageURL .= "://";
 if ($_SERVER["SERVER_PORT"] != "80") {
  $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
 } else {
  $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
 }
 return $pageURL;
}
 
echo curPageURL();
echo ' (pulled url)<br>';
 
$currentURL = curPageURL();
 
echo $currentURL;
echo ' (variable url)';
 
if ( $currentURL == "http://domain.net/members/$username/mystuff/stuff-home" ) {
$dynamicClass = 'selected';
echo '<br>correct';
} else {
$dynamicClass = 'NOTselected';
echo '<br>incorrect';
}
 
?>

Open in new window

0
 
bschwartingAuthor Commented:
It looks like variable in the == is causing the issue.  When I hard code in the variable, it works fine.  Why isn't it validating properly with the variable $username in it?
0
 
bschwartingAuthor Commented:
genius!  it's always the small things.  thanks!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.