如果你不想提交一個表單,那麼完成這個的唯一兩個方法是在數據庫中單擊一個帶有數據的鏈接作爲查詢參數,或者使用AJAX將數據發送到服務器背景。
更新:
Javascript,像往常一樣。你可以在頁面的某個地方放上一個鏈接或按鈕,用「發送到服務器」或任何文字。腳本會從輸入字段中提取信息,然後通過AJAX調用將其發送到服務器。東西沿着這些路線(請注意,我用Mootools這一切,因爲它使生活不必做遠程調用自己容易得多):
function clickHandler() {
var img1 = $$("input[name='img1']")[0].value;
var r = new Request.JSON({
'url: 'http://yourserver.example.com/script.php',
'method': 'post',
'onComplete': function(success) { alert('AJAX call status: ' + (success ? 'succeeded': 'failed!'); },
'onFailure': function() { alert('Could not contact server'); },
'data': 'img1=' + img1
}).send();
}
,並在服務器上,你會碰到這樣的:
<?php
$img1 = mysql_real_escape_string($_POST['img1']);
$idx=1;
$sql="INSERT INTO games SET img1='$img1' WHERE id=$idx";
$result=mysql_query($sql);
echo (($result !== FALSE) ? 1 : 0);
你可能想要比這更復雜的東西,但這是AJAX應用程序的基礎。某些客戶端JavaScript提出請求,並在服務器上處理它們並根據需要返回任何數據/錯誤。
開關輸入是輸入? 如果是這樣,那麼如果<輸入不在<您發送的格式中,那麼PHP無法知道它有什麼價值... – confiq 2010-04-05 18:33:34
爲什麼要關心您是否使用表單?如果你想要一個按鈕並且你想要字段,那看起來就像是一個合理的方法。 – MJB 2010-04-05 18:38:00
使用帶有按鈕的輸入和帶有按鈕的輸入的窗體的區別在哪裏?你可以用表單數據做任何你想做的事,沒有人知道你在服務器端做什麼。 – 2010-04-05 18:39:37