Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Closed TopicStart new topic
> Moment wysyłania formularza
Rid
post 1.08.2011, 23:32:48
Post #1





Grupa: Zarejestrowani
Postów: 715
Pomógł: 47
Dołączył: 5.12.2010

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


Nie wiem ,czy moje spostrzeżenia są,trafne ,ale z chwilą wysłania formularza ,żadne działania,które jeszcze wykonują się podczas wysyłania po stronie klienta ,chodzi głównie o js ,chyba nie mają już znaczenia,gdyż do tablicy post lub get(w zależności od metody wysłania) zostały zapisane wszelkie zmienne aplikacji.Czy tak aby nie jest?questionmark.gif

Ten post edytował Rid 2.08.2011, 12:36:41
Go to the top of the page
+Quote Post
erix
post 2.08.2011, 11:57:59
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Trochę nie po polsku, ale jeśli dobrze zrozumiałem, to tak.


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Rid
post 2.08.2011, 12:28:28
Post #3





Grupa: Zarejestrowani
Postów: 715
Pomógł: 47
Dołączył: 5.12.2010

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


To znaczy,że najpierw wykonują się operacje po stronie serwera ,później po stronie klienta-czy to raczej działa niezależnie od siebie.
Próbuję jakoś to dokładniej zrozumieć.

Ten post edytował Rid 2.08.2011, 12:35:23
Go to the top of the page
+Quote Post
buliq
post 2.08.2011, 12:54:00
Post #4





Grupa: Zarejestrowani
Postów: 559
Pomógł: 93
Dołączył: 4.03.2008
Skąd: Olsztyn

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


Jeżeli wysyłamy coś do serwera (formularz) to js jak ma jakiegoś timeouta czy intervala włączonego to ciągle działa. Tak bynajmniej zauważyłem. Wysyłałem np zdjęcie na serwer i w międzyczasie wyskakiwały np alerty. Natomiast nie będą działały żadne rzeczy uruchomione po wciśnięciu submit i rozpoczęciu wysyłania (chyba?)


--------------------
KTOŚ TU PACZY???

Kompedium wiedzy
Go to the top of the page
+Quote Post
Rid
post 2.08.2011, 14:42:08
Post #5





Grupa: Zarejestrowani
Postów: 715
Pomógł: 47
Dołączył: 5.12.2010

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


Może dam taki przykład:
  1. $jq(document).submit(function () {
  2. var opis = $jq("#Pole").val('');
  3. $jq.ajax({
  4. url: 'przedmiot.aspx',
  5. async: false,
  6. dataType: "txt",
  7. data: {Opisy:opis},
  8. type: 'POST'
  9. });
  10. });

Funkcja zeruje wartość pola tekstowego podczas wysyłania formularza ,i wysyła tą wartość ajaxem na serwer bez przeładowania
strony.
I teraz jeśli zrobię coś takiego:
  1. $phpvar="coś tam";
  2. if (!($_POST)) {
  3. if (isset($_POST['Opis'])) {
  4. $phpvar=$_POST['Opis'];
  5. }}
  6. <input type='text' id='Pole' value='{$phpvar}'/>;
  7. /Po wysłaniu formularza/
  8. if ($_POST){
  9. $zmienna=$_POST['Pole'];
  10. echo $zmienna;--i będzie napis"coś tam"
  11. }
  12.  


Jeśli jak zrobię:
  1. if (!($_POST)) {
  2. if (isset($_POST['Opis'])) {
  3. $_SESSION["phpvar"]=$_POST['Opis'];
  4. }}
  5. <input type='text' id='Pole' value='{$_SESSION["phpvar"]}'/>
  6. if ($_POST){
  7. $zmienna=$_POST['Pole'];
  8. echo $zmienna;--będzie pusta " "
  9. }

-to wartość pola tekstowego Pole będzie wyzerowana.
Sesja zapisuje się do tablicy asocjacyjnej request z tego co przeczytałem,wszelkie zmienne do tablicy asocjacyjnej Post (w zależności od metody wysyłania formularza).Podczas przesyłania formularza sesja zostaje utworzona i przepisana jej wartość,jednak już jakiekolwiek nadpisanie zmiennej przy wysłaniu formularza nie daje rezultatu.
Zastanawia mnie dlaczego tak jest?questionmark.gif

Ten post edytował Rid 2.08.2011, 14:50:58
Go to the top of the page
+Quote Post
nospor
post 2.08.2011, 17:00:45
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Same byki...

Jak chcesz pobrać zawartosc pola do zmiennej i je wyzerować to nie:
var opis = $jq("#Pole").val('');
a:
var opis = $jq("#Pole").val();
$jq("#Pole").val('');

To też jest ciekawe:
if (!($_POST)) {
if (isset($_POST['Opis'])) {
$phpvar=$_POST['Opis'];
}}

Tłumaczę Twoj kod:
Jeśli post nie istnieje to jesli istnieje Opis w poście to zrób coś tam...
Totalny bezsens.
Równie dobrze można napisać:
Jeśli nie istnieje koszyk, ale jeśli istnieje jabłko w koszyku, to zjedz jabłko...

Poza tym w php dobierasz się do Opis, ale ajaxem wysyłasz Opisy.


Podsumowąc: patrz co piszesz


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Rid
post 2.08.2011, 17:13:26
Post #7





Grupa: Zarejestrowani
Postów: 715
Pomógł: 47
Dołączył: 5.12.2010

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


Cytat
Same byki...

Pisałem od ręki smile.gif-przerabiając z c#;,ale nie widzę w tym nic bezsensownego:
  1. if (!($_POST)) {.....................-jeśli formularz nie został wysłany(ajax przesyła bez przeładowania),to zrób to:
  2. if (isset($_POST['Opis'])) { -jeśli zmienna opis istnieje(sprawdzam istnienie zmiennej);
  3. $phpvar=$_POST['Opis']; - przypisz tą zmienną do $phpvar
  4. }}


Ten post edytował Rid 2.08.2011, 17:13:51
Go to the top of the page
+Quote Post
nospor
post 2.08.2011, 17:24:45
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




wskaż palcem to zamiast przyjąć do wiadomości to palca ci utną....

Cytat
if (!($_POST)) {.....................-jeśli formularz nie został wysłany(ajax przesyła bez przeładowania),to zrób to:
Poznaj podstawy ajaxa, zrob parę testów, zrob sobie print_r($_POST); na ajaxie potem się kłóć.

Nawet gdybyś miał rację, gdyby ajax nie wysyłał posta, to jakim cudem te warunki mają działać:
if (!($_POST)) {
if (isset($_POST['Opis'])) {

Przecież one się nawzajem wykluczają! Jak nie istnieje POST to nie istnieje nic w POST bo POST nie ma.

Przypowieść o koszyku i jabłku jest aż tak trudna?


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Rid
post 2.08.2011, 17:51:08
Post #9





Grupa: Zarejestrowani
Postów: 715
Pomógł: 47
Dołączył: 5.12.2010

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


Faktycznie,jak mówiłem robiłem od palca:
  1. if ($_SERVER['REQUEST_METHOD'] != 'POST') {.....................-jeśli formularz nie został wysłany(ajax przesyła bez przeładowania),to zrób to:
  2. if (isset($_POST['Opis'])) { -jeśli zmienna opis istnieje(sprawdzam istnienie zmiennej);
  3. $phpvar=$_POST['Opis']; - przypisz tą zmienną do $phpvar
  4. }}

Teraz ,już chyba sensowniej.

Ten post edytował Rid 2.08.2011, 18:23:45
Go to the top of the page
+Quote Post
nospor
post 2.08.2011, 17:55:15
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
ak mówiłem robiłem od palca:
Jak palcem robisz to nie myślisz? Bo moja kilkuletnia córka wie, że jak nie ma koszyka to nie wyciągnie jabłka z koszyka tongue.gif

Coś ty się tego posta przyczepił?
Czemu nie zrobisz po prostu:
if (isset($_POST['Opis'])) {
$phpvar=$_POST['Opis'];
}



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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Rid
post 2.08.2011, 17:58:11
Post #11





Grupa: Zarejestrowani
Postów: 715
Pomógł: 47
Dołączył: 5.12.2010

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


Chyba ,nie widzi Pan ,że Ajax przesyła metodą Post zmienną podczas wysyłania formularza.
Go to the top of the page
+Quote Post
nospor
post 2.08.2011, 18:00:11
Post #12





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




smile.gif
Widzę, ale Ty chyba wyłączyłeś totalnie myślenie i dalsza dyskusja z Tobą dzisiaj nie ma sensu smile.gif Idź robić dalej tym palcem co ty tam robisz, nie wnikam wink.gif

ps: nospor a nie żaden Pan.


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Rid
post 2.08.2011, 19:27:24
Post #13





Grupa: Zarejestrowani
Postów: 715
Pomógł: 47
Dołączył: 5.12.2010

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


Długo czytałem i stwierdzam ,że ten kod jest prawidłowy:
1.
  1. if ($_SERVER['REQUEST_METHOD'] != 'POST') {-sprawdzenie postu z serwera
  2. if (isset($_POST['Opis'])) { -sprawdzenie postu ajaxowego
  3. $phpvar=$_POST['Opis']; -
  4. }}


Metoda $_SERVER['REQUEST_METHOD'] != 'POST' -nie bierze pod uwagę requestu ajaxowego przesyłanego metodą POST,gdyż
i tutaj cytat:
Cytat
"Request ajaksowy", to także oczywiście "request HTTP", tyle, że obsługiwany przez klienta w wyjątkowy sposób.
,
tak więc nie jest prawdą,że:
Cytat
if ($_SERVER['REQUEST_METHOD'] != 'POST') {
if (isset($_POST['Opis'])) {

Przecież one się nawzajem wykluczają!

Trzeba sobie zdać sprawę,że to dwa różne requesty,request ajaxa i request serwera.
Chyba sądzę nonspor,że to Pan powinien tutaj zajrzeć

Ten post edytował Rid 2.08.2011, 19:31:15
Go to the top of the page
+Quote Post
nospor
post 2.08.2011, 19:49:46
Post #14





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Mistrzu, po tym co ty ty zmanipulowałes:
Cytat
if ($_SERVER['REQUEST_METHOD'] != 'POST') {
if (isset($_POST['Opis'])) {

Przecież one się nawzajem wykluczają!

Nie dyskutuję już z Tobą więcej Panie manipulancie cudzych wypowiedzi.

Przekręciłeś moje zdanie. Moje zdanie brzmiało tak:
Cytat
if (!($_POST)) {
if (isset($_POST['Opis'])) {

Przecież one się nawzajem wykluczają!

To po pierwsze.
A po drugie, nie obraź się, ale z myśleniem u CIebie cieńko i wszelkie próby wyjaśnienia ci prostych rzeczy spełzają na niczym.Szkoda więc mojego czasu na tłumaczenia prostych rzeczy, które dzieci rozumieją.

I po trzecie:
nawet wypowiedź, którą zmanipulowałeś, nadal jest prawdziwa.

DLa własnego dobra:
nie rozumiesz tego co czytasz, sprawdzaj więc w praktyce te banalne kody które próbujesz wcielić w życie.

Wyświetl sobie $_SERVER['REQUEST_METHOD'] , sprawdź co to zawiera, gdy jest form, gdy jest get, gdy jest ajax wysyłany postem - potem dyskutuj.



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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
zamper
post 2.08.2011, 19:53:02
Post #15





Grupa: Zarejestrowani
Postów: 156
Pomógł: 17
Dołączył: 11.12.2010
Skąd: Częstochowa

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


Rid, przetłumacz sobie ten swój wspaniałomyślny i zarazem fenomenalny pomysł na pseudokod. Pozwól, że będzie lepiej jak zrobie to za ciebie:

  1. if (!($_POST)) { //Jeżeli tablica $_POST nie istnieje
  2. if (isset($_POST['Opis'])) { //Jeżeli pole 'opis' w tablicy $_POST istnieje
  3. ... //...


Jeżeli ta tablica nie istnieje, to jak ma istnieć jej pole/komórka ?


Nie widzisz że to tak jak:
Jeżeli nie masz patyka to obgryź z niego korę biggrin.gif


Bez urazy

Ten post edytował zamper 2.08.2011, 19:55:10


--------------------
GG(22779936)
Go to the top of the page
+Quote Post
Rid
post 2.08.2011, 20:00:53
Post #16





Grupa: Zarejestrowani
Postów: 715
Pomógł: 47
Dołączył: 5.12.2010

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


To ja powiem tak:
Pisałem $_POST to mi Pisałeś bajkę o koszyku i jabłkach.
Pisałem $_SERVER['REQUEST_METHOD'] != 'POST' to znowu Pisałeś mi tą samą bajkę z jabłuszkiem i koszykiem.
Tak więc stwierdziłem ,że nie ma u Pana żadnej różnicy w obu tych poleceniach,dlatego pozwoliłem zmanipulować sobie
Pańską wypowiedź-"taka moja,bajeczne stwierdzenie".
Nie umie Pan zargumentować swoich wypowiedzi tylko bajki opowiada.
Ja ten kod przerabiałem z c#,który u mnie doskonale funkcjonuje,nie wklepywałem go tylko przerobiłem na PHP, mniej więcej z tym co mam,aby większość ludzi na tym forum miej więcej wiedziała o co chodzi.
Nie otrzymałem od Pana, żadnej sensownej odpowiedzi na nurtujący mnie problem, tylko bajeczki.
Niektórzy po prostu mają talent do krytyki i do bajkopisarstwa.
Jedyną sensowną odpowiedź udzielił mi erix za co mu dziękuję.
Temat do zamknięcia.


Go to the top of the page
+Quote Post
nospor
post 2.08.2011, 20:04:54
Post #17





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Nie umie Pan zargumentować swoich wypowiedzi tylko bajki opowiada.
Bo widzisz, do Ciebie proste fakty nie docierają. Myślałem więc, że dotrę do Ciebie przez przypowieść - może ta forma byłaby dla Ciebie bardziej przyswajalna. Skoro rozumie ją moje dziecko, sądziłem że i ty zrozumiesz. Ale widzę nawet ta forma nie jest dla Ciebie przyswajalna.

Cytat
Ja ten kod przerabiałem z c#,który u mnie doskonale funkcjonuje,nie wklepywałem go tylko przerobiłem na PHP
I kto tu bajki opowiada....


Cytat
Nie otrzymałem od Pana, żadnej sensownej odpowiedzi na nurtujący mnie problem
W moim pierwszym poście wskazałem ci 3 błedy jakie popełniłeś. Nie moja wina, że nie rozumiesz prostych rzeczy.

Cytat
Temat do zamknięcia.
SIe robi.
Powód edycji: [nospor]:


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Closed 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: 26.06.2025 - 04:00