Autor Zpráva
panmagor
Profil *
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
kde bereš proměnné $nadpis a $text .. z formuláře?
panmagor
Profil *
<input type="text" name="nadpis" class="write_nadpis" />

<input type="text" name="text" class="write_text" />
TSD
Profil *
Zkus toto
"INSERT INTO blog (nadpis, text) VALUES ('".$nadpis."' , '".$text."')"
TSD
Profil *
a podívej se ještě do databáze. Pole nadpis, text musí být varchar(déka), ne číslo.
panmagor
Profil *
Super! Tam byl problém! Už to funguje!Děkuji

"INSERT INTO blog (nadpis, text) VALUES ('".$nadpis."' , '".$text."')"
Měsíček
Profil
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 *
Teď to trochu nechápu... Myslíte:

$dotaz = mysql_query ("INSERT INTO blog ($_POST["nadpis"], $_POST["text"]) VALUES ('".$nadpis."' , '".$text."')");
p3t4
Profil *
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
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
a co je srigi na tom dát místo .$_POST['nadpis']. tohle .addslashes($_POST['nadpis']).
srigi
Profil
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
overovat - neoverovat...lepsi rovnou nekde v bootstrapu vypnout a je to...gpc je obecne ptakovina

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0