Xpoint
   [напомнить пароль]

как добавить запись?

Метки: [без меток]
[удл]
2011-03-08 19:07:21 [обр] alexander1111[досье]
сообщение промодерировано

Добрый вечер, форумчане)
Пишу лабу, все шло хорошо, пока не дошел до xml(
Вообщем есть простенький xml

<?xml version="1.0" encoding="utf-8"?>
<ID>
  <people>
    <FIO>ivanov</FIO>
    <OLD>35</OLD>
    <Image>scr</Image>
    <Comment>1</Comment>
  </people>
   </ID>

есть форма для добавления записей.

Вообщем незнаю как сделать, чтоб через форму запись попадала в xml файл.
Чтоб было приблизительно так к примеру

<people1>
<FIO>ivanov</FIO>
    <OLD>35</OLD>
    <Image>scr</Image>
    <Comment>1</Comment>
</people1>

<people2>
<FIO>petrov</FIO>
    <OLD>32</OLD>
    <Image>scr</Image>
    <Comment>2</Comment>
<people2>

попробовал через

$xml = simplexml_load_file('employs.xml');
    $xml->people[0]->FIO = $_POST['FIO'];
    $xml->asXML('employs.xml');

но он только и меняет значения у 1го человека.

спустя 25 минут [обр] alexander1111[досье]
сообщение промодерировано

Вообщем, сделал вот как. Подредактируйте пожалуйста код. Мой скрипт добавляет запись 1 раз и каждый раз когда через форму добавляю — он меняет у одного человека

<html>
<title>Add/Send </title>
<script language = 'javascript'>
</script>
<input type="button" value="Перейти на главную страницу" onclick="top.location.href='glav.php';" />

<body>
<b><div align='center' > <font size='5' face='Arial'>Форма добавления записи</font> </div><b>
<form method='POST'>
<table border='1' bgcolor='b2f430' align='center'>

<tr><td>ФИО       <input type='text' size='49' name='FIO'></td></tr>
<br>
<tr><td>Возраст  <input type='text' size='46 name='OLD'></td></tr>
<br>
<tr><td>Комментарий пользователя <textarea name='tet' cols='20 rows='5'> </textarea></td></tr>
<br>
<tr><td>Рисунок <input type="file" name="load" size="30"></td></tr>
<tr><td><input type="submit" name='k' value='Добавить' /></td></tr>

<?php

If(!empty($_POST['k']))

{
$xml=new DomDocument('1.0','utf-8');
   $ID = $xml->appendChild($xml->createElement('ID'));
   $people = $ID->appendChild($xml->createElement('people'));
   $FIO = $people->appendChild($xml->createElement('FIO'));
   $FIO->appendChild($xml->createTextNode($_POST['FIO']));
        $OLD = $people->appendChild($xml->createElement('OLD'));
        $OLD->appendChild($xml->createTextNode($_POST['OLD']));
   $Image = $people->appendChild($xml->createElement('Image'));
   $Image->appendChild($xml->createTextNode($_POST['Image']));
   $Comment= $people->appendChild($xml->createElement('Comment'));
   $Comment->appendChild($xml->createTextNode($_POST['tet']));
   
   
   $xml->formatOutput = true;
   $xml->save('employee.xml');
   
}




?>
</form>
</body> 

</html>

На выходе вот что

<?xml version="1.0" encoding="utf-8"?>
<ID>
  <people>
    <FIO>Петров</FIO>
    <OLD></OLD>
    <Image></Image>
    <Comment> цуц</Comment>
  </people>
</ID>
спустя 4 часа 29 минут [обр] alexander1111[досье]
вообщем , решил свою проблему.
спустя 13 часов [обр] Raziel[досье]
Идеологически правильнее запись вида:
  <people id="1"> ... </people>
  <people id="2"> ... </people>
Powered by POEM™ Engine Copyright © 2002-2005