我有一个用于我的网站的默认网站模板,如下所示:
<!-- Meta start -->
<title></title>
<meta name="description" content="" />
<meta name="keywords" content="" />
<!-- Meta end -->
<?php
require_once($sidebar_inc);
?>
<?php
// main.inc.php
require_once($main_inc);
?>
<!-- CONTENT START -->
<?php
// signup.tpl template location
$tpl = 'inc/tpl/signup.tpl';
// check if files exists and is readable
if(file_exists($tpl) && is_readable($tpl)) {
echo file_get_contents($tpl);
} else {
echo 'Template not found';
}
?>
<!-- CONTENT FINISH -->
<?php
// footer.inc.php
require_once($footer_inc);
?>
现在我的问题是,如果signup.tpl
包含file_get_contents
魔术引号,则它会添加"\
到所有表单数据中。
这是signup.tpl
模板
<h1>Sign up</h1>
<p>Welcome to SITE_NAME. To get started, you’ll need an account.</p>
<form action="signup.php" method="post">
<div class="form_settings">
<p><span>Name</span><input class="contact" type="text" name="your_name" value="" /></p>
<p><span>Email Address</span><input class="contact" type="text" name="your_email" value="" /></p>
<p><span>Message</span><textarea class="contact textarea" rows="8" cols="50" name="your_enquiry"></textarea></p>
<p style="padding-top: 15px"><span> </span><input class="submit" type="submit" name="contact_submitted" value="submit" /></p>
</div>
</form>
基本上带有魔术引号时,它看起来像这样signup.tpl
。
但是在关闭魔术引号的情况下,它不会添加斜杠,因此它看起来应该:
现在我知道你不应该有魔术引号,但是如果魔术引号全部打开,我有一个功能可以去除斜线,$_GET, $_POST, $_COOKIE, $_SESSION
所以即使魔术引号打开,我的脚本也可以工作。问题是我不知道如何解决我的问题,即如果使用魔术引号,它不会在signup.tpl
. 我只是想确保我的脚本能够工作,例如,如果我将它移动到一个有魔术引号的服务器上。
我需要做些什么来阻止魔术引号向 signup.tpl 添加斜杠?我知道我可以关闭魔术引号,但就像我说的那样,以防我更改了启用了魔术引号并且不允许关闭魔术引号的服务器。
(忽略表格,它不是仅用作显示问题的示例的注册表单)。