Autor | Zpráva | ||
---|---|---|---|
xXx Profil * |
#1 · Zasláno: 20. 7. 2013, 14:26:36
Obracím se na vás s prosbou o pomoc. Začínám se učit PHP a nyní se snažím vložit data z formuláře do databáze. Formulář vypadá takto:
<form method="post" action="vloz.php"> <fieldset> <legend>Vložení aktuality</legend> <label>Text aktuality:</label> <textarea rows="6" name="text"></textarea><br> <label>Zobrazit do:</label> <input type="date" name="datum"><br> <input type="submit" id="odeslat"> </fieldset> </form> a skript takto: $text = $_POST["text"]; $datum = $_POST["datum"]; mysql_connect ("localhost", "root", ""); mysql_select_db ("koupaliste"); mysql_query(" insert into aktuality (datum_pridani, zobrazit_do, text) values ('date(\'Y-m-d H:i:s\')', '$datum', '$text') "); přičemž datum_pridani je typu datetime, zobrazit_do je typu date a text je typu longtext. Bohužel se mi nedaří přijít na to, jak donutit vkládat aktuální čas. Vždy se mi vloží 0000-00-00 00:00:00. Poradí mi někdo, prosím, čím nahradit 'date(\'Y-m-d H:i:s\')' tak, aby se vkládal aktuální datum a čas?
|
||
jenikkozak Profil |
Použij funkci
NOW() :
insert into aktuality (datum_pridani, zobrazit_do, text) values (NOW(), '$datum', '$text') |
||
llook Profil |
#3 · Zasláno: 20. 7. 2013, 16:03:03
Buďto tu SQL funkci NOW(), nebo prostě ukonči řetězec a zavolej
date() . Tak, jak jsi to napsal, nevoláš funkci date(), ale vkládáš řetězec date('Y-m-d H:i:s') , což si MySQL přebere jako "0000-00-00 00:00:00".
V každém případě hlavně nezapomeň ošetřit $datum a $text, aby ti do něj někdo nevložil nějakou SQL injection: $datum = mysql_real_escape_string($datum); $text = mysql_real_escape_string($text); mysql_query(" insert into aktuality (datum_pridani, zobrazit_do, text) values ('" . date(\'Y-m-d H:i:s\') . "', '$datum', '$text') "); |
||
Časová prodleva: 11 let
|
0