2013-02-11 205 views
-3

我對PHP非常陌生,有人問我編輯他們的網頁,並且我花了半天精力熟讀HTML。 (我是你看到的藝術家)喘氣...PHP按鈕來更改href鏈接SUBMIT

我的問題?客戶希望他們的管理面板上有一個ON/OFF開關,它將顯示前端的兩個頁面中的任何一個。我的猜測是一個腳本,它會將父頁面上的href更改爲特定的內容。我不知道如何做到這一點。請幫忙。

我缺乏代碼的能力我不止彌補我真棒藝術技巧,所以我會欠你一個UI或兩個)

請多關照。

+2

很難猜出如何處理這個問題,不知道您的客戶端腳本是如何工作的。 – Kermit 2013-02-11 19:27:08

+3

我們不在這裏爲你做你的工作......對不起。 – 2013-02-11 19:27:09

+0

你能解釋兩頁中差異的性質嗎?客戶希望根據交換機,不同的功能還是兩者(基本上是完全不同的頁面)顯示不同的外觀? – Christian 2013-02-11 19:33:09

回答

1

您將需要一個表示ON/OFF開關值的數據庫變量。值可以是1或0或任何你想要的。我會有一個單一的PHP頁面,稱之爲page_redirect.php,它只是有一個條件測試數據庫中的標誌。它應該看起來像這樣:

<?php 
$flag = //value from database 
if ($flag == 0) 
{ 
    header("Location: url of first page"); 
} 
else 
{ 
    header("Location: url of second page"); 
} 
exit; 
?> 

這樣,如果客戶想要添加或更改頁面,您將不必在一百萬個不同的地方更改代碼。

+0

非常感謝你@ scoobah36和@Tyler!你幫助我非常好!我現在知道我的問題是相當開放的,如果不是徹頭徹尾的模糊,我很欣賞大家上學的時間,我真的這麼做!如果你需要用戶界面或津巴布韋之旅,我是你的傢伙。我知道非常感謝你,但我很感激。我希望你們都有愉快的日子。 – babusi 2013-02-11 21:16:09

+0

不包括@Marc – babusi 2013-02-11 21:16:47

1

如果我是你,我會創建jpeg的一個紅色和其他白色......或其他,然後根據每個提交創建會話,或者你可以說。

<?php 

if(isset($_SESSION['on']) && !empty($_SESSION['on'])) { 
echo "<img src='red.jpg' /> "; 
}else { 
echo "<img src='yellow.jpg' />"; 
} ?> 

上面的代碼guaratees你,如果「上的」會話設置,它會變成紅色,否則,它將永遠是黃色。現在

,與按鈕,如何打開和關閉

的事情,我想活躍的會話,你可以做這樣的事情下面。

<?php 

if(isset($_POST['on'])) { 
$_SESSION['on'] = true; 
}else { 
$_SESSION['on'] = false; 

} 
?> 
1

這實際上不是最簡單的任務,你最終可能會不得不向你的朋友/客戶承認你無法做到這一點。我不能只爲你編寫代碼,因爲根據現有的源代碼實現的代碼會有所不同 - 但是如果你願意花時間閱讀PHP手冊並希望學習,我可以指出你的方向。

管理頁面上的按鈕需要在Web服務器上保存一個值,告訴最終用戶內容要顯示的內容(您的案例爲第1頁或第2頁)。這樣做的最自然的方式是使用php將值存儲在數據庫中,通常是MySQL。這將需要您花一些時間學習MySQL的基本用法,但您的客戶端Web服務器需要MySQL支持和一個可連接到的活動數據庫。

另一種方法是將信息存儲在服務器上的文件中。在PHP中,您可以使用文件命令來寫入數據。有PHP網站上的例子,從這裏開始:

http://www.php.net/manual/en/ref.filesystem.php

看的fopen,FWRITE,FREAD和FCLOSE。如果您選擇該方法,它們就是您需要的命令。

但是,當您編寫數據時,最終用戶所看到的頁面將不得不加載它(使用數據庫查詢或fopen,fread和fclose),然後可以對存儲在文件中的值進行操作。一個簡單的方法來改變看到哪個頁面將存儲兩個獨立的頁面作爲PHP文件,有第三個PHP頁面,客戶端實際上看到並使用PHP的「包括」功能加載正確的文件取決於您加載的數據。即類似的東西:

if ($page_type == 0) 
{ 
    include "page_1.php"; 
} 
else 
{ 
    include "page_2.php"; 
} 

至少,這是我能想到的最簡單的方法。

1

有很多的方式,從動態對jQuery來靜態PHP:

JQUERY:

首先獲得您的按鈕:

<button id="i1">Show Page 1</button> 
<button id="i2">Show Page 2</button> 
<div id="loadhere"></div> 

現在,使用jQuery在加載網頁特定div。

$("#i1").click(function(){ 
$("#loadhere").load("page1 link here"); 
}); 
$("#i2").click(function(){ 
$("#loadhere").load("page2 link here"); 
}); 

PHP:

$page = ($selected_page == 0 ? page1:page2) 
include("$page.php"); OR header("Location:$page.php");