Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL]Dwa submity - problem
mczlowiek
post 3.09.2008, 07:54:32
Post #1





Grupa: Zarejestrowani
Postów: 210
Pomógł: 0
Dołączył: 26.05.2008

Ostrzeżenie: (10%)
X----


N początku zapodam fragment kodu:
  1. <?php
  2. if(isset($_POST['nowy'])) {
  3.  
  4. if(isset($_POST['dodaj'])) {
  5. echo ('test');
  6. }
  7. else
  8. {
  9.  
  10. echo(' <form action="typy2.php" method="post">
  11. (formularz)
  12.  <input type=submit name=dodaj value=Dodaj>
  13.  </form>');
  14.  
  15. }
  16. }
  17. else 
  18. {
  19.  
  20. mysql_query("set names utf8");
  21. $query="SELECT * FROM typy ORDER BY id DESC";
  22. $result=mysql_query($query) or die(mysql_error());
  23. echo ' <form action="typy2.php" method="post">
  24. <input type="submit" name="nowy" value="dodaj">
  25. </form>';
  26.  
  27. }
  28. echo ('</table>');}
  29. }
  30. }
  31. ?>

i miomo ze moje submit maja rozna nazwy to nie wykonuje sie submit "dodaj" (nie wyswietla tekstu "test" tylko powraca do strony glownej - w tym przypadku - typy2.php) i nie wiem dlaczego?
proszę o pomoc
Go to the top of the page
+Quote Post
kaem
post 3.09.2008, 08:03:11
Post #2





Grupa: Zarejestrowani
Postów: 248
Pomógł: 38
Dołączył: 29.06.2008

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


  1. <?php
  2. if(isset($_POST['dodaj'])) {
  3. ?>

A co to jest to dodaj? Chyba nie to pole value w ostatnim inpucie? Bo nie możesz tak zrobić. Za pomocą isset sprawdzaj zmienne wpisane do formularza.
Go to the top of the page
+Quote Post
ferrero2
post 3.09.2008, 08:08:18
Post #3





Grupa: Zarejestrowani
Postów: 171
Pomógł: 32
Dołączył: 5.08.2008
Skąd: Lublin

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


Przycisk submit wykonuje to co jest zapisane w <form action =...> w Twoim przypadku przenosi Cię do strony typy2.php
Musisz na początku pliku typy2.php zrobić obsługę tych przycisków która powinna wyglądać tak :

Kod
if($_POST['przycisk1'])
{
echo 'Nacisnąłeś przycisk 1 exclamation.gif';
}

if($_POST['przycisk2'])
{
echo 'Nacisnąłeś przycisk 2 exclamation.gif';
}


Najlepiej dwa przyciski umieścić w jednym formularzu napisać sobie krótki skrypt obsługi submitów w oddzielnym pliku np: weryfikacja.php i dać po każdym wykonaniu przeniesienie na odpowiednią stronę np plik weryfikacja mógłby wyglądać tak :

Kod
<?php
if($_POST['przycisk1'])
{
echo '<script language = "javascript" TYPE = "text/javascript">location.href="strona1.php";</script>';
}

if($_POST['przycisk2'])
  {
echo '<script language = "javascript" TYPE = "text/javascript">location.href="strona2.php";</script>';
  }
?>


A w form action dajesz = weryfikacja.php

Pamiętaj o cudzysłowach przy nadawaniu nazw elementom formularza

Pozdrawiam


--------------------
---------------------------
"Jeżeli trzeci dzień z rzędu nie chce Ci się pracować tzn że dziś jest ŚRODA !
Algorytmy , Programowanie , Tworzenie WWW - SPRAWDŹ
Go to the top of the page
+Quote Post
mczlowiek
post 3.09.2008, 08:11:52
Post #4





Grupa: Zarejestrowani
Postów: 210
Pomógł: 0
Dołączył: 26.05.2008

Ostrzeżenie: (10%)
X----


ok, zrobione, wszystko dziala.
Mam teraz tylko pytanie: jak bez podawania daty w formularzu wstawić ją (data i czas naciśnięcia przycisku np "wstaw") do bazy danych?
Go to the top of the page
+Quote Post
Shili
post 3.09.2008, 08:17:43
Post #5





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

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


Możesz skorzystać z funkcji date, albo z typu danych timestamp i tworząc pole użyć czegoś w tym stylu:
  1. `date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
Go to the top of the page
+Quote Post
ferrero2
post 3.09.2008, 08:19:12
Post #6





Grupa: Zarejestrowani
Postów: 171
Pomógł: 32
Dołączył: 5.08.2008
Skąd: Lublin

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


smile.gif
Musisz zapisać datę w jakiejś zmiennej sesyjnej np:
Kod
$_SESSION['data'] = date("Y-m-d H:i:s");

Do obsługi zdarzeń dodaj połączenie z bazą i wysłanie informacji za pomocą sql np tak :

Kod
if($_POST['przycisk1'])
{
$db = mysql_connect($dbhost, $dbuser, $dbpassword);
mysql_select_db($dbdatabase, $db);
mysql_query("SET NAMES 'utf8'");

$sql = "INSERT INTO Login (Data) VALUES('" .$_SESSION['data'] . "')";
mysql_query($sql);

echo 'Nacisnąłeś przycisk 1 !';
}


i tyle...


--------------------
---------------------------
"Jeżeli trzeci dzień z rzędu nie chce Ci się pracować tzn że dziś jest ŚRODA !
Algorytmy , Programowanie , Tworzenie WWW - SPRAWDŹ
Go to the top of the page
+Quote Post
nexis
post 3.09.2008, 08:21:04
Post #7





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

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


Najlepiej utwórz pole typu DATETIME i wykonuj zapytania typu:

  1. INSERT INTO `tabela` (`czas`) VALUES (now())


--------------------
Zend Certified Engineer

Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
mczlowiek
post 3.09.2008, 09:08:22
Post #8





Grupa: Zarejestrowani
Postów: 210
Pomógł: 0
Dołączył: 26.05.2008

Ostrzeżenie: (10%)
X----


a macie może namiary na taki kalendarz gdzie mógłbym sobie wybierać datę?
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: 18.07.2025 - 18:10