dodawanie elementow xml przez php

0

Witam,

Chciałam za pomocą php dodawac nowe elementy do dokumentu xml, znalazłam na forum jak to zrobić: http://4programmers.net/Forum/PHP/107173-rejestracja_uzytkownika_w_oparciu_o_php_i_xml , i sztuczka działa w jednym skrypcie, natomiast w innym pojawia się problem podczas tworzenia pierwszego elementu, program jakby zatrzymuje się i nie wykonuje kolejnych czynności

oto kod działającego skryptu:

 <?php

session_start();
if (isset($_SESSION["il_wysw"])){
   $_SESSION["il_wysw"]++;
}
else{
   $_SESSION["il_wysw"]=1;
}
echo $_SESSION["il_wysw"];

echo "czy uwierzytelniony ".$_SESSION["logged_in"];

/*unset($_SESSION["il_wysw"]);
$_SESSION['il_wysw'] = 1;
echo $_SESSION['il_wysw']:*/


$name = $_POST['username'];
$pw = $_POST['password'];

$xml = simplexml_load_file('uzytkownicy.xml');

foreach ($xml->user as $user)
{
if($user->login == $name) {
if($user->password == md5($pw)){
echo "zostales poprawnie zalogowany";
$logged_in = true;
echo "czy uwierzytelniony ".$_SESSION["logged_in"];
$_SESSION["logged_in"] = $_POST['username'];
}
else if($user->password != md5($pw)){
echo "niepoprawny login lub haslo";
}

$login_wolny++;
}
       $counter++;
}
       if ($login_wolny == 0)
       {                        
                       $user = $xml->addChild('user'); 
                       $user->addChild('login', $name);
                       $user->addChild('password', md5($pw));
                       $user->addChild('id', $counter+1);

                       $file = $xml -> asXML();
                       $open = fopen('uzytkownicy.xml', 'w+');
                       fwrite($open, $file);
                       fclose($open); 
echo "gratulacje, poprawnie zarejestrowales sie";

       }

?>   

a to fragment skryptu nie działa

 if(isset($_SESSION["logged_in"]) && !isset($_POST['private'])){
echo "jestem w ifie</br>";

$xml = simplexml_load_file('zdjecia.xml');

$user = $xml->addChild('img');

$user->addChild('title', $_POST['zmienna_post']);
$user->addChild('user id', $idNumber);
$user->addChild('watermark', $_POST['watermark']);
$user->addChild('image', "images/".$_FILES['plik']['name']);
                       
                       $file = $xml -> asXML();
                       $open = fopen('zdjecia.xml', 'w+');
                       fwrite($open, $file);
                       fclose($open);
echo "done!";
} 

problem pojawia sie tu:

 $user = $xml->addChild('img'); 

zauważyłam, że gdy już raz zostanie dodany nowy element w zdjecia.xml kolejny nie jest dodawany i następuje to zatrzymanie programu.

0

Problem rozwiązałam sama, do zamknięcia.

0

Co było przyczyną problemu?

1 użytkowników online, w tym zalogowanych: 0, gości: 1