[英]HTML hyperlink with Javascript onclick event
如何制作超鏈接以下載上傳文件,並同時更新其數據庫?
目前,我可以下載文件,但它不會更改文件狀態。
這是我的代碼
<a href="reports/<?php echo $row['file']; ?>" target="_blank" onclick="return runMyFunction();">Docx</a>
<script type="text/javascript">
Cufon.now();
function runMyFunction() {
<?php
mysql_query("update report_upload set status=1 from report_upload where year='$year' AND area='$area'",$conn);
?>
return true;
}
</script>
try1 .html
<form id='login' action='adminReportDownload.php' method='POST' enctype='multipart/form-data'>
<input type="hidden" value="<?php echo $area;?>" name="yeara">
<input type="hidden" value="<?php echo $year; ?>" name="yeary">
<input type="hidden" value="<?php echo $abc123; ?>" name="abc123">
<input type="submit" name="submit" id="submit" value="Download">
</form>
.php文件
$a = $_POST['yeara'];
$b = $_POST['yeary'];
$c = $_POST['abc123'];
$file_path = 'reports/'.$c;
$sqlABC = "UPDATE report_upload SET status='1', usedBy='$sesId' where year='$b' AND area='$a' ";
$eviABC = mysql_query( $sqlABC, $conn );
header("location: reports/$c");
因為PHP是服務器端的,所以它在瀏覽器顯示網頁之前執行。 因此,您的JavaScript函數runMyFunction
除了return true;
什么runMyFunction
包含return true;
聲明。
特別是由於嘗試從客戶端執行服務器端操作是一個壞主意,因此更好的解決方案可能是使鏈接指向指向PHP頁面的鏈接,該頁面同時發送文件並更新數據庫。
為了進一步閱讀, 有關PHP readfile
問題可能會有所幫助。
您可以通過單擊鏈接將發帖請求發送到服務器來實現。
e.preventDefault(); e.stopPropagation()
防止默認行為e.preventDefault(); e.stopPropagation()
e.preventDefault(); e.stopPropagation()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.