0

javascriptで編集できるテーブルを含むhtmlページ(database.html)があります。次のPHPスクリプトは、ページの保存に使用されます。

PHPスクリプトは、更新されたバージョンのdatabase.htmlを保存し、新しいバージョン(同じファイル)にリダイレクトします。

問題は、2回目に保存を押したときに機能せず、1回目だけ機能することです。

問題が何であるかについて何か考えはありますか?

HTML:

<!DOCTYPE html><head>
<title>Database</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
#textarea_database {
display:none;
}
</style>
<script src="js.js"></script>
</head>
<body>

<a id="a_save" href="#">Save</a>

<form id="form_database" method="post" action="save.php">
<textarea id="textarea_database" name="textarea_database"></textarea>
</form>

<div id="contenteditable" contenteditable="true">
Write something and press save...
</div>

</body>

JavaScript:

window.onload = function () {

    var a_save = document.getElementById('a_save'),
        form_database = document.getElementById('form_database'),
        textarea_database = document.getElementById('textarea_database');

    a_save.onclick = function () {
        textarea_database.value = document.documentElement.innerHTML;
        form_database.submit();
    }
}

PHP:

<?php

// the textarea contain all th html
$textarea_database =  $_POST["textarea_database"];

// add doctype since javascript document.documentElement.innerHTML dont get it
$textarea_database = '<!DOCTYPE html>' . $textarea_database;

// update the html database file
$open_database = fopen('database.html','w+');
fputs($open_database,$textarea_database);
fclose($open_database);


// redirect to the uppdated database (timestamp prevent browser cache)
$the_time = date('Y-m-d-H-i-s');
$url_and_time = "database.html?" . $the_time;
header("Location: $url_and_time ");
exit;

?>
4

0 に答える 0