2012-04-09 9 views
0

私は以下のように自分のサイトのために使用し、既定のサイトテンプレートがあります。PHPマジック引用テンプレートファイルにスラッシュを追加しますか?

<!-- 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.tplfile_get_contents経由で含まれている場合、今、私の問題があります。 signup.tplが含まれている場合、それはこのようになります。ここに

はマジッククオートと 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>&nbsp;</span><input class="submit" type="submit" name="contact_submitted" value="submit" /></p> 
    </div> 
</form> 

です。

enter image description here

しかし、マジッククオートを持つことが必要として、それが見えますので、それはスラッシュを追加していないオフ:

enter image description here

今、私はあなたがマジッククオートを持つべきではありません知っているが、私は機能を持っています魔法引用符がすべて$_GET, $_POST, $_COOKIE, $_SESSIONからオンになっている場合はスラッシュを取り除くため、魔法引用符がオンの場合でもスクリプトは機能します。問題は私の問題を解決する方法がわからないことです。魔法の引用符があれば、スラッシュはsignup.tplに追加されません。私はちょうど私がスクリプトをマジック引用符をつけたサーバーに移動した場合にスクリプトが動作することを確認したいだけです。

マジッククォートを停止してsignup.tplにスラッシュを追加するには、何が必要ですか?私は魔法の引用符をオフにすることができることを知っているが、私は魔法の引用符を持っていたマジック引用符をオフにすることはできませんでしたサーバーを変更した場合、

(フォームを無視すると、問題を示すサンプルとして使用されたサインアップフォームではありません)。

答えて

2

2つの魔法の引用符の設定があります。マニュアルから:

; Magic quotes for incoming GET/POST/Cookie data. 
magic_quotes_gpc = Off 

; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc. 
magic_quotes_runtime = Off 

マジッククオート-runtiumeは同じものではありません魔法GPC引用 - 魔法の引用符 - ランタイムは、実行時にすべての入力にだけでなく、GET/POST/COOKIEグローバルを発生します。スクリプトの開始時にこの設定を無効にする必要があります。

set_magic_quotes_runtime(false); # pre 5.3 
ini_set('magic_quotes_runtime', 0); # 5.3 onwards 
+0

非常に迅速な返信をいただきありがとうございます – PHPLOVER

関連する問題