2016-12-23 68 views
0

對不起,可怕的標題;我不確定如何正確地說出這些。PHP:如何將變量發送到當前頁面?

基本上我有一個按鈕,當它被按下時,它會調用頁面頂部的一個函數。

當按下按鈕時,如何將變量(如$($ id,$ name,$ time等))發送給上述函數?

例如: if(button is pressed) - > function();

+1

調用JavaScript函數或PHP函數? –

+1

分享你的代碼然後問這個問題。 –

+0

我的代碼很混亂,因爲我正在努力想要如何做到這一點。該代碼是另一個文件中包含的php函數。 –

回答

1

只需使用一個提交按鈕,然後添加代碼,你的功能if(isset($_GET['id'])) { // run you function }

+0

我不想使用$ _GET,因爲任何人都可以添加ID ...唯一能夠執行此功能的人是具有某種權限的用戶。有沒有什麼方法可以使用$ _GET並確保用戶具有適當的權限? –

+0

這將不得不成爲你的一部分功能,以確定他們是否有權限,你沒有分享任何額外的信息,所以我可以做的最好是猜測 'if(isset($ _ GET ['id'])){//檢查是否允許然後運行你的功能}其他{你的想法}' – chop62

+0

基本上,這是我做的:https://gyazo.com/fb2a81d7bfdac37ff281f4c3de6de083和:https://gyazo.com/d00fb035ee4235369872bea384623f33 ...工作很棒! –

1

多種方式來完成你的任務:

  1. 您可以使用POST表單和一個提交按鈕,然後只需提交一個表單發送變量。

    <form action="" method="POST"> <input type="hidden" name="id" value="idvale" /> <input type="hidden" name="name" value="idname" /> <input type="hidden" name="time" value="idtime" /> </form>

    然後得到PHP函數的值:$ _ POST [ '身份證'],$ _ POST [ '名'],$ _ POST [ '時間']

  2. 或者你可以添加變量的URL,然後使用GET方法從PHP函數:

    <a href="/?id=idvalue&name=namevalue&time=timevalue"><button>click me</button></a>

但是這種方法並不安全。

這些是基本的方法,或者您可以使用JavaScript來完成此任務。希望它能幫助你。

1

如果您的功能要在服務器上執行。 然後假設你的按鈕是'submit'類型的,你可以在表單中傳遞你的參數。然後,你可以使用類似讓他們:

$id = $_POST['id']; 
$name = $_POST['name']; 
$time = $_POST['time']; 

在這種情況下,你會發出類似的東西從客戶端:

<form action="yourPage.php" method="post"> 
    <input type="text" name="id" value="DS-YourID-324-Whatever" /> 
    <input type="text" name="name" value="your-name" /> 
    <input type="submit" value="Submit Button"> 
</form> 

我希望這能有一定的幫助。

+0

變量已經從別的東西中定義出來了。這就是爲什麼我有點困惑,因爲沒有實際的投入。 –

+0

如果他們已經定義,那麼你不需要:使用:。並且寫下你需要什麼才能讓你形成適當的內容。 – Michel

+0

那麼這樣嗎? https://gyazo.com/56711887461fdd7d7062d28e0184e247然後我可以使用$ _POST來獲得像上面那些變量? –

1

之前由於這個問題十分不清楚,我將介紹基本知識。

你不能在HTML中有一個按鈕直接在PHP中觸發一個函數。這不是PHP的工作原理,PHP腳本不是一個可以與之交互的正在進行的應用程序。當調用PHP頁面時,腳本將運行,生成輸出並退出。

爲了與用戶輸入交互,也就是接收來自用戶的變量,您必須調用PHP腳本,該腳本將用HTTP調用本身中的數據處理用戶輸入。

這可以通過多種方式完成,並且可以由生成頁面的腳本來處理,在那裏沒有問題。典型的做法是使用<form>

你也可以做一些非常簡單,只是一個鏈接,通過做<a href="script.php?variable=value">Click</a>,腳本script.php將被調用,超全局$_GET['variable']將攜帶價值value。你已經可以做很多事情了。請記住在使用前檢查它是否爲isset()

A <form>可能包含文本字段,隱藏字段,複選框以及您在填寫表單時通常會看到的所有內容。當您提交表單時,這些字段中的數據將通過GETPOST方法發送到腳本,具體取決於您在<form method=get><form method=post>中指定的內容,並且PHP腳本將能夠通過讀取超全域數據庫來處理此信息$_GET$_POST$_REQUEST這是兩者的組合,如果表格是關於發送文件,則加上$_FILES

<form>還允許您通過使用屬性action(如<form action=script.php>)指定哪些腳本(不是函數)將處理該呼叫。

我不會給你舉例說明如何使用<form>,我相信你可以在Google上找到很多。

您可以使用AJAX進行更多交互和優化,這是一種與服務器交換數據的方法,無需重新加載整個頁面,但這是一個需要PHP和JavaScript之間交互的更復雜的野獸。在進入之前熟悉基礎知識。