Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Niewidoczna dane w formularzu
Forum PHP.pl > Forum > Przedszkole
Manifested01
Zrobiłem dzisiaj taki prosty formularz wysyłania do bazy mysql, po godzinie i setce zapytań na google udało mi się to jakoś zrobić ale mam jeden problem. Chciałbym żeby podczas wysyłania formularza automatycznie wysyłała się data, czas i ip osoby ktora go wysyłała.

szukałem na google polskim angielskim w manualu nic nie moge znaleźc

z góry dziękuje za pomoc
nospor
ip masz w tablicy superglobalnej $_SERVER

data i czas to masz w funkcjie time() - zwraca ci akutlaną date i czas

  1. <?php
  2. print_r($_SERVER);
  3. ?>

i sobie przejrzyj co ona zawiera....

  1. <?php
  2. echo 'Aktualny czas:'.date('Y-m-d H:i:s');
  3. ?>



edit: no i skasowal posta
Manifested01
meh

znalazłem takie coś "'SERVER_ADDR'" i "'REQUEST_TIME'"
tylko co mam z tym zrobić

probowalem cos wykominowac z phpmyadminie ale niz tego nie wyszło

/edit
jestes za szybko:s
nospor
spojrz moj post wyzej

Cytat
tylko co mam z tym zrobić

SERVER_ADDR zawiera IP co chciales. rob co chcesz - skad mam wiedziec co chciales robic z tym IP
Manifested01
no mam zwykły formularz <form> i chciałbym zeby za kazdym razem jak ktos go wypelni to zeby do kolumny np IP dodał się wpis z jego ip + do kolumny data/czas odpowiednio data i czas
nospor
Chciales IP, chciales czas
no to masz juz czas, masz IP, co jeszcze chcesz?
Manifested01
nie mam zielonego pojęcia co wpisać do pliku z formularzem i jaki ma być typ kolumny np
bigZbig
Date i czas najlepiej zapisuj w polu typu DATETIME a ip to możesz nawet w VARCHAR trzymać. A co wpisać to poszukaj na necie. nospor dał Ci wystarczająco dużo wskazówek
webdevil
w 'pliku z formularzem' jeśli tu masz na myśli plik html z formularzem to nic nie dopisujesz - tylko podczas zapisu do bazy danych dodajesz do rekordu do pola IP (np. varchar(15)) zmienną $_SERVER["REMOTE_ADDR"] i podobnie z datą/czasem (tutaj pole może być np. DATETIME)
kefirek
Prosty przyklad

  1. <?php
  2. $wynik = mysql_query("INSERT INTO tabela (data, ip) VALUES (NOW(), '".$_SERVER['REMOTE_ADDR']."')");
  3. ?>
Manifested01
kiedy w phpmyadmin wejde w zakładke "dodaj" i tam wybiore curdata/curtime to mi sie dodaje w porzadku ale cały czas gdy dodaje cos przez formularz na stronie to jest null :/

pole - typ
ip - varchar(15)
data - date
czas - time

nie wiem co jest nie tak i nie wiem gdzie mam wstawić tą "zmienną" $_SERVER["REMOTE_ADDR"]
google mnie znowu zawiodło :/
webdevil
pokaż kod Twojego dodawania rekordu
erix
Cytat
dodawania rekordu

a nie formularza.

Gdzie wstawić? Tam, gdzie masz wartość kolumny IP w zapytaniu INSERT INTO.
Manifested01
Cytat(erix @ 18.02.2009, 18:05:31 ) *
a nie formularza.

Gdzie wstawić? Tam, gdzie masz wartość kolumny IP w zapytaniu INSERT INTO.


dzieki dopiero teraz zrozumialem gdzie mam to wstawic
ip juz działa teraz tylko zamiast daty i godziny mam 0000-00-00 00:00:00(datatime)
i host(remote_host) tez nie chce dzialac
matixrr
Bo 0000-00-00 00:00:00 staje sie wartoscia domyslna i aby to zmienic to przy dodawaniu rekordu musisz zrobic:
  1. <?php
  2. $wynik = mysql_query("INSERT INTO tabela (data) VALUES (NOW());
  3. ?>
Manifested01
  1. <?php
  2. $con = mysql_connect("dsadas","sadas_sadsad","adas");
  3. if (!$con)
  4.  {
  5.  die('Could not connect: ' . mysql_error());
  6.  }
  7.  
  8. mysql_select_db("dsad", $con);
  9.  
  10. $sql="INSERT INTO Petycje (Tytul, Kategoria, Email, Adresat, Tresc, ip, host, data)
  11. VALUES
  12. ('$_POST[tytul]','$_POST[kategoria]','$_POST[email]','$_POST[adresat]','$_POST[tresc]','$_SERVER[REMOTE_ADDR]','$_SERVER[REMOTE_HOST]','$_SERVER[DATATIME]')";
  13. if (!mysql_query($sql,$con))
  14.  {
  15.  die('Error: ' . mysql_error());
  16.  }
  17. echo "Petycja dodana";
  18.  
  19. ?>


mozesz mi powiedziec jak to edytowac ? bo jak dodaje po values to "(now..)
to jest błąd
matixrr
  1. <?php
  2. $con = mysql_connect("dsadas","sadas_sadsad","adas");
  3. if (!$con)
  4. {
  5. die('Could not connect: ' . mysql_error());
  6. }
  7.  
  8. mysql_select_db("dsad", $con);
  9.  
  10. $sql="INSERT INTO Petycje (Tytul, Kategoria, Email, Adresat, Tresc, ip, host, data)
  11. VALUES
  12. ('$_POST[tytul]','$_POST[kategoria]','$_POST[email]','$_POST[adresat]','$_POST[tresc]','$_SERVER[REMOTE_ADDR]','$_SERVER[REMOTE_HOST]',NOW())";
  13. if (!mysql_query($sql,$con))
  14. {
  15. die('Error: ' . mysql_error());
  16. }
  17. echo "Petycja dodana";
  18.  
  19. ?>
Manifested01
ok działa dzięki bardzo
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.