Új hozzászólás Aktív témák
-
DanielK
addikt
Sziasztok!
Webfejlesztést tanulok és van egy alap webshop, amit csináunk. Az admin oldalon van egy adminisztrátorok rész, ahol az adminokat kilistázzuk és itt lehet felvinni, módosítani és törölni is őket.
A superadmin (id-ja az 1-es), mindent tud, kivéve nem tudja magát törölni. De mindenki mást módosíthat és törölhet.
Vannak sima adminok 1-es p_id-val (ez ugye a jogköre), akik a superadmint csak kilistázva látják, minddenki mást módosíthatják (ők már nem törölhetnek).
És a 0-s p_id-sok, akik csak magukat módosíthatják.
Az eddigi kód:
case 'list':
$qry=" SELECT admins.id,name as `Név`,email as Email ,admins.act as `Aktív?`,admins.newsletter as `Hírlevél?`, admins.p_id as Jog FROM admins ";
$result=mysql_query($qry) or die(mysql_error());
$tabla='';
while($row=mysql_fetch_array($result)){
if($tabla==''){
$tabla='<table cellpadding="5" cellspacing="0" border=""><tr>';
foreach($row as $k => $v){
if(!is_int($k)){
$tabla.='<td>'.$k.'</td>';
}
}
$tabla.='<td>Művelet</td></tr>';
}foreach($row as $k => $v){
if(!is_int($k)){
$tabla.='<td>'.$v.'</td>';
}
}if ($_SESSION["uid"] == 1) {
if ($row["Név"] == 'superadmin') {
$tabla.='<td><a href="'.$link.'&action=mod&id='.$row["id"].'">módosít</a></td></tr>';
}else{
$tabla.='<td><a href="'.$link.'&action=mod&id='.$row["id"].'">módosít</a> | <a href="'.$link.'&action=del&id='.$row["id"].'">töröl</a> </td></tr>';
}
}else if ($row["Jog"] == 1){
if ($row["Név"] == 'superadmin') {
$tabla.='<td></td></tr>';
}else{
$tabla.='<td><a href="'.$link.'&action=mod&id='.$row["id"].'">módosít</a></td></tr>';
}
}else{
if($row["id"] == $_SESSION["uid"]){
$tabla.='<td> <a href="'.$link.'&action=mod&id='.$row["id"].'">módosít</a></td></tr>';
}else{
$tabla.='<td></td></tr>';
}
}
}
$tabla.='</table>';
echo $tabla;Ez az ág a bajom:
}else if ($row["Jog"] == 1){
if ($row["Név"] == 'superadmin') {
$tabla.='<td></td></tr>';
}else{
$tabla.='<td><a href="'.$link.'&action=mod&id='.$row["id"].'">módosít</a></td></tr>';
}It ugye csak annál jelenik meg a módosítás, akik 1-es p_idv-vel rendelkeznek, de az a cél, hogy aki 1-es p_id-vel jelentkezett be, annak a superadminon kívül mindenhol a módosítás jelenjen meg...
Úgy ahogy az előtte levő ágban a superadminnál: if ($_SESSION["uid"] == 1) {...Hogy lehetne ezt megoldani?
Nagyon köszönöm!
-
DanielK
addikt
kitöltöttem teszt adatokkal.
először mindent kitöltve (helyesen - kamu adatokkal)
másodszor csak nevet adtam meg és egy kamu emailt - hozzáteszem, nem ártana az emailt domainre is ellenőrizni, mert látszik, hogy a 2. kamu emailnél csak rányomtam a billentyűzetre...[link]
ja és a többi miért nem kötelező? legalább az üzenet?nekem eltűnt a form és egy üzenetet láttam. akkor most ez nem jó? egyébként miért jó, hogy eltűnik a form?
[ Szerkesztve ]
-
DanielK
addikt
kitöltöttem és küldtem egy formot, ahol az email ez volt: dd
ennyit a js ellenőrzésről.
Jó tanácsként mondom, hogy nem elég a js ellenőrzés, pont emiatt!
Ezt baromi könyű implementálni (mármint amit linkeltem). a 9. pontjában (a 4. oldalon) van a kész függvény, amit csak submit megnyomásakor meghívsz a php fájlodban$hiba=array();
if(isset($_POST["submit"])){
$email=$_POST["email"];
if( !validEmail($email) ) $hiba["email"]='Az email rossz formátumú!';
}a $hiba-t meg ki echozod a megfelelő helyre
persze legyen egy fájlod, amit include-olsz az elején, mondjuk egy functions.php (csak van már ilyened), ebbe beleteszed a kész függvényt és kész. az include-dal meg megoldva, hogy a validEmail függvényed elérjed
[ Szerkesztve ]
-
DanielK
addikt
hát, pedig hibát nem dobott az oldal, mikor kitöltöttem a dd email címmel vagy mikor üresen hagytam.
na mindegy, pont emiatt nem elég a kliens oldali ellenőrzés, mindig kell szerver oldali is!
a kliens oldalit úgy játsszák ki, ahogy akarják.
mindkettő lehet, de csak a js nem tanácsos. persze ezek csak jó tanácsok... -
DanielK
addikt
válasz DanielK #12920 üzenetére
Nem szemetelem tovább az oldalt.
A lényeg: nem elég a kliens oldali ellenőrzés. Könnyen feltörhetik és ez még gázosabb, ha a az oldalhoz is hozzáférhetnek.
Illetve mit csinálsz azokkal, akik mondjuk letiltják a jst? Ezért jobb a szerver oldali ellenőrzés, mert akkor az még akkor is működik. -
DanielK
addikt
válasz Sk8erPeter #12928 üzenetére
1. nem veszem zokon, pont amiatt, hogy kezdő vagyok! Imádom a php-t, ezért is tanulom idősebb fejjel. Tanulni meg úgy lehet, ha próbálkozom valamivel és más, aki jártasabb esetleg megmondja, hogy az pedig nem jó úgy. Szóval nyugodtan, írj, én örülök neki.
2. Én is leírom a dolgokat, hogy mit és miért gondoltam úgy:Azért nem jó megoldás, mert undorító. Ez a "célt elértem vele,... -> ezzel tisztában vagyok én is, de mivel a kódokba nem látunk bele, többet nem nagyon tudunk neki segíteni (magát a dolgokat kellene újraírnia, de ahogy kivettem, ezt nem tenné meg)
"javascripttel újratöltöd az oldalt vagy ajaxxal a divet."
Ez viccnek is rossz... -> szerintem az iframes gányolásnál még mindig jobb"de miért akarod eltüntetni? ez nem szokás, főleg, ha új üzenetet akar küldeni neked. nem felhasználóbarát... "
Bocs, de ezt is muszáj kommentálnia valakinek, és most megint én leszek... -> igazad van, nem pontosítottam. Úgy kellett volna megkérdeznem, hogy: ebben a formában miért szeretné eltüntetni? (Szerintem ez szebb megoldás: session alapján tünteti el - és kitesz egy gombot, hogy új form kitöltése. Miután újra a kapcsolati részre kattint újra bejön a form, így nem láttam értelmét kitenni). Amin dolgozom lap, úgy oldottam meg, hogy a form fölé kiteszi a köszönjük szöveget, de alatta ott a form (designban is jobb nekem, mert a footer részre tettem)"Mondjuk én jobb szeretem a mézesbödön (honeypot) ellenőrzésket (kevesebb hely is kell neki). Persze az kevésbé hatásos, mint a racaptcha, de felhasználóbarátabb."
Ez így nem feltétlenül igaz, hogy kevésbé hatásos. Attól függ,.... - > itt sem volt pontos a fogalmazásom. Ebben igazad van - > hasonlót használok én is, így nem feltétlenül rosszabb, mint a captcha, de ez megvalósítás kérdése (pl. láttam javascriptes mézesbödönt is, hát az nem 100-as)Köszönöm a kiigazítást!
[ Szerkesztve ]
-
-
DanielK
addikt
válasz Sk8erPeter #12937 üzenetére
igen és természetesen unsetelem a formot, ha sikeres volt a küldés, hogy üres legyen.
-
DanielK
addikt
válasz csepelball #12974 üzenetére
Neked egy tartalomkezelő kell. Amit linkeltél, fizetős. Ezért fizetnél?
Ott a wordpress. -
DanielK
addikt
válasz #68216320 #13229 üzenetére
jogosultság probléma lehet. akkor localhoston futna? mert akkor a mappának kell írás és olvasási jogot adni az adott felhasználónak.
nálam macen volt ilyen probléma, hogy nem tudott fájlt másolni egy mappába, mert nem volt jogosultságom rendszerszinten másolni bele.
ha a saját mappastruktúráját használod (lamp), akkor elméletileg mennie kellene[ Szerkesztve ]
-
DanielK
addikt
válasz Brown ügynök #13289 üzenetére
[link] - esetleg...
(#13290) Sk8erPeter: megelőztél...
[ Szerkesztve ]
-
DanielK
addikt
válasz Peter Kiss #13505 üzenetére
Már bocs, de régen rossz, ha menetközben variálgat a vevő. Kell írni először egy specifikációt neki, amit elfogad. Ez alapján megcsinálni a kért dolgot. Majd ha kell még neki valami, akkor jöhet az újabb szerződés és egy újabb specifikáció. Így egy fejlesztés hónapokig, akár évekig is elhúzódhat, ha állandóan ezt meg azt kér pluszban, vagy variál valamit a vevő. Bár lehet valaki szeret így dolgozni.
Ha már cms: akkor inkább wordpress, és miért? Mert az admin része user friendly. Persze nem egy otp szintű oldal alá kell tolni. Egy egyszerű szimpla oldalt simán lehet erre rakni.
-
DanielK
addikt
válasz SureStudio #13579 üzenetére
-
DanielK
addikt
válasz trisztan94 #13816 üzenetére
a felhasználódat tedd be a root groupba.
-
DanielK
addikt
Miért nem te vagy az admin, ő meg más jogosultságot kap? Akkor sok mindent nem tud tenni.
Persze ha övé a tárhely, belenyúlhat azon keresztül, de nem hiszem, hogy annyira értene hozzá, hogy tudja mit csinál. Persze ha nagyon ért hozzá az adatbázból is kilökhet, de ha már ennyire ért hozzá, akkor minek kért fel téged (mert akkor egy cmst megtanulni sem nehéz)
Új hozzászólás Aktív témák
- Azonnali informatikai kérdések órája
- Apple Watch Sport - ez is csak egy okosóra
- Kerékpárosok, bringások ide!
- Projektor topic
- Luck Dragon: Asszociációs játék. :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Milyen cserélhető objektíves gépet?
- Nemzetközi piacra érkezik az Amazfit Helio Ring
- E-roller topik
- Spórolós topik
- További aktív témák...