Can anyone explain how to make this code work?
echo \'Welcome \'
echo "<div id=\"panel1-under\">Welcome ".$_SESSION['username']."</div>";
or
echo '<div id="panel1-under">Welcome '.$_SESSION['username'].'</div>';
Quick Explain :
PHP is even smart enough to detect variables inside a PHP string and evaluate them :
$variablename = "Andrew";
echo "Hello $variablename, welcome ";
=> Hello Andrew, welcome
More infos : PHP.net - echo
Generally speaking, to use the single quote inside a string that is using the single quote as delimiter, just escape the single quote inside the string
echo 'That\'s all, folks';
It's not clear what the purpose of your code is, though.
echo '<div id="panel1-under">Welcome <?php echo "$_SESSION['username']"; ?></div>';
As you are already using PHP code, <?php echo
is not necessary. If you are only trying to output the content of a session variable, then you can use
echo '<div id="panel1-under">Welcome ' . $_SESSION['username'] . '</div>';
Use the following code
$data = $session['user'];
echo "a big string and $data thats simple"
You need to concatenate your strings & variables.
echo '<div id="panel1-under">Welcome ' . $_SESSION['username'] . '</div>';
You can use double or single quotes inside double quotes.
#Result: Hello "World" 's
$a = '"World"';
echo "Hello $a 's";
#Result: Hello "World" 's
echo "Hello \"World\" 's";
You can also use double or single quotes inside single quotes. (Not recommended when building SQL queries)
#Result: Hello World's "s
echo 'Hello World\'s "s';
Inside single quotes, variable names aren't parsed like they are inside double-quotes. If you want to use single-quoted strings here, you'll need to use the string concatenation operator, .
:
echo '<div id="panel1-under">Welcome <?php echo "'.$_SESSION['username'].'"; ?></div>';
By the way: the answer to the question in the title is that in order to use a literal single-quote inside a single-quoted string, you escape the single-quote using a backslash:
echo 'Here is a single-quote: \'';