![]() |
![]() ![]() |
![]() |
![]()
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: 6 799 Pomógł: 1827 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 10.07.2014 Ostrzeżenie: (0%) ![]() ![]() |
no fakt duzo mi to pomogło tu jest opisane jak w formularzu ustawiac a mnie interesuje jak w phpmyadmin ustawic jak bede bieglym programista to z pewnoscia sobie sam to zrobie na chwile obecna nie umiem dlatego szukam jak najprostrzego rozwiazania w formularzu zrobilem cos takiego
$zapytanie .="VALUES ('(NOW()),'$imie','$nazwisko','$mail')" i jest ok wszystkie dane wprowadza do tabeli prawidlowo tylklo nie timestamp jest 00 wszędzie Ten post edytował roxman 10.07.2014, 11:36:11 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
pole datetime z default CURRENT_TIMESTAMP i attribute ON UPDATE...
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 36 556 Pomógł: 6314 Dołączył: 27.12.2004 ![]() |
No przeciez ci napisano... DLa kolumny masz dac typ TIMESTAMP. Kolumna tego typu bedzie wypelniana datą wpisu rekordu
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 10.07.2014 Ostrzeżenie: (0%) ![]() ![]() |
no ok wiec mam tak
Nazwa kolumny UID TYP DATETIME Długość pusto Ustawienia domyślne CURRENT_TIME Metoda porównywania napisów puste ATRYBUTY ON UPDATE CURRENT TIME biore save i wyskakuje mi błąd #1067 INVALID DEFAULT VALUE FOR UID |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 10.07.2014 Ostrzeżenie: (0%) ![]() ![]() |
zmieniam na TIMESTAMP i dalej to samo nie wiem o jakie ci różnice biega
00-00 00:00:00 999 999 999 0000-00-00 00:00:00 ezzz def 120 0000-00-00 00:00:00 ezzz def 120 0000-00-00 00:00:00 ezzz def 120 0000-00-00 00:00:00 ezzz def 120 0000-00-00 00:00:00 ezzz def 120 0000-00-00 00:00:00 jokkkk def 120 0000-00-00 00:00:00 jokkkk def 120 Ten post edytował roxman 10.07.2014, 11:57:21 |
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 36 556 Pomógł: 6314 Dołączył: 27.12.2004 ![]() |
$zapytanie .="VALUES ('(NOW()),'$imie','$nazwisko'
Skoro pole jest timestamp, to ty juz sam nie musisz wprowadzac dla niego wartosci.... Ba, nawet nie powinienies. Ale skoro juz sam wprowadzasz te wartosc, to: 1) Daj polu typ poprostu DATETIME 2) Wprowadzaj poprawnie..... NOW() to funkcja a nie tekst...... Tak ma byc: $zapytanie .="VALUES (NOW(),'$imie','$nazwisko' -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 10.07.2014 Ostrzeżenie: (0%) ![]() ![]() |
nic nie dziala zastosowalem sie do twoich sugesti zawsze jest 000000
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Moderatorzy Postów: 36 556 Pomógł: 6314 Dołączył: 27.12.2004 ![]() |
widac zastosowales się źle...
Pokaz kod po zmianach. Poczatkujacy lubią popelniac cale masy glupich bledow, nawet jak mają wszystko niemal podane. Pamietaj o tym i podawaj na przyszlosc sam kod bez proszenia o niego -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#12
|
|
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 |
|
|
![]()
Post
#13
|
|
![]() Grupa: Moderatorzy Postów: 36 556 Pomógł: 6314 Dołączył: 27.12.2004 ![]() |
1) Uzywaj BBCODE dla wstawianego kodu
2) Cytat nie wiem jak dodać tą autodatę w kolumnie UID Koluma UID to pole z datą![]()
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 10.07.2014 Ostrzeżenie: (0%) ![]() ![]() |
qurde ale to proste kreciłem się na około a faktycznie INERT INTO to jest wskazanie gdzie chcę wpisać wartości a VALUES podaje co ma być tam wpisane. Dzięki serdeczne dopiero jak moje gały to ujrzały poskładało mi się to w całość. Wiem że to podstawy ale niestety muszę przez to przejść żeby zagłębiac się z czasem coraz mocnie dzięki za cierpliwość.
<?php // nawiazujemy polaczenie $connection = @mysql_connect('91.200.238.15', 'man', '12') // w przypadku niepowodznie wyświetlamy komunikat or die('Brak polaczenia z serwerem MySQL.<br />Blad: '.mysql_error()); // połączenie nawiązane ;-) echo "Udalo sie polaczyc z serwerem!<br />"; // nawiązujemy połączenie z bazą danych $db = @mysql_select_db('wojsko', $connection) // w przypadku niepowodzenia wyświetlamy komunikat or die('Nie moge polaczyc sie z baza danych<br />Blad: '.mysql_error()); // połączenie nawiązane ;-) echo "Udalo sie polaczyc z baza dancych!<br />"; // zamykamy połączenie //mysql_close($connection); /* zapytanie do konkretnej tabeli */ $wynik = mysql_query("SELECT * FROM dane") or die('Blad zapytania!'); /* wyświetlamy wyniki, sprawdzamy, czy zapytanie zwróciło wartość większą od 0 */ if(mysql_num_rows($wynik) > 0) { /* jeżeli wynik jest pozytywny, to wyświetlamy dane */ echo "<table cellpadding=\"2\" border=1>"; while($r = mysql_fetch_assoc($wynik)) { echo "<tr>"; echo "<td>".$r['login']."</td>"; echo "<td>".$r['rodzaj']."</td>"; echo "<td>".$r['ilosc']."</td>"; echo "<td> <a href=\"index.php?a=del&id={$r['id']}\">DEL</a> <a href=\"index.php?a=edit&id={$r['id']}\">EDIT</a> </td>"; echo "</tr>"; } echo "</table>"; } ?> Mam pytanko do tego skryptu wszystko z niego rozumiem tylko zastanawia mnie jedna sprawa podświetliłem klawisze edycji DEL i EDIT są jak gdyby nie aktywne czy jeżeli chciałbym żeby usuneły rekor lub włączyć edycje to muszę odwołanie do funkcji UPDATE I DELETE podlinkować ? Ten post edytował roxman 11.07.2014, 08:44:11 |
|
|
![]()
Post
#15
|
|
![]() Grupa: Moderatorzy Postów: 36 556 Pomógł: 6314 Dołączył: 27.12.2004 ![]() |
Po raz ostatni proszę byś zaczął uzywac BBCODE
I tak, jesli chcesz by sie cos kasowalo to wypadaloby kod do kasowania napisac i podpiac. Samo w magiczny sposob się nie zrobi -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 10.07.2014 Ostrzeżenie: (0%) ![]() ![]() |
Hmm chciałem zastosować wiedzę z poprzedniego skryptu wygenerowałem fajny formularz z bajerami http://91.200.238.15/tmp/form/form.html wygląda świetnie ale gdzieś po drodze straciło funkcjonalność nie wprowadza danych z formularza do bazy sql. Może ktoś rzucić okiem na to i powiedzieć mi gdzie naknociłem ? czy problem leży w pobraniu danych z tablicy $_POST czy może w zapytaniu do sql ? Bo pacze sie i pacze nic chyba nie wypacze porównuje z innymi skryptami powinno chodzić ale znowu gdzieś coś mi umyka.
Ten post edytował nospor 12.07.2014, 11:10:16
Powód edycji: [nospor]: poprawiam BBCODE
|
|
|
![]()
Post
#17
|
|
![]() Grupa: Moderatorzy Postów: 36 556 Pomógł: 6314 Dołączył: 27.12.2004 ![]() |
Do kodu PHP oraz PHP+HTML nalezy uzywac BBCODE PHP
Poprawilem Twoj post o to bbcode. Nie sądzisz ze czytelniej? Co to za jakies dolary w kodzie?? Przeciez ten kod jest totalnie skaszaniony. Zas co do kodu php, to wkladasz do bazy zmienne $imie, $nazwisko, $mail a nigdzie ich nie tworzysz to sie nie dziw ze sie nie wkladają.... Prosze, tu jest temat: Temat: Jak poprawnie zada pytanie z praktycznymi wskazowkami. Zapoznaj sie z nim i zastosuj do niego. Masz tam napisane jak wyswietlac bledy, jak wyswietlac bledy zapytan, jak sprawdzac zawartosc zmiennych i inne... Gdybys to zrobil, to bys widzial blad od razu na ekranie. Kolejna rzecz: zajrzyj w zrodlo strony do ktorej sam dales nam linka. Przeciez tam jest caly kod, wlacznie z php. Oznacza to, ze kod php nie zostal w ogole sparsowany. I nic dziwnego, jak ty go umieszczasz w pliku .html. Kod php ma byc w pliku .php Oraz kolejna rzecz na pozniej: dane do bazy masz wkladac dopiero gdy zostanie wyslany formularz. Czyli masz uzyc IF -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 10.07.2014 Ostrzeżenie: (0%) ![]() ![]() |
Najsmutniejsze jest to że przeczytałem i wcale mnie to nie oświeciło w dalszym ciągu nie wiem co robię nie tak.
|
|
|
![]()
Post
#19
|
|
![]() Grupa: Moderatorzy Postów: 36 556 Pomógł: 6314 Dołączył: 27.12.2004 ![]() |
Pierwsze i najwazniejsze: poprawiles w ogole to:
Cytat Kolejna rzecz: zajrzyj w zrodlo strony do ktorej sam dales nam linka. Przeciez tam jest caly kod, wlacznie z php. Oznacza to, ze kod php nie zostal w ogole sparsowany. I nic dziwnego, jak ty go umieszczasz w pliku .html. Kod php ma byc w pliku .php ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 19.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze, co to to w pierwszej linijce?
Po drugie, linijka 19 = zmień końcówkę na
Po trzecie wyrzuć te klasy z dolarami, albo wprowadź je poprawnie. Po czwarte, ten przycisk wysyłania też cos dizwnie wyglada Po piąte w kodzie php, na samym początku daj
Po szóste, zdefiniuj zmienne, które wrzucasz do bazy, linie 74-76 zmień na
Po siódme, zapytanie można skonstruować tez tak i nie wiem, czy nie lepiej:
Ten post edytował Matt23 22.07.2014, 12:34:09 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 2.05.2025 - 04:21 |