Ahoj,
potřeboval bych poradit... Udělal sem si návštěvní knihu s ukládáním do databáze...
A včetně zprávy apod se mi ukládá i IP klienta... to je v tabulce 'kniha' a pak mám tabulku 'zakaz' a v té mám uložené zakázané IP adresy... a chtěl bych aby se prikaz:
$data = "INSERT INTO kniha VALUES('','$nick','$email','$zprava','$ip','$datum','$cas')";
ulozil jen tedy kdyz ip z tabulky 'kniha' se nebude rovnat ip z tabulky 'zakaz'
takze neco takovyho:
$data = "INSERT INTO kniha VALUES('','$nick','$email','$zprava','$ip','$datum','$cas') WHERE kniha.ip != zakaz.ip";
Děkuji za pomoc ;-)
INSERT nemůžeš kombinovat s WHERE. INSERT prostě vloží nový řádek.
http://dev.mysql.com/doc/refman/5.0/en/insert.html
Tvoje řešení:
1. Prohledáš tabulku zakaz. SELECT zakaz WHERE ip = zakaz_ip
2. Pokud nenajdeš, vložíš zápis: INSERT INTO kniha .......................
zkousel sem to pomoci prikazu if ale nejak mi to nefunguje :-( ...
Jestli chceš poradit, tak sem dej inkriminovaný kousek kódu a popiš symptomy "TO NEFUNGUJE".
Jestli jenom konstatuješ, tak tento příspěvek ignoruj.
tak tohle je kod ktery tam mam ted...
$data = "INSERT INTO kniha VALUES('','$nick','$email','$zprava','$ip','$datum','$cas')";
$zapis_dat = mysql_query($data, $spojeni);
if ($zapis_dat)
echo "Data byla zapsána. <br> Děkujeme Vám. Jdi na zprávy - <a href='cist.php'>zde</a>";
else
echo "Data nebyla zapsána - kontaktujte administrátora.";
a chci neco takovyho:
$zakazana = "SELECT * FROM zakaz WHERE ip = '$ip'";
if ($zakazana)
{
echo "Data se nezapíšou - Vaše IP byla zablokována";
}
else
{
$data = "INSERT INTO kniha VALUES('','$nick','$email','$zprava','$ip','$datum','$cas')";
$zapis_dat = mysql_query($data, $spojeni);
if ($zapis_dat)
echo "Data byla zapsána. <br> Děkujeme Vám. Jdi na zprávy - <a href='cist.php'>zde</a>";
else
echo "Data nebyla zapsána - kontaktujte administrátora.";
}
$zakazana = "SELECT * FROM zakaz WHERE ip = '$ip'";
if ($zakazana)
Tady to musíš upravit. Třeba nějak takto:
$zakazana = mysql_query("SELECT * FROM zakaz WHERE ip = '$ip'") or die (mysql_error());
if (mysql_num_rows($zakazana) > 0)