我不确定我想做什么对你有意义但是你走了。 我正在尝试执行if / else。这是我想做的一个例子。
<?php
if //Here I would like to execute <script></script>
{
// Then here execute some php code
}
else
{
//do nothing
}
?>
我不知道这样的事情是否可能。
答案 0 :(得分:4)
不,你不能像你建议的那样用JS执行PHP代码。 PHP在您的服务器上编译和提供,然后通过网络发送。这是网站“前端”和“后端”组件背后的想法。
但是,您可以使用可以执行任何类型的后端语言的JS(google“AJAX”)向您的服务器发出请求。然后,当你的后端响应时,你可以告诉JS改变DOM,或做你想做的任何事情。
希望有所帮助!
答案 1 :(得分:2)
使用AJAX执行此操作的一个示例是以下jquery代码:
<script type="text/javascript" src='yourotherfile.js'></script>
<script type="text/javascript">
if (functionFromOtherFile()) {
$.get('somephpfile.php', function(data) {
$("#output").text(data);
}
} else {
$.ajax({
url: "somethingelse.php",
context: $("#output")
}).done(function() {
alert("Request completed.");
});
}
</script>
在"prototype"中,它看起来像是:
<script type="text/javascript">
new Ajax.Request('somephpfile.php',
{
method: 'get',
onSuccess: function(data) {
// do something with data.responseText
}
});
</script>
答案 2 :(得分:0)
从你的评论我会说可能会有一些误解,Javascript和PHP如何工作或如何互动。
这就像一个名为PHP的比萨饼送货服务:你可以在上面点上火腿比萨饼,但是送货员一到门口,就可以在上面订购菠萝。您可以在家里对披萨做一些改变,就像吃它一样,但是没有菠萝。基本上你的原始帖子就像是“告诉送货员吃比萨饼”,或者以另一种方式说出来 - 它不会起作用。
你可以订购一个新的比萨饼(这将是我的例子),或者雇用另一个送货员来发送你的菠萝片(这将是AJAX方法)。
您不必使用AJAX。您可能想尝试这个(index.php)并检查该行为是否对您有用。
此示例功能:
[...]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Simple JavaScript Example</title>
</head>
<body>
<h2>This is some test</h2>
<form action="index.php" method="get">
<input type="hidden" name="condition" />
<input type="submit" value="Do something" />
</form>
<script type="text/javascript">
<?php
if ($_GET["condition"]!="blueconditionistrue"){
?>
document.body.style.backgroundColor = "rgb(0, 0, 255)";
<?php
} else { echo "alert('That blue was awful, I fixed it for you');"; }
?>
if (document.body.style.backgroundColor == "rgb(0, 0, 255)"){
document.forms[0].condition.value = "blueconditionistrue";
}
</script>
</body>
</html>
答案 3 :(得分:-2)
是的可能。
<?php if(true):?>
<script>
//js goes here
</script>
<?php else:?>
//other
<?php endif?>