想知道是否有方法通過使用PHP的表單發送「排序」的排序?有沒有什麼簡單的方法使用PHP通過電子郵件發送屏幕上的表單,而不是編寫腳本來傳遞所有值?
而不是將值傳遞給腳本進行處理和格式化,任何方式發送表單,因爲它顯示在屏幕上?
理想情況下,沒有瀏覽器窗口,只是實際的網頁本身,類似於Fireshot插件如何讓你截圖並保存它。
想知道是否有方法通過使用PHP的表單發送「排序」的排序?有沒有什麼簡單的方法使用PHP通過電子郵件發送屏幕上的表單,而不是編寫腳本來傳遞所有值?
而不是將值傳遞給腳本進行處理和格式化,任何方式發送表單,因爲它顯示在屏幕上?
理想情況下,沒有瀏覽器窗口,只是實際的網頁本身,類似於Fireshot插件如何讓你截圖並保存它。
有沒有辦法做到這一點,至少不是純粹的PHP。
可能在某些時候將當前文檔的屏幕截圖轉換爲<canvas>
元素,並將該元素髮送到服務器。但就目前而言,據我所知,在任何瀏覽器中都沒有API。
編輯:似乎有一種使用Flash的方法,雖然我不確定使用的技術here是否可用作開源。請參見Can you take a "screenshot" of the page using Canvas?
不可以。如果不安裝任何額外的插件,就不能截取用戶的瀏覽器,即使如此,PHP也無濟於事。
以下方法不會拍攝快照(如其他人所述,這是不可能的),但這是捕獲用戶單擊快照按鈕時窗體狀態的一種「方法」。這不是生產代碼,這只是解決它的一種可能的方式。我再次強調,這不是一個真正的快照,但會達到模擬目的。
您可以讓jQuery通過POST將完成的HTML表單和字段發送到解釋HTML並渲染/保存它的PHP腳本。
// Some javascript file
$('#save_button').click(function(e) {
$.ajax({
type: "POST",
url: "save_form.php",
data: "data=" + $('#form_id').html(),
success: function(msg){
alert("saved: " + msg);
}
});
});
然後在PHP文件save_form.php(您想爲ID的快照不知何故,無論是從Ajax請求自動遞增的值,或發送ID(時間戳,IP等)
<?php
// connect to db
// bla bla bla - you would obviously clean the POST data before insertion
$result = mysql_query("INSERT INTO snapshots (html_source) VALUES ({$_POST['data']})");
// test result etc
// no you have the html stored, which you can view below
?>
最後都具有渲染,說snapshot_render.php
<?php
// you would make a request based on an id
$result = mysql_query("SELECT html_source FROM snapshots LIMIT 1");
$row = mysql_fetch_array($result);
echo $row['html_source'];
?>