| 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: 16 let
|
|||
0