Autor Zpráva
TimTom
Profil *
Dobrý večer, rád bych se zeptal, jak se dá udělat nahlašování příspěvků?
Napadlo mě řešení že po kliknutí na odkaz se začnou vyplňovat podmínky, ale narazil jsem na problém.

Co do <a href="..."> přidat tak, aby se podmínka začala vypisovat? Nechci to řešit přes formulář, popřípadně pokud to jinak nepůjde...

Předem děkuji za odpovědi.
Izolex
Profil
Chtělo by se to více rozepsat, z čeho příspěvky taháš a čeho přesně chceš docílit (jak přesně to chceš provést).
Pokud taháš příspěvky z databáze, udělal bych v nějakém souboru skript na nahlášení a u každého příspěvku dal odkaz s $_GET který by obsahoval ID nahlašovaného příspěvku. Skript by pak nahlásil příspěvek s tímto ID.

Takže např.:
$query = mysql_query("SELECT * FROM prispevky");
while ($result = mysql_fetch_array($query)) {
echo '<a href="nahlaseni.php?id='.$result['id'].'">Nahlásit příspěvek</a>';
};
TimTom
Profil *
[#2] Izolex
Ano, mám příspěvek vypsaný z databáze podle id ( clanek.php?id=234 ) . Zde tedy chci sebrat ID článku a zapsat ho s názvem do databáze do tabulky nahlaseno. Čili script by pracoval již s vytáhlými daty při zobrazování, a část jich uložil do jiné tabulky.
Izolex
Profil
Tak to bych postupoval podobně.
Takže např.:
$query = mysql_query("SELECT * FROM clanky WHERE id='".intval($_GET['id'])."' LIMIT 1");
$result = mysql_fetch_array($query);
// Ověření zda-li článek existuje
// zobrazení článku
echo '<a href="nahlaseni.php?id='.$result['id'].'&amp;nazev='.$result['nazev'].'">Nahlásit příspěvek</a>';

Potom skript nahlaseni.php
$id = $_GET['id'];
$nazev = $_GET['nazev'];
// Ověření zda-li článek existuje
$id = intval($id);
$nazev = mysql_real_escape_string($nazev);
mysql_query("INSERT INTO nahlaseno (clanekid,nazev) VALUES ('".$id."','".$nazev."')");

Potom bych trošku uvažoval, jestli do nahlášených článků ukládat i název článku, co když se článek přejmenuje?
Tori
Profil
TimTom:
Zde tedy chci sebrat ID článku a zapsat ho s názvem do databáze do tabulky nahlaseno
Název je IMHO nadbytečný, zjistíte ho pomocí ID z tabulky článků. Naopak bych přidala informaci, kdo a kdy to nahlašoval (ID uživatele nebo IP).
Kajman
Profil
Při použití běžného odkazu se nejspíše setkáte s nahlašováním i běžnými roboty procházející stránky.
TimTom
Profil *
[#6] Kajman
aha...díval jsem se na různý stránky, ty tam mají ( aspon to tak vypada ) nahlašování jako odkaz. Jaké tedy jiné řešení navrhujete? Formulář? nebo jak to tedy zabezpečit proti robotům?...
Izolex
Profil
Kajman má pravdu.
Nevím jak roboti zvládají vyskakovací okno confirm v JS. Dalo by se to udělat pomocí něj, popřípadě zabudování formuláře, který by obsahoval sečtení dvou čísel.
Kajman
Profil
Dá se udělat javascriptem odkaz, který odešle POST požadavek. Pro lidi bez zapnutého js, můžete nachystat po kliknutí na ten odkaz mezistránku s formulářem a třeba i nějakým kontrolním mechanizmem.
TimTom
Profil *
[#9] Kajman
no budu to řešit tak, že odkaz se otevře do menšího okna kde bude nutno potvrdit nějaký ochranný kód např. jak zminujete sečtení čísel nebo tak podobně...každopádně děkuji všem za názory a tipy :)

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: