我不确定我想做的事情对你来说是否有意义,但给你。我正在尝试执行if/else。这是我想做的一个例子。
<?php
if //Here I would like to execute <script></script>
{
// Then here execute some php code
}
else
{
//do nothing
}
?>
我不知道这样的事情是否可能。
不,您不能按照建议的方式使用JS执行PHP代码。PHP被编译并在服务器上提供,然后发送到网络上。这就是网站"前端"answers"后端"组件背后的理念。
然而,您可以使用JS(谷歌"AJAX")向服务器发出请求,JS可以执行您想要的任何类型的后端语言。然后,当您的后端响应时,您可以告诉JS更改DOM,或者做任何您想做的事情。
希望能有所帮助!
使用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>
在"原型"中,它看起来像:
<script type="text/javascript">
new Ajax.Request('somephpfile.php',
{
method: 'get',
onSuccess: function(data) {
// do something with data.responseText
}
});
</script>
根据您的评论,我想说可能对Javascript和PHP的工作方式或交互方式有点误解。
这就像一个名为PHP的披萨外卖服务:你可以点一个上面有火腿的披萨,但外卖小哥一到你家门口,点菠萝就太晚了。你可以在家里对披萨做一些改变,比如吃它,但不会有菠萝。基本上,你最初的帖子会是"告诉外卖小哥吃披萨",或者用另一种方式说——这行不通。
你可以点一个新披萨(这就是我的例子),或者雇佣另一个快递员把你的菠萝片寄给你(这就是AJAX方法)。
你不必使用AJAX。您可能想尝试一下(index.php),并检查这种行为是否对您有用。
此示例的特点是:
- 对客户端条件的评估
- 基本DOM操作
- 使用隐藏字段将数据传输到服务器后端
- 服务器端传输数据的评估
- 无效的HTML标记和其他非最佳实践用法
[…]
<!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>
可能。
<?php if(true):?>
<script>
//js goes here
</script>
<?php else:?>
//other
<?php endif?>