簡體   English   中英

如何使用HTML按鈕單擊更改PHP變量?

[英]How to change a PHP variable with a HTML button click?

我試圖通過單擊HTML按鈕或其他合適的方法來更改PHP變量。

不幸的是,我無法在此處發布大部分代碼,但我將提供盡可能多的代碼。

首先,我在網站上有兩個按鈕。 它們各自調用兩個不同的javascript函數,但是它們加載相同的HTML表單。 然后根據開始時單擊哪個按鈕,將表單提交到MySQL數據庫。

我不希望兩個按鈕都加載相同的表單,而是希望它們加載不同的表單。 我想通過在用戶單擊任一按鈕時保存一個PHP變量來做到這一點。

我已經在網上進行了很多搜索,但是沒有找到直接答案。

這是一個小例子:

HTML按鈕添加測驗:

<h2>
<button id='opener' class='roundButton add' value='' onClick="OpenNewQuizDialog();">
</button>
Create Quiz
</h2>

HTML按鈕添加演示文稿:

<h2>
<button id='opener' class='roundButton add' value='' onClick="OpenNewPresDialog();
</button>
Add Presentation
</h2>

這兩個Javascript函數:

function OpenNewQuizDialog()
{
    $( "#dialog" ).dialog( "open" );
    $('#dialog').dialog({title:"Create Quiz"});
    $('#dialogtype').val("addquiz");
}

function OpenNewPresDialog()
{
    $( "#dialog" ).dialog( "open" );
    $('#dialog').dialog({title:"Create Presentation"});
    $('#dialogtype').val("addpres");
}

正在打開的HTML表單:

<div id="dialog" title="Edit Settings">
        <form name="editForm" method="post" action="createplay.php">
        <input type=hidden id='dialogid' name='dialogid' value=''>
        <input type=hidden id='dialogtype' name='dialogtype' value=''>
        <input type=hidden id='uid' name='uid' value='<?php echo $userid; ?>'>
            <div>
            Name: <input type='text' id='nameEdit' name='nameEdit' value=''>
        </div>
        <div>
            Data: <textarea id='textEdit' name='textEdit' row='10' cols='50'></textarea>
        </div>
        <input type="submit" class="roundButton upload" value="" />
        </form>
    </div>

我試過的

我嘗試將以下內容添加到HTML按鈕內的onClick部分:

quiz button: <?php $create_type = 'createquiz' ?>
presentation button: <?php $create_type = 'createpres' ?>

然后,我嘗試做出一個'if'語句,以查看單擊了哪個按鈕,因此可以顯示適當的表格。 盡管$ create_type的值始終是'createpres',因為它在頁面的最后被調用。 就像沒有調用HTML onClick一樣,正在調用PHP。

有沒有更好的方法來解決這個問題?

PHP是服務器端語言,而Javascript在客戶端中運行。 這意味着它們都分別運行。 但是,如果您希望它們一起處理,例如使用javascript獲取數據顯示,則必須使用AJAX

設置適當的值的表單控件時,不需要多余的變量

$('#dialogtype').val("addquiz");

該表格將收到以下值:

<input type=hidden id='dialogtype' name='dialogtype' value=''>

現在由$ _POST ['dialogtype'] =='addquiz')或其他值決定您的php腳本(createplay.php)並按預期處理數據

您無法通過html創建php變量,因為php是服務器端,而html是客戶端。 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM