POST Azonosítás
Hi,
Általam készülő oldalon van lehetőség hírt küldeni. Szeretném megoldani, hogy a hír küldője: szerkeszthesse és törölhesse a hírt. Sajnos ott akadtam el, hogy nem tudom azonosítani a hírt. Jelenleg úgy működik, hogy bekérem a felhasználótól, hogy mi a cikk azonosítója (ezt kiíratom a kiíratásnál). Elég fapados\gagyi, de most ennyit tudok. Segítséget szeretnék kérni, hogyan kellene ezt csinálni?
supesz
■ Általam készülő oldalon van lehetőség hírt küldeni. Szeretném megoldani, hogy a hír küldője: szerkeszthesse és törölhesse a hírt. Sajnos ott akadtam el, hogy nem tudom azonosítani a hírt. Jelenleg úgy működik, hogy bekérem a felhasználótól, hogy mi a cikk azonosítója (ezt kiíratom a kiíratásnál). Elég fapados\gagyi, de most ennyit tudok. Segítséget szeretnék kérni, hogyan kellene ezt csinálni?
supesz
attól függ
Ha nem kell belépni hozzá akkor nehezebb az ügy, esetleg cookival vagy egy böngésző-oprendszer-monitor vizsgálattal megkísérelheted beazonosítani.
most olvastam
nem értem
azzal van gond, hogy összepárosítsd a felhasználókat a hírekkel?
asszem igen
Azonban honnan tudja a program, hogy az illető melyik cikket akarja szerkeszteni? Valahonnan ki kellene olvasnia a cikk azonosítóját, de vajon honnan vagy hogy?
küldd el a cikk azonosítóját is
ó nem
Szóval az adatbázisomban szerepel a cikk_id,datum,ido,user,tartalom oszlop.
Ezzel viszem fel az új cikkeket:
Hmmm
Pl. formból küldött adatot nem írunk közvetlenül adatbázisba, valami ellenőrzés illik elé, legalább egy mysql_real_escape_string()
Az első echozás a fejléccel felesleges, a php-t ott érdemes kezdeni, ahol tényleg kell, a fejlécet meg tedd ki sima html-ként. Felesleges php használat.
Az insert intonál a cikkid generálás legyen automatikus (sql-ben auto increment arra a mezőre), és majd azt lekéred, és szerkeszted.
A végén a bezár gombnál ha csak egy javascript kódot futtatsz, pl. ablakbezárás, felesleges a form megadása. Az csak akkor kell, ha adatot akarsz küldeni.
Hirtelen ennyi.
igaz - köszi
Amúgy mindenben igazad van (este rá is gyúrok).
Az auto_increment az működik. Azt használom.
vázlat
ezek után már tudsz csinálni egy olyan alap megoldást, hogy a cikkek listázásánál a belépett felhasználó azonosítóját összehasonlítod a az éppen kiírandó cikk user mezőjével és ha egyeznek akkor kirakod a szerkesztés linket, pl szerkesztes.php?id=x ahol x a cikk azonosítója.
a szerkesztes.php-ben pedig az első dolog az ellenőrzés, hogy a felhasználó szerkesztheti-e a $_GET['id'] azonosítójú cikket. ha igen akkor ugyanúgy egy űrlapot kell csinálni mint a felvitelnél, a különbség csak annyi, hogy a textarea elemet ki kell tölteni az azonosító alapján lekért tartalommal. az elküldés után pedig nem insert hanem update sql parancsot kell futtatnod.
nagyjából ennyi a legegyszerűbb megoldás vázlata.
ajánlott cikkek:
http://weblabor.hu/cikkek/munkamenetkezeles1
http://weblabor.hu/cikkek/munkamenetkezeles2
http://weblabor.hu/cikkek/phpkeretrendszer
http://weblabor.hu/cikkek/jogosultsagkezeles
(elsőre sok lehet a terjedelem és az információ is, de biztos tanulsz belőlük valamit)
aham
Az a $_GET["id"] bigyula nem világos. Miért $_GET és miért $_POST?
Ez persze most csak teoretikus, mert nem akarom offolni a saját topikomat.
Köszi amúgy.
$_GET vs $_POST
lehet method="get" tulajdonságú űrlapot is küldeni, az megjelenik az url-ben, és így $_GET lesz belőle.
szerk: a dokumentáció is hasznos
oldal
nem értem
Hogyan lesz ebből felhasználó azonosítás és hogyan fogja tudni a kiszolgáló, hogy van-e joga megnézni valakinek egy oldalt? Nem értem :(
az oldaladon van egy belépő
Ezután minden oldal elején ellenőrzöd, hogy be van-e lépve (a session szerint) és van e joga ott ügyködni.
Nagy vonalakban ennyi
Na ezt nem tudom
Ezután minden oldal elején ellenőrzöd, hogy be van-e lépve (a session szerint) és van e joga ott ügyködni.
Ezt nem tudom, hogy kell...
a jogosultság kezelést neked
id, nev, jelszo, jog
Mondjuk azt mondod, hogy ugy akarod tarolni, hogy ha a jog 'u' akkor user, ha 's' akkor szerzo.
Ebben az esetben a php oldlad eleje igy nez ki: (Csak gyorsan idepötyögtem, lehetnek benne szintaktikai hibák, az elvet nézd)
Ha ennél kifinomultabb dolog kell arra ott az ACL.
Ne haragudj, de számomra még mindig nem derült ki, hogy a dolog elve nem tiszta előtted, vagy az ugyan tiszta de nem tudod lekódolni.
köszi
Köszönöm a segítséget.
Az elv nem tiszta, mert nem bírom elképzelni, miként működik. Amit megtudok csinálni az az, hogy kész a beléptető form.
A magam módján meg tudom vizsgálni, hogy van-e a dbben ilyen user ilyen jelszóval:
$result = mysql_query($query, $sql_csatlakozas) or die(mysql_error());
while ($tomb = mysql_fetch_array($result))
{
if ($_POST['uneved'] == $tomb['user_name'] && $_POST['ujelszo'] == $tomb['user_pswd'])
header("Location: cimlap.php");
}
Most találtam rá a session_is_registered és a session_register fg.-kre.
Azonban a Session elvét vagy használatát még mindíg nem értem. Beírom a kódom elejére, hogy
de nem értem ez mit csinál.
Egyenlőre ennyi
Skypeom: supesz007, akár írhatnánk azon is, mert nem tudok, mindent bepostolni, de ha nem nem.
supesz
a beléptetés
UP
találtam vmit
Ez mit jelenthet?
Én idáig jutottam, de ez még nem csinál semmit.
session_start();
if (!isset($_SESSION[’szamlalo’])) {
$_SESSION[’szamlalo’] = 0;
}
$_SESSION[’szamlalo’]++;
echo $_SESSION[’szamlalo’];
// változó törlése
if ($_SESSION[’szamlalo’] == 20) {
unset($_SESSION[’szamlalo’]);
}
?>
UP
Egész nap
Egész nap nyúztam ezt az átkozott PHP-t, de csak nem értem ezt a Session dolgot. Csináltam én már mindent, de ha a böngészőbe beírom az oldalt, akkor bizony megjelenik simán. Nem mondja, hogy nincs hozzáférésem az oldalhoz.
Valaki pls. help, mert tényleg érdekel. Elolvastam már a php.net-es bejegyzéseket, a weblaborosokat és még néhány forrást is megvizsgáltam, de nekem nem jön át, hogy mi a lényeg.
Előre is köszi.
supesz
Azonosítás
Még mindíg ott tartok, ahol elkezdtem. Hogyan tudnám beazanosítani a cikkemet?
Itt a weblaboron ha az egeret a válasz link fölé viszem, akkor megjeleni egy link --> http://weblabor.hu/forumok/temak/18093/hozzaszolas/42970 a végén látszik, hogy ez a cikk sorszáma. Na nekem is ilyen kellene. De vajon, hogy a viharba??
Elképzelésem sincs. Amit kptam választ azt elolvastam, de lehet én nem értem, de nem tudom, mit csináljak vele. Előre is köszi a válaszokat.
supesz
???
A cikkemet be tudom
De, amikor kiteszem a linket, hogy szerkeszt, akkor hogyan fogom tudni, hogy melyik cikket kell szerkeszteni? Honnan fogja tudni a nyomorult php kód, hogy a 10-es cikket szerkessze, meg amikor kb így néz ki a kód:
<a href="edit.php">Szekeszt</a>
Most ott
supesz
input
url?paraméter1=érték1¶méter2=érték2
azaz pl.http://napfutok.uw.hu/index.php?action=edit&id=<?php echo $cikk_id ?>
vagyhttp://napfutok.uw.hu/edit.php?id=<?php echo $cikk_id ?>
(attól függően, hogy műveletenként külön php fájlt használsz-e).thx
supesz
nem értem akkor sem
Én így iratom ki a cikk táblám tartalmát. Ott van a Szerkeszt pont is. Remélem így jobban érthető a helyzetem.
szerkeszt link?
Ezt csináltam
Gondolom ezt így is kel csinálni. A baj csak az, hogy nem tudom átadni az értéket vizsgálatra. Ezt hogyan kellene?
supesz
írjuk meg helyetted?
mivel ezek nagyjából elhangzottak itt, már csak annyit tudunk segíteni, hogy megírjuk helyetted, ehhez a munka és állás rovatot ajánlom.
ne!