Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Nadpisywanie wartości w pliku xml - wartościami z input, Jak to zrobić w czasie rzeczywistym?
Bart123
post
Post #1





Grupa: Zarejestrowani
Postów: 105
Pomógł: 0
Dołączył: 10.05.2014
Skąd: Elbląg

Ostrzeżenie: (10%)
X----


Sytuacja jest taka. Mam plik settings.xml, w którym zawarte są ustawienia slidera - typu wysokość, szerokość itp.

Wszystkie te dane wyświetlam na stronie pobierając je z pliku. Wartości, np. Width:600 height:500 wyświetlam w polach input tak jak w formularzu.

I teraz pytanie: Czy istnieje możliwość takiego połączenia pól input z plikiem xml, by w momencie wpisywania nowej wartości np width:1000 zamiast 600, wartość width zmieniała się także w pliku settings.xml?

Bardzo proszę o pomoc.

P.S daleko mi do lenia, dlatego po napisaniu tego pytania, sam staram się znaleźć rozwiązanie. Jeżeli znajdę - powiadomię.

Próbowałem zrobić tak, żeby zmienić najpierw wartość "na siłę", ale nie wypaliło:


foreach($xml->General_Properties ->xpath("$xml->General_Properties->children") as $child ) {
$child->componentWidth->$arr["value"] = '200';
}


A żeby było jeszcze jaśniej: Oto kod, o którym mowa i z którego chciałbym zmieniać wartość value.


<html>
<head>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"
type="text/javascript"></script>

<script>
function ajax(file,wynik){
var xmlhttp;
if (window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}else{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById(wynik).innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET",file,true);
xmlhttp.send();
}
</script>


</head>

<?php
$xml=simplexml_load_file($_SERVER['DOCUMENT_ROOT'] . '/1/wp-content/flashxml/3d-carousel-menu-as3-fx/settings.xml');
$ml = "xml.php";
$wynik = "wynik";


if (!isset($_GET['ajax'])){
echo '<div class="parental">';
echo "<button class='parent' onClick='ajax(\"".$ml."?ajax=1\",\"".$wynik."\")'>General</button>";
echo '<div id="wynik">';
echo '</div>';
echo '</div>';
}
else{
foreach($xml->General_Properties ->children() as $child) { //druk dzieci tylko przy ajaxie
$arr = $child->attributes();
echo $child->getName();
echo "<br><input type='text' name='value' value=" .$arr["value"]."><br>";
}
exit();
}




?>




</html>

Ten post edytował Bart123 19.05.2014, 00:27:35
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Bart123
post
Post #2





Grupa: Zarejestrowani
Postów: 105
Pomógł: 0
Dołączył: 10.05.2014
Skąd: Elbląg

Ostrzeżenie: (10%)
X----


  1. <head>
  2.  
  3. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"
  4. type="text/javascript"></script>
  5.  
  6. <script>
  7. function ajax(file,wynik){
  8. var xmlhttp;
  9. if (window.XMLHttpRequest){
  10. xmlhttp=new XMLHttpRequest();
  11. }else{
  12. xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  13. }
  14. xmlhttp.onreadystatechange=function(){
  15. if (xmlhttp.readyState==4 && xmlhttp.status==200){
  16. document.getElementById(wynik).innerHTML=xmlhttp.responseText;
  17. }
  18. }
  19. xmlhttp.open("GET",file,true);
  20. xmlhttp.send();
  21. }
  22. </script>
  23.  
  24.  
  25. </head>
  26.  
  27. <?php
  28. $xml=simplexml_load_file($_SERVER['DOCUMENT_ROOT'] . '/1/wp-content/flashxml/3d-carousel-menu-as3-fx/settings.xml');
  29. $ml = "xml.php";
  30. $wynik = "wynik";
  31.  
  32.  
  33. if (!isset($_GET['ajax'])){
  34. echo '<div class="parental">';
  35. echo "<button class='parent' onClick='ajax(\"".$ml."?ajax=1\",\"".$wynik."\")'>General</button>";
  36. echo '<div id="wynik">';
  37. echo '</div>';
  38. echo '</div>';
  39. }
  40. else{
  41. foreach($xml->General_Properties ->children() as $child) { //druk dzieci tylko przy ajaxie
  42. $arr = $child->attributes();
  43. echo $child->getName();
  44.  
  45. echo "<br><form action='' method='POST'><input type='text' name='value' value='" .$arr["value"]."'/>";
  46. echo "<br><input type='submit' name='button2'/>";
  47.  
  48. echo "</form><br>";
  49.  
  50.  
  51. if (isset($_POST['button2']))
  52.  
  53. {
  54. $post=$_POST['value'];
  55. $file=$_SERVER['DOCUMENT_ROOT'] . '/1/wp-content/flashxml/3d-carousel-menu-as3-fx/settings.xml';
  56. $open=fopen($xml, 'w+');
  57. fwrite($xml, $post);
  58. fclose($xml);
  59. }
  60.  
  61.  
  62. }
  63.  
  64.  
  65.  
  66. exit();
  67.  
  68.  
  69. }
  70.  
  71.  
  72.  
  73.  
  74. ?>
  75.  
  76.  
  77.  
  78.  
  79.  



Plik mam otwarty. Później powinna się wykonać operacja , po czym zamykam plk. Ale nadal nie działa. Walczę z tym już tyle, że sam na to nie wpadnę. Pomóżcie.

Ten post edytował nospor 22.05.2014, 07:36:15
Powód edycji: [nospor]: poprawiam PONOWNIE bbcode
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.01.2026 - 11:32