Autor | Zpráva | ||
---|---|---|---|
panmagor Profil * |
#1 · Zasláno: 21. 4. 2008, 10:15:40
Dobrý den! Insert mám takto: $dotaz = mysql_query ("INSERT INTO blog VALUES ('$nadpis' , '$text')"); Sice se mi ukáže, že se vše odeslalo, ale po mrknutí do DB, se do ní nic nezapsalo.. Kde je tedy chyba? Pokud si pod tento řádek dám echo "$dotaz"; tak je tento řádek prázdný. Ale pokud dotaz napíši takto: $dotaz = mysql_query ("INSERT INTO blog (nadpis, text) VALUES ('$nadpis' , '$text')"); zapíše se mi do DB do sloupce nadpis a text "0".....
|
||
Měsíček Profil |
#2 · Zasláno: 21. 4. 2008, 10:17:10
kde bereš proměnné $nadpis a $text .. z formuláře?
|
||
panmagor Profil * |
#3 · Zasláno: 21. 4. 2008, 10:19:56
<input type="text" name="nadpis" class="write_nadpis" />
<input type="text" name="text" class="write_text" /> |
||
TSD Profil * |
#4 · Zasláno: 21. 4. 2008, 10:29:31
Zkus toto
"INSERT INTO blog (nadpis, text) VALUES ('".$nadpis."' , '".$text."')" |
||
TSD Profil * |
#5 · Zasláno: 21. 4. 2008, 10:30:56
a podívej se ještě do databáze. Pole nadpis, text musí být varchar(déka), ne číslo.
|
||
panmagor Profil * |
#6 · Zasláno: 21. 4. 2008, 10:34:46
Super! Tam byl problém! Už to funguje!Děkuji
"INSERT INTO blog (nadpis, text) VALUES ('".$nadpis."' , '".$text."')" |
||
Měsíček Profil |
#7 · Zasláno: 21. 4. 2008, 11:21:24
To je dobře, ale předělej si to spíše na $_POST["nadpis"] a $_POST["text"], bude to bezpečnější a lepší řešení to tvoje nemusí na všech serverech fungovat.
|
||
panmagor Profil * |
#8 · Zasláno: 21. 4. 2008, 12:07:11
Teď to trochu nechápu... Myslíte:
$dotaz = mysql_query ("INSERT INTO blog ($_POST["nadpis"], $_POST["text"]) VALUES ('".$nadpis."' , '".$text."')"); |
||
p3t4 Profil * |
#9 · Zasláno: 21. 4. 2008, 12:14:03
Jak mas vypnuty register globals tak se superglobalni promenne neprepisuji, takze hodnoty z formulare nejsou podle jejich jmena...
jmeno formulare > nadpis, tak s vypnutymi register globals bude hodnota ulozena v $_POST['nadpis'], takze tvuj sql dotaz by mel byt zrejme takto: mysql_query("INSERT INTO (nadpis,text) VALUES('". $_POST['nadpis'] ."', '". $_POST['text'] ."')"); :)) |
||
srigi Profil |
#10 · Zasláno: 21. 4. 2008, 12:35:28 · Upravil/a: srigi
No chlapi neviem, ale pchat premenne priamo z $_POST[] do SQL requestu, je pekna cypovina! Premenne treba jednoznace dezinfikovat.
Takze bud $request_nazov = addslashes($_POST['nazov']); alebo $request_nazov = mysql_real_escape($_POST['nazov']); |
||
Měsíček Profil |
#11 · Zasláno: 21. 4. 2008, 12:57:10
a co je srigi na tom dát místo .$_POST['nadpis']. tohle .addslashes($_POST['nadpis']).
|
||
srigi Profil |
#12 · Zasláno: 21. 4. 2008, 13:14:41 · Upravil/a: srigi
Jasnacka je to mozne. Len ma teraz napadlo, ze aj to moje aj tvoje je z principu zle riesenie, nakolko to neoveruje direktivu magic_quotes_gpc. Treba to overovat, lebo by sa mohlo slashovat 2x!
|
||
Warden Profil |
#13 · Zasláno: 21. 4. 2008, 14:39:34
overovat - neoverovat...lepsi rovnou nekde v bootstrapu vypnout a je to...gpc je obecne ptakovina
|
||
Časová prodleva: 16 let
|
0