Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL]Formularz - jednoczesne wyslanie do MySQL i nowa strona, jak otworzyć nową stronę jedocześnie wysłać dane
AlinaMalutka
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 6.06.2010

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


Może ktoś wie jak W PROSTY SPOSÓB wykonać JEDNOCZESNE wysłanie danych z formularza i przekierowanie na inną stronę www. Próbowałam w: echo '<FORM method="POST">'; zrobić: echo '<FORM action="innaStroma.htm" method="POST">'; ale wtedy tylko otwiera nową stonę lecz nie wysyła danych do bazy danych....

  1.  
  2. if ($co == 'dodaj') { // dodawanie rekordu
  3. if ($tttttttt && $hhhhhhhh && $jjjjjjjjjj && $ooooooooo && $ppppppppp) {
  4. $query1 = "INSERT INTO sssssssssss (vvvvvvvvvv, tttttttt, hhhhhhhh, jjjjjjjjjj, ooooooooo, ";
  5. $query1 .= "ppppppppp) VALUES ('', '$tttttttt', '$hhhhhhhh', '$jjjjjjjjjj', '$ooooooooo', '$ppppppppp');";
  6. $wynik1 = mysql_query ($query1);
  7. }
  8. } elseif ($co == 'skasuj') { // kasowanie
  9. $wynik1 = mysql_query
  10. ("DELETE FROM sssssssssss WHERE dddd = '$id';");
  11. ............................
  12. ............................
  13.  
  14. echo '<div align=center>';
  15. echo '<FORM method="POST">'; // <<========== Probowalam z: action="innaStroma.htm" ale nie dodaje wtedy danych do MySQL
  16. echo '<INPUT TYPE="hidden" NAME="co" VALUE="dodaj">';
  17.  
  18. echo '<INPUT TYPE="hidden" NAME="aaaaaaaaaa" value="'.$cccccc.'">';
  19. ............................
  20. ............................
  21.  
  22.  
  23. echo '<BR>';
  24. echo '<INPUT TYPE="submit" VALUE="Wyślij"></FORM>';
  25. echo '</div>';
  26.  


Proszę o prostą odpowiedź

Alina
Go to the top of the page
+Quote Post
gorzat
post
Post #2





Grupa: Zarejestrowani
Postów: 23
Pomógł: 3
Dołączył: 18.03.2011

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


po akcji np DELETE dodaj sobie

  1. header("Location: inna.php");
Go to the top of the page
+Quote Post
bemol
post
Post #3





Grupa: Zarejestrowani
Postów: 286
Pomógł: 29
Dołączył: 5.04.2007
Skąd: Rymanów Zdrój/Rzeszów

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


Lub jeśli nie możesz (wyświetlasz coś wcześniej), daj obsługę tego formularza (if i elseif) do innejStrony.php i form action wpisz innejStrony.php
Go to the top of the page
+Quote Post
AlinaMalutka
post
Post #4





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 6.06.2010

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


Coś nie umiem tego { header("Location: inna.php"); } wstawić w odpowiednie miejsce. Ciągle pokazuje mi błąd. Najczęściej w użyciu jest część INSERT { $query1 = "INSERT INTO sssssssssss (vvvvvvvvvv, ... } więc zacytuj mi ten fragment mojego kodu z wstawionym Twoim kodem. Intencja jest taka: po wykonaniu dodania danych do bazy MySQL ma otworzyć się KonkretnaInnaStrona.php . Kombinowałam ze 100 razy ale bez efektu.

Pozdrawiam i czekam

Alina
Go to the top of the page
+Quote Post
sadistic_son
post
Post #5





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


header("Location: inna.php"); musi być przed jakimkolwiek innym wysłaniem nagłówków, innymi słowy przed jakimkolwiek kodem html zwróconym na ekranie, czyli przed jakimkolwiek wyświetlanym echo.
Kolejna możliwość to w sekcji <head> Twojego dokumentu dodaj to:
  1. <meta http-equiv="REFRESH" content="1;url=http://KonkretnaInnaStrona.php">
W tym przypadku strona się odpali ale po 1 sekundzie nastąpi przekierowanie na inną. Możesz 1 podmienić na 0, wtedy przekierowanie nastąpi natychmiast, wystarczy, że żądane akcje np. dodanie do bazy wykonasz przed sekcją head.
Go to the top of the page
+Quote Post
-Gość-
post
Post #6





Goście







Cały czas mam problem:

Samo
  1. header('Location: www.testA.pl');
po wklejeniu ( w miejscu bezpośrednio po wykonaniu wysylki do MySQL) jest jakby nieaktywne (zresztą wszędzie gdziekolwiek bym nie wkleiła jest to nieaktywne) i generuje komunikat o błędzie.
Wklejone w jakikolwiek inny sposób np.:

  1. if ($co == 'dodaj')
  2. {
  3. header('Location: www.testA.pl');
  4. }
  5. else if ($co == 'dddddd')
  6. {
  7. header('Location: www.testB.pl');
  8. }



również generuje informację o błędzie (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) ? (przykład z VertrigoServ):


=================

Przekierowanie:

  1. <meta http-equiv="REFRESH" content="1;url=http://KonkretnaInnaStrona.php">


owszem jest fajne ale żyje swoim życiem (przekierowuje natychmiast albo po 1 sek....) a ja potrzebuję przekierowania na KonkretnaInnaStrona.php natychmiast (ale) po wysłaniu formularza.

Podpoooowiedzi!!! (jak najprostrzej...)

Alina
Go to the top of the page
+Quote Post
gorzat
post
Post #7





Grupa: Zarejestrowani
Postów: 23
Pomógł: 3
Dołączył: 18.03.2011

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


co to znaczy, ze jest nieaktywne?

  1. if ($co == 'dodaj') { // dodawanie rekordu
  2. if ($tttttttt && $hhhhhhhh && $jjjjjjjjjj && $ooooooooo && $ppppppppp) {
  3. $query1 = "INSERT INTO sssssssssss (vvvvvvvvvv, tttttttt, hhhhhhhh, jjjjjjjjjj, ooooooooo, ";
  4. $query1 .= "ppppppppp) VALUES ('', '$tttttttt', '$hhhhhhhh', '$jjjjjjjjjj', '$ooooooooo', '$ppppppppp');";
  5. $wynik1 = mysql_query ($query1);
  6.  
  7. header('Location: www.testA.pl');
  8. }
  9. } elseif ($co == 'skasuj') { // kasowanie

powinno dzialac.
mozesz tez wlasnie wsadzic to -

  1. <meta http-equiv="REFRESH" content="0;url=http://KonkretnaInnaStrona.php">

nie jest to raczej poprawne, ale dziala. najlepiej napisz jaki blad Ci wyskakuje

Ten post edytował gorzat 22.03.2011, 19:00:44
Go to the top of the page
+Quote Post
sadistic_son
post
Post #8





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


1) Czy ten kod z pierwszego posta importujesz do innego pliku? Np. za pomocą instrukcji php include?
2) Jaki błąd jest zwracany po dodaniu header? Czy jest to coś typu (...)headers already sent(...)?
3) if(pytanie1===false){ to w którym konkretnie miejscu wklejasz ten header?
4) if(pytanie1===true){ to wklej tu cały kod nad jakim pracujesz.

Ten post edytował sadistic_son 22.03.2011, 19:41:31
Go to the top of the page
+Quote Post
AlinaMalutka
post
Post #9





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 6.06.2010

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


Dzięki wszystkim...

Kod:
  1. header('Location: KonkretnaInnaStrona.php);
działa na moim serwerze zewnętrznym. Nie działał na wewnętrznym - w komputerze (pracowałam na Vertrigo 2.23).
Jeżeli ktoś będzie znał inną PROSTĄ metodę na automatyczną zmianę strony W MOMENCIE wysyłania FORMULARZ to temat dalej jest otwarty... Jednak na tą chwilę jestem zadowolona - wszystko mi zadziałało i działa dalej. Jest OK.

Czekam na nowe pomysły...

Alina
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.08.2025 - 10:37