對不起,可怕的標題;我不確定如何正確地說出這些。PHP:如何將變量發送到當前頁面?
基本上我有一個按鈕,當它被按下時,它會調用頁面頂部的一個函數。
當按下按鈕時,如何將變量(如$($ id,$ name,$ time等))發送給上述函數?
例如: if(button is pressed) - > function();
對不起,可怕的標題;我不確定如何正確地說出這些。PHP:如何將變量發送到當前頁面?
基本上我有一個按鈕,當它被按下時,它會調用頁面頂部的一個函數。
當按下按鈕時,如何將變量(如$($ id,$ name,$ time等))發送給上述函數?
例如: if(button is pressed) - > function();
只需使用一個提交按鈕,然後添加代碼,你的功能if(isset($_GET['id'])) { // run you function }
我不想使用$ _GET,因爲任何人都可以添加ID ...唯一能夠執行此功能的人是具有某種權限的用戶。有沒有什麼方法可以使用$ _GET並確保用戶具有適當的權限? –
這將不得不成爲你的一部分功能,以確定他們是否有權限,你沒有分享任何額外的信息,所以我可以做的最好是猜測 'if(isset($ _ GET ['id'])){//檢查是否允許然後運行你的功能}其他{你的想法}' – chop62
基本上,這是我做的:https://gyazo.com/fb2a81d7bfdac37ff281f4c3de6de083和:https://gyazo.com/d00fb035ee4235369872bea384623f33 ...工作很棒! –
多種方式來完成你的任務:
您可以使用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 [ '時間']
或者你可以添加變量的URL,然後使用GET方法從PHP函數:
<a href="/?id=idvalue&name=namevalue&time=timevalue"><button>click me</button></a>
但是這種方法並不安全。
這些是基本的方法,或者您可以使用JavaScript來完成此任務。希望它能幫助你。
如果您的功能要在服務器上執行。 然後假設你的按鈕是'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>
我希望這能有一定的幫助。
變量已經從別的東西中定義出來了。這就是爲什麼我有點困惑,因爲沒有實際的投入。 –
如果他們已經定義,那麼你不需要:使用:。並且寫下你需要什麼才能讓你形成適當的內容。 – Michel
那麼這樣嗎? https://gyazo.com/56711887461fdd7d7062d28e0184e247然後我可以使用$ _POST來獲得像上面那些變量? –
之前由於這個問題十分不清楚,我將介紹基本知識。
你不能在HTML中有一個按鈕直接在PHP中觸發一個函數。這不是PHP的工作原理,PHP腳本不是一個可以與之交互的正在進行的應用程序。當調用PHP頁面時,腳本將運行,生成輸出並退出。
爲了與用戶輸入交互,也就是接收來自用戶的變量,您必須調用PHP腳本,該腳本將用HTTP調用本身中的數據處理用戶輸入。
這可以通過多種方式完成,並且可以由生成頁面的腳本來處理,在那裏沒有問題。典型的做法是使用<form>
。
你也可以做一些非常簡單,只是一個鏈接,通過做<a href="script.php?variable=value">Click</a>
,腳本script.php
將被調用,超全局$_GET['variable']
將攜帶價值value
。你已經可以做很多事情了。請記住在使用前檢查它是否爲isset()
。
A <form>
可能包含文本字段,隱藏字段,複選框以及您在填寫表單時通常會看到的所有內容。當您提交表單時,這些字段中的數據將通過GET
或POST
方法發送到腳本,具體取決於您在<form method=get>
或<form method=post>
中指定的內容,並且PHP腳本將能夠通過讀取超全域數據庫來處理此信息$_GET
或$_POST
或$_REQUEST
這是兩者的組合,如果表格是關於發送文件,則加上$_FILES
。
<form>
還允許您通過使用屬性action
(如<form action=script.php>
)指定哪些腳本(不是函數)將處理該呼叫。
我不會給你舉例說明如何使用<form>
,我相信你可以在Google上找到很多。
您可以使用AJAX進行更多交互和優化,這是一種與服務器交換數據的方法,無需重新加載整個頁面,但這是一個需要PHP和JavaScript之間交互的更復雜的野獸。在進入之前熟悉基礎知識。
調用JavaScript函數或PHP函數? –
分享你的代碼然後問這個問題。 –
我的代碼很混亂,因爲我正在努力想要如何做到這一點。該代碼是另一個文件中包含的php函數。 –