标记之间的PHP全局变量


PHP global variables between tags

因此,在我的php文件中,我有多组打开和关闭php标记。它基本上看起来像这样:

<input id="myID" type="text" value="<?php 
$value="x";
echo $value;
?>">
<input id="yourID" type="text" value="<?php echo $someValue; ?>"

在第二组php括号中是否有引用$value的内容?我尝试使用GLOBAL['index']来引用$value,但我得到了一个未定义的索引错误。

感谢任何帮助或指导。

只需使用echo $value

变量上下文不会因为重新打开了PHP标记而改变。<?php?>只是解析器的标志,与代码在它们内部的操作无关。

由于您才刚刚开始,我还建议您研究Smarty这样的模板引擎。这将帮助您将应用程序逻辑与输出分离。此外,请确保对HTML上下文中使用的任何任意数据使用htmlspecialchars(),以确保保留字符被转义,并且不会创建任何XSS攻击点。

PHP的变量范围是函数级。关闭<?php ... ?>代码块不会更改您的作用域级别。

例如

<html>
<?php $x = 'foo'; ?>
<body>
<?php echo $x; ?>

将按预期输出CCD_ 8。如果你使用的是函数,那就另当别论了:

function foo() {
   $x = 'foo';
}
foo();
echo $x;  // undefined variable

无论使用多少CCD_ 9代码块,这一点都不会改变。