2012-05-02 25 views
0

サイトを管理するためにWordpressまたはIndexhibitのいずれかを使用するクライアントのための「シンプルな」リダイレクトを作成しようとしています。同じページのx/y URLにリダイレクトされる2つのPHPフォーム

私は入力自分のドメインにそれらを許可するように設定していると(私は人々が忘れてどのように多くで驚いていますが、ちょっと浩が、これは私の解決策ある)を

私が得たことは、それぞれの管理領域にリダイレクトしてい1つのリダイレクトでうまくいきましたが、以前のSOの投稿の裏側からif/elseifを使って両方を統合しようとしましたが、Parseに失敗しました。

私が間違っていたことは何ですか?

あなたは三元および非三項演算子を混同している
<?php 
if ($_POST['indexhibit_url']) { 
if($_SERVER['REQUEST_METHOD'] == 'POST') : $indexhibit_url = $_POST['indexhibit_url']; header('Location: http://' . $indexhibit_url . '/ndxz-studio/'); 
} 
elseif ($_POST['wordpress_url']) { 
if($_SERVER['REQUEST_METHOD'] == 'POST') : $wordpress_url = $_POST['wordpress_url']; header('Location: http://' . $wordpress_url . '/wp-admin/'); 
} 
?> 


<form action="<?php echo $_SERVER['../PHP_SELF']; ?>" method="post" name="indexhibit_url"> 

<h3>Indexhibit</h3> 

<p class='formp'>If your website is powered by <em>Indexhibit</em> submit your URL to be forwarded to your admin area</p> 
<input class='loginforms' type="text" value='i.e. your-domain-name.com' onclick="this.value='';" onfocus="this.select()" onblur="this.value=!this.value?'i.e. your-domain-name.com':this.value;" name="indexhibit_url" /> 
<input class="btn btn-info loginbuttons" name="index_submit" type="submit" value="Go" /> 

</form> 

<form action="<?php echo $_SERVER['../PHP_SELF']; ?>" method="post" name="wordpress_url"> 

<h3 style='margin-top:2em;'>Wordpress</h3> 

<p class='formp'>If your website is powered by <em>Wordpress</em> submit your URL to be forwarded to your admin area</p> 
<input class='loginforms' type="text" value='i.e. your-domain-name.com' onclick="this.value='';" onfocus="this.select()" onblur="this.value=!this.value?'i.e. your-domain-name.com':this.value;" name="wordpress_url" /> 
<input class="btn btn-info loginbuttons" name="wp_submit" type="submit" value="Go" /> 

</form> 

<?php endif; ?> 

答えて

0

だけで、通常の場合/他の構文を使用します。

if ($_POST['indexhibit_url']) { 
    if($_SERVER['REQUEST_METHOD'] == 'POST'){ 
     $indexhibit_url = $_POST['indexhibit_url']; 
     header('Location: http://' . $indexhibit_url . '/ndxz-studio/'); 
    } 
}elseif ($_POST['wordpress_url']) { 
    if($_SERVER['REQUEST_METHOD'] == 'POST'){ 
     $wordpress_url = $_POST['wordpress_url']; 
     header('Location: http://' . $wordpress_url . '/wp-admin/'); 
    } 
} 

と、このようにPHP_SELFでの作業、それはあなたのコードを作ることを念頭に置いておくとxss注射の脆弱性

+0

パーフェクト!はい、私はPHPに新しいので、まだ多くのエラーを作ります。しかし、これはコードの最後から<?php endif;?>を取り除くことで完全に動作します。多くのお礼 – tjh

+0

構文エラーを避けるために、netbeans、eclipseなどのIDEを使用する必要があります。 – user1266222

関連する問題