0

I have used below code:

$html = '';
$html. = '<br></br>';
$html .= '<a href= "javascript:void(0)" class= "test" onclick= "get_data($access_token,1,$marketTagId);">Next 50  </a>';

but my PHP variables are not recognized.

RK12
  • 472
  • 3
  • 11

7 Answers7

3

Difference between Double quotes and single quotes

According to this Stackoverflow answer:

  1. Single quoted strings will display things almost completely "as is." Variables and most escape sequences will not be interpreted. The exception is that to display a literal single quote, you can escape it with a back slash \', and to display a back slash, you can escape it with another backslash \\ (So yes, even single quoted strings are parsed).
  2. Double quote strings will display a host of escaped characters (including some regexes), and variables in the strings will be evaluated. An important point here is that you can use curly braces to isolate the name of the variable you want evaluated. For example let's say you have the variable $type and you what to echo "The $types are" That will look for the variable $types. To get around this use echo "The {$type}s are" You can put the left brace before or after the dollar sign. Take a look at string parsing to see how to use array variables and such.

Solution

They are not recognized, because you have put all your string in single quotes (').

You should replace them all with double quotes (").

$html = "";
$html. = "<br></br>";
$html .= "<a href=\"javascript:void(0)\" class=\"test\" onclick=\"get_data('$access_token',1,'$marketTagId');\">Next 50</a>";

Another solution

Also you have the option of separating your variables from text:

$html = '';
$html. = '<br></br>';
$html .= '<a href="javascript:void(0)" class="test" onclick="get_data("' . $access_token . '",1,"' . $marketTagId . '");">Next 50</a>';

Yet another solution

If you don't want to escape so many double quotes, you may use single quotes instead:

$html = "";
$html. = "<br></br>";
$html .= "<a href='javascript:void(0)' class='test' onclick='get_data(\"$access_token\",1,\"$marketTagId\");'>Next 50</a>";
Community
  • 1
  • 1
Peyman Mohamadpour
  • 17,954
  • 24
  • 89
  • 100
0

Try this, it might help you

<?php

$html = '';
$html. = '<br></br>';
$html .= '<a href= "javascript:void(0)" class= "test" onclick= "get_data($access_token,1,'.$marketTagId.');">Next 50</a>';
?>
PHPExpert
  • 945
  • 5
  • 9
0

Try this

get_data('".$access_token."',1,'".$marketTagId."');

Or

 get_data(<?php $access_token ?>,1,<?php $marketTagId ?> ); 
Rahul
  • 763
  • 1
  • 12
  • 45
0

You need to write '' around your PHP variables otherwise in onclick function they will not worked.

Use below code:-

$html = '';
$html. = '<br></br>';
$html .= "<a href= 'javascript:void(0)' class= 'test' onclick= \"get_data('$access_token','1','$marketTagId');\">Next 50  </a>";

Hope it will help you :)

Ravi Hirani
  • 6,511
  • 1
  • 27
  • 42
0

Use the php variables within { and }

$access_token = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$marketTagId = "__AAA__B_123";

$html = "";
$html .= "<br></br>";
$html .= "<a href=\"javascript:void(0)\" class=\"test\" onclick=\"get_data('{$access_token}',1, '{$marketTagId}')\">Next 50</a>";

echo htmlentities($html);
Sergio Flores
  • 5,231
  • 5
  • 37
  • 60
0

your code:

$html. = '<br></br>'; 
$html .= '<a href= "

change to this:

$html.= '<br></br>'; 
$html.= '<a href= "

try this:

$html = '';
$html.= '<br></br>';
$html.= '<a href= "javascript:void(0)" class= "test" onclick= "get_data($access_token,1,$marketTagId);">Next 50  </a>';

can you expect this:enter image description here

noushid p
  • 1,453
  • 5
  • 16
  • 29
0

Hi All Thanks for helping. This is worked for me :

  $html .= '</table>';
    $html .= '<br><br>';
    $html .= '<a href= "javascript:void(0)" class= "test" onclick= \'get_data("'.$access_token.'","1","'.$marketTagId.'");\'>Next 50  </a>';
RK12
  • 472
  • 3
  • 11