Parameter from url with php and write it into js v

2019-09-07 07:41发布

I am trying to get a parameter from the url with php and write it into a js variable to do some jquery stuff.

my url looks like that

www.example.com/?v=12345

My Code

vnew = "<?php echo $_GET["v"];?>";
if (vnew  == null) {
myfunction();
}
else {
$(".myDiv").attr('src','newsrc');   
$(".title").html("bla");
};

if the url is like www.example.com shouldn't the value be 'null', so that my function fires? However if i set it to '12345' the else condition does not fire either.

What is wrong here? Thank you!

3条回答
趁早两清
2楼-- · 2019-09-07 07:42

Try var_dump($_GET["v"]) on the base url. Use that value in your comparison.

查看更多
The star\"
3楼-- · 2019-09-07 07:43

It'll never be null, only an empty string. Think about what the JS output is if no value is passed:

vnew = ""; //no PHP output between the quotes, as no value found

In any case you don't need PHP to grab the var, in any case.

var tmp = location.search.match(/v=([^&]+)/), vnew = tmp ? tmp[1] : null;

In this case, the value WILL be null if no value is found.

查看更多
兄弟一词,经得起流年.
4楼-- · 2019-09-07 07:46

Change it like this:

<?php if ($_GET["v"]) { ?>
    myfunction();
<php } else { ?>
    $(".myDiv").attr('src','newsrc');   
    $(".title").html("bla");
<?php } ?>

OR

<?php 
if ($_GET["v"]) {
    echo "myfunction();";
} else {
    echo "$(\".myDiv\").attr('src','newsrc'); $(\".title\").html(\"bla\");";
} ?>

to check if your condition is working:

<?php 
if ($_GET["v"]) {
    echo "myfunction();";
} else {
    echo "Hello";
} ?>
查看更多
登录 后发表回答