Pasek boczny
Konto
Konto
Szukaj
Szukaj
Ustawienia
Ustawienia
Szukaj

Szukaj w:



Zaawansowane wyszukiwanie
Ustawienia
Przełącz na wersję mobilną
Motyw
Język
Portale internetowe Kissdigital.pl - rozwiązania mobilne Kofeina sklep
Projekt, budowa i promocja - budujemy kompleksowo portale internetowe w oparciu o Drupal. Zaawansowane aplikacje mobilne - bogate portfolio. Dostarczamy czystą kofeinę, z której możesz sam przygotować "energetyka" takiego jak lubisz.




Wykonywanie poleceń PHP bez przeładowania strony
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Subskrybuj ten wątek
kszere
Przyjaciel
Offline

Reputacja: 14

 0     0    
1   10-11-2013, 14:31   
Edytuj ten post      Cytuj     
W jaki sposób mogę to zrobić by z formularza przesłać dane do drugiego pliku, który to wykona?
GoOx
Przyjaciel
Offline

Reputacja: 98

 0     0    
2   10-11-2013, 14:42   
Edytuj ten post      Cytuj     
Przy pomocy jquery możesz przechwycić kiedy użytkownik naciśnie przycisk i przeładować plik. Następnie jeśli te dane mają się wyświetlać też na tej samej stronie konieczne będzie odświeżanie pliku który zostanie załadowany również przy pomocy jquery.
kszere
Przyjaciel
Offline

Reputacja: 14

 0     0    
3   10-11-2013, 21:29   
Edytuj ten post      Cytuj     
Ten pierwszy główny plik wgl ma się nie przeładowywać. W jaki sposób to najprościej zrobić z użyciem czego? Dotychczasowe rozwiązanie wywala mnóstwo błędów mimo, że polecenie zostało poprawnie wykonane.

Jak uda mi się to ogarnąć to na moim blogu pojawi się wpis o moim projekcie 1
GoOx
Przyjaciel
Offline

Reputacja: 98

 0     0    
4   10-11-2013, 22:59   
Edytuj ten post      Cytuj     
Generalnie robisz tak.

Jest główny plik na którym jest formularz. Po naciśnięciu np wyślij, uruchamiamy plik. Aby to miało jakieś ręce i nogi można dodać aby plik który miałby wyświetlać dane należało by odświeżać z jakąś częstotliwością lub z opóźnieniem.

Tutaj jest kawałek kodu który kiedyś napisałem:

Kod PHP:
<script type="text/javascript">
    $(function(){
     $(
"#ajax-post").submit(function() {
      var 
input = $("input[name=jakies_pole]").val();
      
data "jakies_pole=" jakies_pole;
      
      if(
jakies_pole != "") {
      $.
ajax({
       
type"POST",
       
datadata,
       
url"plik_ktory_wykonuje.php",
       
success: function(){
         $(
'#jakies_pole').val(''); // wyzerowanie formulaża
       
}
      });
      }
      else {  
// jeśli formularz jest pusty
      
$('div.error').fadeIn(400);
      
setTimeout(function(){ $("div.error").fadeOut(400) }, 4000);  
      }
      return 
false
        });
    });
    </
script

Oczywiście w sekcji head dodajemy bibliotekę jquery.
kszere
Przyjaciel
Offline

Reputacja: 14

 0     0    
5   11-11-2013, 00:28   
Edytuj ten post      Cytuj     
Zamiast #ajax-post daje np. #cmd_command, a w formularzu dodaję id="#cmd_command". W action dodaję odniesienie do tego pliku (drugiego) czy pozostawiam puste?
Kod PHP:
<script type="text/javascript">
    $(function(){
     $(
"#cmd_command").submit(function() {
      var 
input = $("input[name=cmd]").val();
      
data "cmd=" cmd;
      
      if(
cmd != "") {
      $.
ajax({
       
type"POST",
       
datadata,
       
url"dane/cmd_process.php",
       
success: function(){
         $(
'#cmd').val(''); // wyzerowanie formulaża
       
}
      });
      }
      else {  
// jeśli formularz jest pusty
      
$('div.error').fadeIn(400);
      
setTimeout(function(){ $("div.error").fadeOut(400) }, 4000);  
      }
      return 
false
        });
    });
</
script
formularz:
Kod PHP:
    <form id="#cmd_command" method="post" action="dane/cmd_process.php">
        <
input type="submit" value="Wykonaj" class="input" style="width: 67px;display: table-cell;padding: 15px 0px 15px 0px;">
        <
input type="text" name="cmd" class="input" style="display: table-cell;width: 100%;" />
    </
form

Dodam, że na stronie mam kilka formularzy z tymi samymi polami.
GoOx
Przyjaciel
Offline

Reputacja: 98

 0     0    
6   11-11-2013, 11:30   
Edytuj ten post      Cytuj     
Powinno być:

Kod PHP:
var input = $("input[name=cmd]").val();
      
data "cmd=" input;


if(
input != "") { 

W pliku (w twoim przypadku cmd_process.php) trzeba wykonać zwykły kod php, staraj się nie dodawać znaczników html, ponieważ ten plik będzie jako wykonawczy. W pliku dajemy zwykłe POST i przydało się by jakieś zabezpieczenie np IF($zmienna != "") aby uniknąć pustych wpisów jakby ktoś ręcznie dostał się do pliku.
kszere
Przyjaciel
Offline

Reputacja: 14

 0     0    
7   11-11-2013, 23:02   
Edytuj ten post      Cytuj     
Już działa, Comandeer pomógł.




Zaloguj się lub zarejestruj, aby odpowiedzieć w temacie.
Dołącz do naszej społeczności!


Zarejestruj się
Posiadasz konto? Kliknij poniżej.


Zaloguj się


Użytkownicy przeglądający ten wątek: 1 gości

Centrum napraw komputerów Warszawa ▪ Apartamenty w Kościelisku ▪ Szkolenia dla farmaceutów ▪ Optyka myśliwska

Portal  Kontakt  Pomoc  Facebook 
© CentrumWindows
Polskie tłumaczenie © 2007-2016 Polski Support MyBB
Silnik forum MyBB, © 2002-2017 MyBB Group
Biznes-Host