• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wstawienie daty do MySql pobranej z formularza

Object Storage Arubacloud
0 głosów
604 wizyt
pytanie zadane 11 kwietnia 2019 w PHP przez fikus Nowicjusz (120 p.)

Z poniższego formularza:

<form action="rezerwacja.php" method="POST">
			<label>Data (format rrrr-mm-dd):<br />
			<input name="data" type="text" /></label><br />
			<label for="ile">Ile osób?</label><br />
			<input id="ile" name="ile_osob" type="number" /><br />
			<label>Twój numer telefonu:<br />
			<input name="telefon" type="text" /></label><br />
			<label><input type="checkbox" />
			Zgadzam się na przetwarzaniemoich danych osobowych</label><br />
			<input type="reset" value="WYCZYŚĆ" />
			<input type="submit" value="REZERWUJ" />	
		</form>

pobieram dane i wstawiam do tabeli "rezerwacje":

<?php
			$data = $_POST['data'];
			$ile_osob = $_POST['ile_osob'];
			$telefon = $_POST['telefon'];
			require_once "kontakt.php";
			$polaczenie = new mysqli($host, $uzytkownik, $haslo, $baza);
			echo $data; // tylko po to aby sprawdzić czy data jest pobierana
			$zapytanie = "Insert into rezerwacje (data_rez,liczba_osob,telefon) values ($data,$ile_osob,$telefon)";
			$rezultat = $polaczenie->query($zapytanie);
			echo "Dodano rezerwację do bazy";
			$polaczenie->close();	
		?>	

Niestety w kolumnie "data_rez" otrzymuję ciągle "0000-00-00". Pozostałe dane są wstawiane poprawnie. "data-rez" jest typu date. Z formularza data jest poprawnie pobierana do $data (echo $data wyświetla to co zostało wpisane w formularzu). Bardzo proszę o pomoc w znalezieniu błędu!!!

 

1 odpowiedź

0 głosów
odpowiedź 11 kwietnia 2019 przez Eliro Stary wyjadacz (12,160 p.)
edycja 11 kwietnia 2019 przez Eliro
Każesz wpisywać date ręcznie? Użyj <input name="data" type="date"> zamiast <input name="data" type="text" />

Być może baza danych traktuje Twoją datę jako zwykły tekst?
komentarz 11 kwietnia 2019 przez fikus Nowicjusz (120 p.)
Niestety ten sam efekt: 0000-00-00
komentarz 11 kwietnia 2019 przez Eliro Stary wyjadacz (12,160 p.)
edycja 11 kwietnia 2019 przez Eliro
A jeśli zmienisz typ danych z daty na tekst? U mnie na przykład Twój kod w ogóle nic nie dodaje do bazy danych.
komentarz 11 kwietnia 2019 przez fikus Nowicjusz (120 p.)
Jeśli zmienię w MySql typ kolumny "data_rez" z date na text to otrzymuję jedną liczbę będącą różnicą rok-miesiąc-dzień, czyli np. po wyborze 22.05.2019 otrzymuję: 1992.
komentarz 11 kwietnia 2019 przez Eliro Stary wyjadacz (12,160 p.)

U mnie działa po lekkich modyfikacjach.

 <input name="data" type="date" /></label><br />
$zapytanie = "INSERT INTO `rezerwacje` (`id`, `data_rez`, `liczba_os`, `telefon`) VALUES (NULL, '$data', '$ile_osob', '$telefon')";

W swojej bazie utworzyłem dodatkowo kolumnę "id", która ma ustawione Auto Increment oraz Primary Key.

komentarz 11 kwietnia 2019 przez fikus Nowicjusz (120 p.)
Rzeczywiście. Po ujęciu w zapytaniu zmiennej $data w apostrofy jest OK.

Wielkie dzięki!

Podobne pytania

0 głosów
1 odpowiedź 146 wizyt
pytanie zadane 31 grudnia 2018 w PHP przez Jokii Nowicjusz (240 p.)
0 głosów
2 odpowiedzi 2,143 wizyt
pytanie zadane 15 kwietnia 2019 w HTML i CSS przez hao123 Nowicjusz (150 p.)
0 głosów
3 odpowiedzi 417 wizyt
pytanie zadane 25 kwietnia 2021 w PHP przez mat19 Obywatel (1,580 p.)

92,572 zapytań

141,422 odpowiedzi

319,644 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...