Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Przekazywanie wartosci
Gwozdyk
post 12.01.2008, 20:37:38
Post #1





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 5.01.2008

Ostrzeżenie: (0%)
-----


Mam pytanie. Do tej pory zawsze przekazywalem wartosc z formulaza za pomoca get lub post i w action dawalem link pliku skryptu ktory mial zostac wykonany. Natomiast nie wiem jak zrobic zeby np po nacisnieciu przycisku albo linku nie przeskoczylo do innego pliku tylko poprstu wykonal sie jakis skrypt na tej samej stronie. Bede wdzieczny za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
RubiX
post 12.01.2008, 20:40:15
Post #2





Grupa: Zarejestrowani
Postów: 162
Pomógł: 6
Dołączył: 14.02.2007
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Może tak:

  1. <?php
  2. if ($_GET['akcja']=="dodaj") {
  3. // wpisujesz tutaj wpis do sql lub cokolwiek pobierajaz zmienne post
  4. } else {
  5. echo "  <FORM METHOD='POST' action='WPISZNAZWEPLIKU.php?akcja=dodaj'>
  6. //tresc formularza
  7.  </FORM>";
  8. }
  9. ?>


Albo tak:

  1. <?php
  2. extract( $_GET ); 
  3. extract( $_POST ); 
  4.  
  5. if (empty($wykonaj)) { 
  6. echo '<form method="post">
  7. tresc formularza
  8. <input type="submit" name="wykonaj" value="Zapisz"></form>'; 
  9. } else {
  10. //jakies dzialania po przeslaniu formularza np zapis do sql
  11. //inne dane...
  12. }
  13. ?>


Ten post edytował RubiX 12.01.2008, 20:44:19


--------------------
===================================

\o/ torebki
Go to the top of the page
+Quote Post
anonim1133
post 12.01.2008, 21:07:09
Post #3





Grupa: Zarejestrowani
Postów: 53
Pomógł: 5
Dołączył: 22.07.2006
Skąd: Legnica

Ostrzeżenie: (0%)
-----


Cytat
Natomiast nie wiem jak zrobic zeby np po nacisnieciu przycisku albo linku nie przeskoczylo do innego pliku tylko poprstu wykonal sie jakis skrypt na tej samej stronie.

jeżeli nie chcesz przeładowywać strony to chyba dobrym wyjściem było by zastosowanie AJAX`a ? a od tego tutaj osobny dział jest bodajże:P

Ten post edytował anonim1133 12.01.2008, 21:12:52
Go to the top of the page
+Quote Post
RubiX
post 12.01.2008, 21:08:23
Post #4





Grupa: Zarejestrowani
Postów: 162
Pomógł: 6
Dołączył: 14.02.2007
Skąd: Poznań

Ostrzeżenie: (0%)
-----


A no chyba że tak to źle przeczytałem sorki, no to pozostaje AJAX winksmiley.jpg


--------------------
===================================

\o/ torebki
Go to the top of the page
+Quote Post
Gwozdyk
post 12.01.2008, 22:50:15
Post #5





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 5.01.2008

Ostrzeżenie: (0%)
-----


Ja sie zle wyrazilem. W sumie nie chodzi o to zeby nie przeladowywal strony. Tylko zeby drugi raz wyswietlila sie ta sama strona tylko z przekazanymi wartosciami ktore uzytkownik wpisal za 1 razem. W sumie doszedlem do tego ze to nie jest trudne. Poprostu w action formy wpisujemy link do tej samej strony. Niby tak zrobilem ale cos mi nie chce dzialac. To jest strona na ktorej mozna dodac newsa wpisujac jego tresc i autora. Po kliknieciu "wyslij" wywolywana jest ta sama strona tylko tym razem zamiast cos wyswietlic serwer dokona dodania nowego wpisu do pliku. Tylko cos mi niebardzo chodzi. Podejrzewam ze problem jest tutaj:
Kod
if($autor==''||$tekst='')
tylko nie wiem jak to zapisac dokladnie. Jak sprawdzic czy strona zostala wywolana z wartosciami czy bez nich.
  1. class StrAdministracja extends Strona
  2. {
  3. function _construct()
  4. {
  5. $autor=$_POST['autor'];
  6. $tekst=$_POST['tekst'];
  7. }
  8. public function WyswietlZawartosc()
  9. {
  10. if($autor==''||$tekst='')
  11. {
  12. ?>
  13. <form action="administracja.php" method=post>
  14. <p>Dodaj newsa!</p>
  15. <table border="0">
  16. <tr>
  17. <td>Autor</td>
  18. <td align="center"><input type="text" name="autor"></td>
  19. </tr>
  20. <tr>
  21. <td>Tresc</td>
  22. <td align="center"><input type="text" name="tekst"></td>
  23. </tr>
  24. <tr>
  25. <td align="center"><input type="submit" name="Dodaj"></td>
  26. </tr>
  27. </table>
  28. <?php
  29. }else
  30. {
  31. $plik=fopen('nowosci.txt');
  32. $ciag_wejsciowy=$imie.'|'.$tekst."\nr";
  33. fwrite($plik, $ciag_wejsciowy);
  34. fclose($plik);
  35. }
  36. }
  37. }


Ten post edytował Gwozdyk 12.01.2008, 22:57:54
Go to the top of the page
+Quote Post
plurr
post 13.01.2008, 12:24:21
Post #6





Grupa: Zarejestrowani
Postów: 175
Pomógł: 12
Dołączył: 28.06.2007
Skąd: Bytom

Ostrzeżenie: (0%)
-----


  1. strona.php
  2.  
  3. <form action='strona.php' method='post'>
  4. <input type='text' name='text' /> 
  5. <input type='submit' value='wyslij' /> 
  6. </form>
  7.  
  8. <?php 
  9.  
  10. $text = $_POST['text']; 
  11.  
  12. if(!empty($text))
  13. {
  14. echo 'to jest text z formularza: '.$text; 
  15. }
  16.  
  17. ?>


Jesli cos zostalo wpisane w formularzu to wyswietli sie ten tekst pod spodem, jesli nic, to bedzie widoczny tylko formularz. Taka zasade wykorzystaj u siebie smile.gif

Ten post edytował plurr 13.01.2008, 12:25:25


--------------------
Wyobraźnia bez wiedzy może stworzyć rzeczy piękne.
Wiedza bez wyobraźni najwyżej doskonałe.

Albert Einstein
Go to the top of the page
+Quote Post
RubiX
post 13.01.2008, 20:10:59
Post #7





Grupa: Zarejestrowani
Postów: 162
Pomógł: 6
Dołączył: 14.02.2007
Skąd: Poznań

Ostrzeżenie: (0%)
-----


No to mój kod, który przesłałem też może być bo funkcja wykonuje się na tej samej stronie tylko zostaje ona przeładowana tongue.gif

Nie zrozumieliśmy się smile.gif


--------------------
===================================

\o/ torebki
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 20:41