2012-04-26 92 views
0

我爲使用Indexhibit或Wordpress的客戶做了幾個網站。我一直得到相同的'我在哪裏登錄?'來自他們的電子郵件,因此想要在我的網站上創建一個簡單的轉發表單,客戶可以在其中輸入URL,選擇Wordpress/Indexhibit並單擊轉到並轉發到該網站。簡單的PHP表單重定向

我已經建造了一些谷歌上搜索後執行以下操作:

<?php if($_SERVER['REQUEST_METHOD'] == 'POST') : $siteid1 = $_POST['siteid1'];    header('Location: http://' . $siteid1 . '/ndxz-studio/'); else:?> 
<form action="<?php echo $_SERVER['../PHP_SELF']; ?>" method="post"> 
<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 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="siteid1" /> 
<input class="btn btn-success loginbuttons" type="submit" value="Go" /> 
</form> 
<?php endif; ?> 

然後再次以相同直接在它下面的WordPress的。

但是因爲我使用

<?php if($_SERVER['REQUEST_METHOD'] == 'POST') : $siteid1 = $_POST['siteid1'];    header('Location: http://' . $siteid1 . '/ndxz-studio/'); else:?> 

似乎只需要接受本網站上的一種形式。 (所以要麼indexhibit無法去/ ndxz工作室或WP未能去可溼性粉劑管理員)

PHP是不是我的專長所以道歉,我已經犯下任何愚蠢的錯誤

回答

3

這是因爲這一點:

<?php if($_SERVER['REQUEST_METHOD'] == 'POST') : $siteid1 = $_POST['siteid1']; 

這在您的表單中總是如此。所以,PHP執行它。 PHP從來沒有達到第二個if聲明,所以它永遠不會執行。

嘗試的if else聲明,並確保你的表單名稱是唯一

編輯:

這裏是一些示例代碼,讓你開始。

if($_POST['siteid1']) { 
    $siteid1 = $_POST['siteid1']; 
    // execute code here 
} elseif($_POST['siteid2']) { 
    $siteid1 = $_POST['siteid1']; 
    // Execute code here 
} 
+0

這就是我所苦苦掙扎的。如果表單是分開的,我如何構造IF語句? – tjh 2012-04-26 18:45:49

+0

查看上面的示例。基本上你正在檢測哪個'$ _POST'被設置。基於此,您將執行適當的代碼。 – 2012-04-26 18:52:34

+0

這是一個鏈接到文檔進一步澄清... http://us3.php.net/manual/en/control-structures.elseif.php – 2012-04-26 18:53:30