Pemrograman XML dengan PHP

Ini tulisan sederhana untuk menambahkan data pada dokumen XML dengan PHP..
Studi kasus yang ada adalah buku tamu..

Pertama, kita buat terlebih dahulu sebuah file XML bernama “bukutamu.xml”, sebagai berikut:

<?xml version=”1.0″ encoding=”UTF-8″?>
<bukutamu>
<message>
<username>anton</username>
<email>anton@ukdw.ac.id</email>
<web>http://lecturer.ukdw.ac.id/anton</web&gt;
<pesan>hallo coba satu</pesan>
<kode>1</kode>
</message>
</bukutamu>

Kemudian untuk menambahkan data buku tamu baru adalah sebagai berikut:

file: bukutamu.html

Silahkan mengisi buku tamu sebagai berikut:<br>
<form name=”form2″ method=”post” action=”bukutamu2.php”>
<table width=”75%” border=”0″>
<tr>
<td width=”29%”>Uername</td>
<td width=”71%”><input name=”username” type=”text” id=”username” value=””></td>
</tr>
<tr>
<td>Email</td>
<td><input name=”email” type=”text” id=”email” value=””></td>
</tr>
<tr>
<td>Web / Situs</td>
<td> <input name=”web” type=”text” id=”web”>
<font color=”#FF0000″>*must use prefix ‘http://&#8217; first</font></td>
</tr>
<tr>
<td>Pesan</td>
<td><textarea name=”pesan” cols=”40″ rows=”5″ id=”pesan”></textarea></td>
</tr>
<tr>
<td> </td>
<td><input type=”submit” name=”Submit” value=”Isi Buku Tamu”></td>
</tr>
</table>
</form>

Kemudian file bukutamu2.php:

if(isset($_REQUEST[“Submit”])){
$doc = new DOMDocument;
$doc->load(‘bukutamu.xml’);
$doc->formatOutput = true;

$bukutamu = $doc->getElementsByTagName(“bukutamu”);
foreach($bukutamu as $val)
$bukutamunode = $val;

$msgnode = $doc->createElement(‘message’,”);
$msgnode = $bukutamunode->appendChild($msgnode);

$usernode = $doc->createElement(‘username’,”);
$usernode = $msgnode->appendChild($usernode);

$uservalue = $doc->createTextNode($_REQUEST[“username”]);
$uservalue = $usernode->appendChild($uservalue);

$emailnode = $doc->createElement(’email’,”);
$emailnode = $msgnode->appendChild($emailnode);

$emailvalue = $doc->createTextNode($_REQUEST[“email”]);
$emailvalue = $emailnode->appendChild($emailvalue);

$webnode = $doc->createElement(‘web’,”);
$webnode = $msgnode->appendChild($webnode);

$webvalue = $doc->createTextNode($_REQUEST[“web”]);
$webvalue = $webnode->appendChild($webvalue);

$pesannode = $doc->createElement(‘pesan’,”);
$pesannode = $msgnode->appendChild($pesannode);

$pesanvalue = $doc->createTextNode($_REQUEST[“pesan”]);
$pesanvalue = $pesannode->appendChild($pesanvalue);

$h = $doc->save(“bukutamu.xml”);

if($h > 0){
echo “<p>Terimakasih atas partisipasi Anda telah mengisi buku tamu di situs kami.<br>”;

}
}