我有这样的表单输入。但它正在显示
注意:第95行的C:\ xampp \ htdocs \ testpage \ index.php中的数组到字符串转换
<form class='signupform' action='<?php echo htmlspecialchars('".$_SERVER."'['PHP_SELF']);?'> method='post'>
我在这里看过很多帖子,但无法解决。
答案 0 :(得分:2)
从你的代码:
<?php echo htmlspecialchars('".$_SERVER."'['PHP_SELF']);?'>
你在做的是:
htmlspecialchars(subject)
但是subject
由混乱的字符串和变量引用组成,所以从数组开始($_SERVER
)包含你想要的元素处理,由方括号(['PHP_SELF']
)中的键表示。但你所拥有的是一个连贯.
和两者之间的几个引用所以你正在做的是
htmlspecialchars(array + quote + string )
显然无效。
所以要修复它,你删除多余的引号并删除数组和它的键指示符之间的连接。
htmlspecialchars('".$_SERVER['PHP_SELF'])
这样更好但仍然没有,你现在必须整理其他引号,因为你的函数不包含任何字符串(它只是你在这里工作的数组变量) ),您的代码中不需要任何引号:
htmlspecialchars($_SERVER['PHP_SELF'])
所以要结束关于一个非常小的问题的长篇文章,你可以更正原始代码:
action='<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>'>
值得注意的是,PHP_SELF
可能很容易被滥用,不应在此上下文中使用,最好使用其他类似的过程,例如$_SERVER['SCRIPT_NAME']
您必须跟踪您的公开报价,并尽量避免混合引号。您还应该使用PHP
跟踪正确关闭?>
代码作为原始代码而忘记了>
,以便服务器将HTML解释为PHP
。
答案 1 :(得分:0)
使用
<form class="signupform" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>" method="post">
或
<form class="signupform" action="" method="post">