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.