![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 10.07.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam jestem świeżakiem i dopiero zaczynam zabawe z php i sql dlatego proszę o cierpliwość. Mam pytanko zrobiłem wprowadzanie do bazy danych 3 danych imie nazwisko i mail oraz czwarta kolumna nazwana UID i chcialbym żeby wpisywało tutaj czas i date wpisu. W phpmyadmin wstawiam autotimestamp i wpisuje mi tylko 0000-00-00 00:00:00 podpowie ktoś jak to szturchnąć aby prawidłowo wpisywało czas z data ?
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 10.07.2014 Ostrzeżenie: (0%) ![]() ![]() |
Jako że mnie nie wychodzi postanowiłem zaadoptować taki skrypt od wójka google aby zrozumieć o co w tym wszystkim biega bo egzamin E-14 sie zbliża a ja w szczerym polu jestem ale w głębokim lesie. Nadmienie tylko że autor tego skrytu wyraża zgodę na jego użycie i modyfikacje "http://www.cauchy.pl/systemy/php-mysql/wprowadzanie-danych-do-bazy-mysql/" Do celów edukacyjnych nadaje się wyśmienicie.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Serwis ABC</title> <meta http-equiv=content-type content="text/html; charset=iso-8859-2"> <meta http-equiv="Content-Language" content="pl"> </head> <body> <?php //////////////////////////////////////////////////////////// //Przykład kodu wprowadzającego dane do bazy mysql //Sposob dzialania kodu: //Kod obrazuje zapisywanie sie na listy dystrybucyjna newslettera //Po otwarciu strony uzytkownik widzi formularz gdzie musi podac: // * imie // * nazwisko // * adres mail //Po kliknieciu przycisku "Zaloguj" kod sprawdza czy podane sa wszystkie //pola (imie, nazwisko, mail) oraz usuwa biale znaki z poczaku i konca //kazdego pola // Jesli podane sa wszystkie pola to sa one wprowadzane do bazy mysql // Jesli nie sa podane wszystkie pola to wyswietlana jest informacja // o bledzie i wyswietlany jest ponownie formularz zapisu na // newsletter //Ograniczenia programu // 1. Program nie sprawdza czy uzytkownik juz istnieje w bazie // 2. Program nie sprawdza czy adres mail ma poprawna skladnie //Wymagania // 1. Zalozona baza mysql na serwerze // 2. Tabela newsletter w bazie mysql z polami imie, nazwisko, mail //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// //Definicje zmiennych //adres ip serwera mysql który zawiera bazę danych i tabele z osobami //zapisanymi na listę dystrybucyjna newslettera $adres_ip_serwera_mysql_z_baza_danych = '91.200.238.15'; //nazwa bazy danych z tabelą newsletter zawierającą osoby zapisane na //listę dystrybucyjna newslettera $nazwa_bazy_danych = 'test2'; //nazwa uzytkownika bazy danych $nazwa_bazy_danych $login_bazy_danych = 'man'; //haslo uzytkownika bazy danych $nazwa_bazy_danych $haslo_bazy_danych = 're12'; //Formularz umozliwiajacy dopisanie się do bazy danych czyli zapisanie //się na liste dystrybucyjna newslettera //Formularz bedzie pokazywany gdy strona wyswietlana pierwszy raz //lub gdy użytkownik poda bledne lub niepelne dane $formularz_dodaj_uzytkownika = ' <FORM method="POST" action=""> Ime: <INPUT type="text" name="imie"> <br />Nazwisko: <INPUT type="text" name="nazwisko"> <br />Mail: <INPUT type="text" name="mail"> <br /><INPUT type="submit" value="Zapisz się!"> </FORM> '; //////////////////////////////////////////////////////////// //Kod programu //Ustanawiamy połączenie z serwerem mysql if ( !mysql_connect($adres_ip_serwera_mysql_z_baza_danych, $login_bazy_danych, $haslo_bazy_danych) ) { echo 'Nie moge polaczyc sie z baza danych'; exit (0); } //Wybieramy baze danych na serwerze mysql ktora zawiera tabele //newsletter gdzie sa dane osob z listy dystrybucyjnej if ( !mysql_select_db($nazwa_bazy_danych) ) { echo 'Blad otwarcia bazy danych'; exit (0); } //Sprawdzamy czy formularz został zaakceptowany - czyli czy zmienna //$_POST["mail"] jest zdefiniowana //Jesli zmienna $_POST["mail"] nie jest zdefiniowana to strona jest //wyswietlana po raz pierwszy i wyswietlimy formularz dodania do //newslettera //Jesli zmienna $_POST["mail"] jest zdefiniowana to strona byla //wczesniej wyswietlana i formularz dodania do newslettera zostal //zaakceptowany. Musimy sprawdzic poprawnosc danych (poprawne to //dodajemy nowa osobe na liste dystrybucujna, niepoprawne to wyswietlamy //komunikat bledu i ponownie wysiwetlamy formularz) if ( isset($_POST["mail"]) ){ //Jesli zmienna $_POST["mail"] jest zdefiniowana to znaczy, ze nasza //strona jest wyswietlana po raz kolejny. Wczesniej ktos wypelnil //formularz i wcisnal przycisk "Zapisz się!" //Porzadkujemy dane wprowadzone przez uzytkownika SkorygujZmienneZFormularza($imie,$nazwisko,$mail); //Sprawdzamy czy uzytkownik podal poprawne dane $czy_poprawne_dane = SprawdzPoprawnoscDanych ($imie, $nazwisko, $mail); if ($czy_poprawne_dane == "dane_ok") { //Jesli podane przez uzytkownika dane sa ok to wprowadzamy je do tabeli //Definiujemy zapytanie do tabeli newsletter wpisujace dane nowego //subskrybenta $zapytanie = "INSERT INTO `newsletter` (`UID`, `Imie`, `Nazwisko`,`Mail`) "; $zapytanie .= "VALUES ('', '$imie', '$nazwisko', '$mail')"; //Wykonujemy zapytanie na bazie mysql $wynik_zapytania = mysql_query($zapytanie); //Sprawdzamy cz baza danych zwrocila blad if (!$wynik_zapytania) { //Jesli baza danych zwrocila blad to wyswietlamy komunikat o problemie //z baza danych echo("<br />Nie moge dodać rekordu do bazy!<br /><br />"); } else { //Jesli dodanie subskrybenta sie udalo to wyswietlamy gratulacje oraz echo "Gratulacje!!!"; echo "<br />Właśnie zostałeś zapisany na listę dystrybucyjną naszego wspaniałego newslettera!!!!"; } } else { //Jesli podane przez uzytkownika dane sa niepoprawne to informujemy //o bledzie i ponownie wysiwetlamy komunkat echo "Wprowadziles niepoprawne dane do formularza. Być może nie wszystkie pola sa wypelnione"; echo "<br />Spróbuj ponownie:"; echo $formularz_dodaj_uzytkownika; } } else { //Jesli nasza strona jest wyswietlana po raz pierwszy (zmienna //$_POST["mail"] niejest zdefiniowana) to // * zachecamy do zapisania sia na liste newslettera // * wyswietlamy formularz pozwalajacy pdoac nowego subskrybenta echo "Zapisz się <strong>TERAZ</strong> na listę dystrybucyjną naszego wspaniałego newslettera."; echo $formularz_dodaj_uzytkownika; } //Zamykamy połączenie z bazą danych if ( !mysql_close() ) { echo 'Nie moge zakonczyc polaczenia z baza danych'; exit (0); } //////////////////////////////////////////////////////////// //Dodatkowe funkcje //////////////////////////////////////////////////////////// //// Funkcja SkorygujZmienneZFormularza(&$imie,&$nazwisko,&$mail) //// //Funkcja porządkuje dane wprosprawdzone do formularza: //Jesli pole nie zostalo wproawadzone to zmienna ma pusta wartosc ("") //Jesli pole zostalo wproawadzone to ma obcinane puste spacje z obu //stron ////////////////////////////////////////////////////////////////////// function SkorygujZmienneZFormularza(&$imie,&$nazwisko,&$mail) { if ( isset($_POST["imie"]) ) $imie = trim($_POST["imie"]); else $imie = ""; if ( isset($_POST["nazwisko"]) ) $nazwisko = trim($_POST["nazwisko"]); else $nazwisko = ""; if ( isset($_POST["mail"]) ) $mail = trim($_POST["mail"]); else $mail = ""; } //////////////////////////////////////////////////////////// //// Funkcja SprawdzPoprawnoscDanych ($imie, $nazwisko, $mail) //// //Funkcja sprawdza czy podane przez uzytkownika dane sa poprawne czyli //czy nie sa puste //Jesli ktorekolwiek pole $imie lub $nazwisko lub $mail jest puste to //zwracany jest komunikat o niepoprawnych danych (zle_dane) //Jesli wszystkie pola $imie lub $nazwisko lub $mail są wypełnione to //zwracany jest komunikat o poprawnych danych (dane_ok) //////////////////////////////////////////////////////////////////////// function SprawdzPoprawnoscDanych ($imie, $nazwisko, $mail) { if ( ($imie=="") || ($nazwisko=="") || ($mail=="") ) return "zle_dane"; return "dane_ok"; } ?> </body> </html> Niby wszystko ładnie śmiga tutaj ale w podkreślonym kawałku nie wiem jak dodać tą autodatę w kolumnie UID. Nie wiedzieć czemu nie wyświetla mi poprawnie polskich znaków wystawiłem to do wglądu tutaj http://91.200.238.15/tmp/index.php Muszę się zastanowić jak dodać tutaj linijkę chcąc poprawić zamiast dopisywać podejrzewam że zamiast INSERT zamienić trzeba by było na UPDATE Ten post edytował roxman 11.07.2014, 08:26:16 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 30.09.2025 - 13:26 |