これがエントリを追加するための私のフォームです。私がやりたいことは、フォームをphpファイルに送信して処理し、エントリをxmlファイルに追加するときに、xmlファイルで取得したIDタグを自動インクリメントすることです。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Add an Entry to the Book Database</title>
<style>
table{
width:600px;
border:5px dotted black;
border-radius:10px;
padding:10px;
margin:10px;
}
</style>
</head>
<body>
<form action="addbook.php" method="post">
<table>
<tr>
<td>Title:</td>
<td><input type="text" name="title" /></td>
</tr>
<tr>
<td>Author:</td>
<td><input type="text" name="author" />(<strong>Last Name, First Name</strong>)</td>
</tr>
<tr>
<td>Publisher:</td>
<td><input type="text" name="pub" /></td>
</tr>
<tr>
<td>Edition:</td>
<td><input type="text" name="edition" /></td>
</tr>
<tr>
<td>Cover:</td>
<td><input type="text" name="cover" />(<em>put file in directory "covers", this entry should be formatted "covers/*****.jpg" <strong>with the quotation marks</strong></em>)</td>
</tr>
<tr>
<td>Genre:</td>
<td><input type="text" name="genre" />(<em>if non-fiction, format as "Non-Fiction, *****" where **** is type of non-fiction. Self-Help, Biographical, Philosophical, etc</em>)</td>
</tr>
<tr>
<td>Have I Read?:</td>
<td><input type="text" name="read" />(<em>"Yes", "No", "Partial"</em>)
</td>
</tr>
</table>
<input type="submit" value="Add Book" />
</form>
</body>
</html>
これがphpフォームハンドラーです
<?php
$title = $_POST["title"];
$author = $_POST["author"];
$pub = $_POST["pub"];
$edition = $_POST["edition"];
$cover = $_POST["cover"];
$genre = $_POST["genre"];
$read = $_POST["read"];
$xml = simplexml_load_file("books.xml");
$addbook = $xml->addChild("book");
$addbook->addChild("title", $title);
$addbook->addChild("author", $author);
$addbook->addChild("pub", $pub);
$addbook->addChild("edition", $edition);
$addbook->addChild("cover", $cover);
$addbook->addChild("genre", $genre);
$addbook->addChild("read", $read);
$dom = new DOMDocument("1.0");
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;
$dom->loadXML($xml->asXML());
$dom->save("books.xml");
header("Location:add_book_form.html");
?>
最後に、xml ファイルのサンプルを次に示します。
<book>
<title>The Alphabet of Manliness</title>
<author>Maddox</author>
<pub>Citadel Press</pub>
<edition>First, 2006</edition>
<cover>"covers/alphabetmanliness.jpg"</cover>
<genre>Humor</genre>
<read>Yes</read>
<id>0016</id>
</book>
<book>
<title>Atheist Manifesto</title>
<author>Onfray, Michel</author>
<pub>Arcade Publishing</pub>
<edition>First, 2007</edition>
<cover>"covers/atheistmanifesto.jpg"</cover>
<genre>Non-Fiction, Philosophy</genre>
<read>Partial</read>
<id>0017</id>
</book>
タイトル、作成者などを追加するという点では、すべて正常に機能します。最後の ID を確認し、ID を追加して、新しいエントリにラベルを付ける方法が必要なだけです。それはsimplexmlで可能ですか?