Autor | Zpráva | ||
---|---|---|---|
Lexter Profil |
#1 · Zasláno: 30. 3. 2008, 10:55:21
Ahoj, nějak si nevím rady s tímto scriptem, který má za úkol zapsat data do databáze. Přesněji řečeno titulek, text, čas a rubriku. S výpisem už problém není, s tím si nějak poradím, ale zápis se mi nedaří.
Zapisovac.php <?php include "config.php"; $titulek=$_POST["titulek"]; $text=$_POST["text"]; $datum=time(); $kategorie=$_POST["kategorie"]; $dotaz=mysql_query("INSERT INTO`clanky`(`titulek`,`text`,`datum`,`kategorie`) VALUES ('$titulek','$text', '$datum', '$kategorie')"); if($dotaz) echo "Zápisek byl přidán"; else{ echo "Zápisek se nepodařilo přidat"; } ?> admin-zapis.php <?php include "zapisovac.php"; ?> <html> <body> <form action="zapisovac.php" method="POST"> Nadpis článku<br /> <input type="text" name="titulek" /><br /> Text zápisku<br /> <textarea cols="25" rows="5" name="text"></textarea><br /> Rubrika<br /> <select name="kategorie"> <option value="0">Kategorie 0</option> </select><br /> <input type="submit" value="Ok" /> </form> </body> </html> Asi to bude blbost, ale co naplat, na tohle nejsem stavěný. |
||
Sventek Profil |
#2 · Zasláno: 30. 3. 2008, 10:59:26
A co ti to vypisuje za chybu? Do databáze se vloží aspoň něco (nulový řádek) nebo vůbec nic?
PS: Dej si pozor na $titulek=$_POST["titulek"]; $titulek=addslashes($_POST["titulek"]); |
||
Lexter Profil |
#3 · Zasláno: 30. 3. 2008, 11:01:37
To je to, přímo ve zapis-admin.php mi to standardně vypisuje chybovou hlášku o nepřidání zápisku. Pokud zápisek napíšu, odkliknu, prostě se nechce odeslat a vypíše jen Zápisek se nepodařilo přidat.
Díky za radu. |
||
Lexter Profil |
#4 · Zasláno: 30. 3. 2008, 11:02:49
Jak se ale zdá, řádky přidává.
|
||
Sventek Profil |
#5 · Zasláno: 30. 3. 2008, 11:05:32
Zkus tam vložit tento dotaz :
$dotaz=mysql_query("INSERT INTO`clanky`(`titulek`,`text`,`datum`,`kategorie`) VALUES ('".$titulek."','".$text."', '".$datum."', '".$kategorie."')") OR die(MYSQL_ERROR()); |
||
BlackMartin Profil |
#6 · Zasláno: 30. 3. 2008, 12:17:17
Z příkladu jsem usoudil že se jedná o nějaké postování článku.
Jak vkládáte čas do DB pomocí time() myslím si že by bylo lepší použít TIMESTAMP a výchozí hodnot nastavit na CURRENT_TIMESTAMP dá se potom stím lépe pracovat. Posléze bych asi upravil SQL dotaz na ( jak Sventek naznačoval ) mysql_query("INSERT INTO`clanky`(`titulek`,`text`,`datum`,`kategorie`) VALUES ('".addslashes($titulek)."','".addslashes($text)."', '".$datum."', '".addslashes($kategorie)."')") or die(MYSQL_ERROR()) |
||
krteczek Profil |
#7 · Zasláno: 30. 3. 2008, 12:31:44 · Upravil/a: krteczek
spíš bych použil DATETIME a NOW()
chyběla ti tam mezera $titulek = mysql_real_escape_string($_POST["titulek"]); $text = mysql_real_escape_string($_POST["text"]); $kategorie= mysql_real_escape_string($_POST["kategorie"]); $dotaz="INSERT INTO`clanky` (`titulek`,`text`,`datum`,`kategorie`) VALUES (" . $titulek . ", " . $text . ", NOW(), " . $kategorie . ")"); opraveno NEW =>NOW |
||
Časová prodleva: 2 roky
|
|||
SosniTo.sk Profil * |
#8 · Zasláno: 24. 11. 2009, 23:44:33
A prosím som začiatočník. Mám dátup zapísaný, ako spraví ms neho potom správny formát ? vyzerá nejak takto:
Dátum: 1259102492 prosím ako to mám zapísať ? |
||
Časová prodleva: 14 let
|
0