Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在HTML(ECHO)代码的特定部分之后定义PHP变量_Php_Variables_Echo - Fatal编程技术网

在HTML(ECHO)代码的特定部分之后定义PHP变量

在HTML(ECHO)代码的特定部分之后定义PHP变量,php,variables,echo,Php,Variables,Echo,目前,我在HTML、PHP和Javascript方面遇到了困难!我试图一次学习这三种脚本语言,但有些问题我自己无法解决 我的问题是:我编写了一个PHP文件。其中的代码如下所示 <?php $variable1=300; $variable2=600; and so on echo'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&

目前,我在HTML、PHP和Javascript方面遇到了困难!我试图一次学习这三种脚本语言,但有些问题我自己无法解决

我的问题是:我编写了一个PHP文件。其中的代码如下所示

<?php
$variable1=300;
$variable2=600;
and so on

echo'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
blabla
else{if
(blah.blah==(something)){**FUNCTION()**;}}
</body>
</html>'
?>
我怎样才能在那里插入我的PHP变量而不出错

如果有人能帮我,我会很高兴的

提前谢谢

编辑:

问题是我使用了ECHO blahblah代码,所以你的想法对我没有帮助。为了使用你的建议,我编辑了我的源代码,但我仍然无法理解

现在,我的代码如下所示:

<?php
$variable1=300;
$variable2=600;
and so on
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
blah

<div id="blah" style="margin:0;padding:0;position:absolute;left:' . $variable1 . 'px;top:' . $variable2 . 'px;width:148px;height:57px;text-align:left;z-index:3;">
</body>
</html>
如何插入变量使其真正工作?不起作用。

不太确定您的代码在做什么,但是这个呢

<?php

$variable1 = 300;
$variable2 = 600;

$blah = 'something';

$phpvar = 'I am here';

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<?php

if ($phpvar != '') {
?>
<script>
var phpvar = "<?php echo $phpvar?>";
</script>
<?php
}

?>
</head>
<body>
<p>Hello world!</p>
<?php
if ($blah == 'something'){
?>
<script>
function doStuff(){
    alert('Stuff done.');
}
</script>
<?php
}
?>
<p>After stuff</p>
<?php
if ($blah != 'something'){
?>
<script>
function noStuff();
</script>
<?php
} else {
?>
<p>No stuff done this time.</p>
<?php
}
?>
</body>
</html>
这将输出:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script>
var phpvar = "I am here";
</script>
</head>
<body>
<p>Hello world!</p>
<script>
function doStuff(){
    alert('Stuff done.');
}
</script>
<p>After stuff</p>
<p>No stuff done this time.</p>
</body>
</html>

注意我是如何使用PHP标记在标记中插入PHP的。这通常是在使用PHP作为模板引擎时在单独完成的任何逻辑之上完成的。通过这种方式,您不必处理回音,但有时它可能很难读取。

我的第一个建议是更改将数据输出到浏览器的方式,即

<?php
$variable1=300;
$variable2=600;
and so on
//instead of doing an echo and echo-ing all the stuff out you just temporarily end your code
?>
然后在此处输出HTML和JavaScript代码,并在需要将其输入JavaScript时插入php块,如下所示:

var SomeVar = <?php echo $variable1; ?>;
<?php
$variable1=300;
$variable2=600;
// and so on
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head></head>
<body>
<!-- blabla, some HTML, some JavaScript, etc. -->
  if (blah.blah==(something)){
<?php
  $phpvar = 20;
  // some other PHP code
  echo $phpvar;
?>
  }
</body>
</html>
等等

希望这有帮助

像这样的事情:

var SomeVar = <?php echo $variable1; ?>;
<?php
$variable1=300;
$variable2=600;
// and so on
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head></head>
<body>
<!-- blabla, some HTML, some JavaScript, etc. -->
  if (blah.blah==(something)){
<?php
  $phpvar = 20;
  // some other PHP code
  echo $phpvar;
?>
  }
</body>
</html>
有许多不同的方法可以实现这一点,有些人可能会用一种更符合PHP习惯的方法来回答。我已经有一段时间没有使用PHP了。基本上,我在这里做的是几件事:

我已经将PHP代码与HTML标记分离了一点。在可读性、性能等方面,这通常优于大型echo语句。不需要回显大量静态HTML,只需将其视为PHP标记之外的常规HTML即可。这将使开发和阅读变得更加容易,因为您不必在HTML代码中转义或处理PHP字符串。 我为页面中间的代码添加了第二个PHP标签。我想你不只是想分配一个变量,你可以。您在该段代码中回显的任何内容都将在呈现的HTML输出的该部分中结束。您还可以围绕HTML编写循环,这将重复它,就像它是PHP代码的一部分一样,等等。 主要的事情是保持PHP代码在上下文上与它发出的HTML/JavaScript分离。PHP代码在浏览器中呈现页面之前在服务器上进行处理。一旦页面被交付到浏览器,PHP代码就完成了,实际上不再存在。此时,浏览器中呈现并执行的是一个普通的HTML/JavaScript页面。虽然还不清楚您在问题中最终生成的HTML/JavaScript中实际要做什么,但您需要确保在最终代码中清晰易懂,不要试图将JavaScript与PHP混合使用。至少在不理解分离并相应地使用它的情况下是这样,比如AJAX调用