Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX][JavaScript][PHP] Zmienne do pliku na serwerze.
Forum PHP.pl > Forum > Przedszkole
NajpierwSieNaucz
Witam,


Cel jaki chce zrealizować to przesłać wartości na serwer lokalny do pliku konfiguracyjny. Aktualnie zrobiłem przyciski, które wykonują dany program w pythonie, który znajduje się na serwerze.

plik index.php

  1. <div id="mybody">
  2.  
  3. <!--<input type="submit" class="button" name="insert" value="insert" /> !-->
  4. <input type="submit" class="button" name="select" value="Zczytaj temperature" />
  5. <input type="submit" class="button" name="insert" value="Zapisuj do pliku" />
  6. <input type="text" class="button" name="warunek1" value="py"/>
  7. <img src="http://szczegielniak.net46.net/wykres.php">
  8.  
  9. <a href="http://jquery.com/">jQuery</a>
  10. <script src="jquery.js"></script>
  11. <script>
  12. $(document).ready(function(){
  13. $('.button').click(function(){
  14. var clickBtnValue = $(this).val();
  15. var ajaxurl = 'ajax.php',
  16. data = {'action': clickBtnValue};
  17. $.post(ajaxurl, data, function (response) {
  18. // Response div goes here.
  19. alert("action performed successfully3");
  20. });
  21. });
  22.  
  23. });
  24. </script>
  25. </div>


plik ajax.php
  1. <?php
  2. if (isset($_POST['action'])) {
  3. switch ($_POST['action']) {
  4. case 'Zapisuj do pliku':
  5. insert();
  6. break;
  7. case 'Zczytaj temperature':
  8. select();
  9. break;
  10. case 'warunek1':
  11. warunek();
  12. break;
  13. }
  14. }
  15.  
  16. function select() {
  17. echo "The select function is called.1";
  18. exec ("python sql.py");
  19. }
  20.  
  21. function insert() {
  22. echo "The insert function is called.2";
  23. [b] $zmienna = $_POST['']; [/b] //Nie wiem jak przenieść tutaj zmienną z textboxa.
  24. exec ("python cipa.".$zmienna);
  25. }
  26.  
  27. ?>



Chciałbym abyście podpowiedzieli mi jak mogę zmienne z textboxów przenieść w jakikolwiek sposób do pliku konfiguracyjnego (ConfigParser.py) na serwer, które później inny program w pythonie je wykorzysta.

Mam nadzieję, że dobrze okresliłem swój problem.

Pozdrawiam.
modern-web
  1. $zmienna = $_POST['tutaj_wstawiasz_wartość_atrybutu_name'];


Jeżeli nic Ci to nie mówi, rzuć okiem na przykład:

  1. <form action="" method="post">
  2. <input type="text" name="sample" />
  3. <input type="submit" value="Zapisz" />
  4. </form>

  1. $zmienna = $_POST['sample'];


Takie żądanie wyśle Ci wartość z pola "sample" na adres podany w action (jeżeli puste to na tą na której się aktualnie znajdujesz), a skrypt PHP odbierze wartość z globalnej tablicy $_POST i przypisze do zmiennej $zmienna.
NajpierwSieNaucz
W index.php mam kod

  1. <input type="text" class="button" name="warunek1" value="py"/>

Czyli na sztywno ustawione, że warunek1 przyjmuje wartość "py".

w ajax.php mam:
  1. function insert() {
  2. echo "The insert function is called.2";
  3. //$zmienna = $_POST['warunek1'];
  4. $zmienna = "py";
  5. exec ("python cipa.".$zmienna);
  6. }


Zakomentowany $_POST z warunek1. Bez zmian działa. Jak zmienie aby komentarzem była zmienna z "py" a bez komentarza warunek1 niestety nie działa :C



--------------------------------------------------------

Znalazłem skrypt, który przechwytuje zmienne z tekstboxów do $_POST. Problem teraz leży jak dodać opcję aby skrypt był wykonywany lokalnie ajaxem tj wyżej, że wpiszę python skrypt.py w tekstboxie i on się wykona gdyż samo exec ("python cipa.py"); się nie wykonuje.

  1. <script>
  2. function postStuff(){
  3. // Create our XMLHttpRequest object
  4. var hr = new XMLHttpRequest();
  5. // Create some variables we need to send to our PHP file
  6. var url = "xhr.php";
  7. var fn = document.getElementById("fname").value;
  8. var ln = document.getElementById("lname").value;
  9. var vars = "firstname="+fn+"&lastname="+ln;
  10. hr.open("POST", url, true);
  11. hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  12. // Access the onreadystatechange event for the XMLHttpRequest object
  13. hr.onreadystatechange = function() {
  14. console.log(hr);
  15.  
  16. if(hr.readyState == 4 && hr.status == 200) {
  17. var return_data = hr.responseText;
  18. document.getElementById("status").innerHTML = return_data;
  19. }
  20. }
  21. // Send the data to PHP now... and wait for response to update the status div
  22. hr.send(vars); // Actually execute the request
  23. document.getElementById("status").innerHTML = "processing...";
  24. }
  25. </script>

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.