Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Dwa submity - problem
Forum PHP.pl > Forum > Przedszkole
mczlowiek
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
kaem
  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.
ferrero2
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
mczlowiek
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?
Shili
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
ferrero2
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...
nexis
Najlepiej utwórz pole typu DATETIME i wykonuj zapytania typu:

  1. INSERT INTO `tabela` (`czas`) VALUES (now())
mczlowiek
a macie może namiary na taki kalendarz gdzie mógłbym sobie wybierać datę?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.