0

これがエントリを追加するための私のフォームです。私がやりたいことは、フォームを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で可能ですか?

4

1 に答える 1