Kezdő vagyok, kérlek segítsetek
Az lenne a kérdésem, hogy van egy oldal, amit csináltam... és van egy login rendszer, amely most működőképes. Egyetlen felhasználója van, amely az admin nevet viseli, MYSQL adatbázisban ENUM típusú rekordnál pedig az admin szintet kapta. Ezzel be tud lépni egy olyan felületre, ahol hozzá tud adni további felhasználókat. Nos az lenne a lényeg, hogy itt hogyan tudnám meghatározni PHP-ben, hogy mondjuk az itt hozzáadott felhasználók típusa mondjuk editor legyen?
Nagyon köszönöm a válaszokat!
■ Nagyon köszönöm a válaszokat!
Szia! Gondolom, a SQL
Gondolom, a SQL scriptet Te írod, ami a felhasználót létrehozza. Ha igen, akkor írd meg úgy a scriptet, hogy a felhasználó osztályozása alapján állítsa be így vagy úgy a jogosultsági szintet.
Üdv:
Dávid
Szia Dávid!
A lényeg az, hogy én megírom php-ben a kódot, ami ugye elküldi az adatbázisba az adatokat, mellyel beregisztrál az illető. Na most én azt hogy tudnám megtenni, hogy itt adom meg, hogy a regisztrált embereknek a típusa (ami ugye adatbázisban ENUM-al meg van adva) csak és kizárólag editor vagy épp diak vagy akármi legyen?
Köszönöm előre is!
Szia Dávid! Hogyan küldöd el
Hogyan küldöd el az adatbázisba az adatokat? Én pl. úgy szoktam ezt csinálni, hogy írok egy SQL query-t a PHP kódban, ami beszúrja a megfelelő rekordot. Ha így van, ezt a query-t kell jól megírni. Ha nem, akkor segíts, légyszi, mondjuk egy kódrészlet beidézésével, hogy hogyan csinálod. Így, vakon kicsit nehéz. ;)
Üdv:
Dávid
A lényeg
pl.:
Tanár neve:<br>
<input type="text" name="nev"><br><br>
Tanár jelszava:<br>
<input type="password" name="pass"><br><br>
Tanított tárgy/tárgyak:<br><br>
<table>
<tr>
<td id="szoveg">
<label id="check" for="magyar">Magyar</label>
</td>
<td id="box">
<input id="magyar" type="checkbox" name="azonosító" value="magyar" />
</td>
<td id="szoveg">
<label id="check" for="angol">Angol</label>
</td>
Ezt egy másik php fájlal egy gombra kattintva dolgozza fel:
<?php
header('Content-Type: text/html; charset=utf8');
if(isset($_POST["submit"])) {
$nev = $_POST["nev"];
$pass = $_POST["pass"];
$error_data = false;
}
if(!$nev) {
echo "Nincs megadva a tanár neve!";
$error_data = true;
} elseif(strlen($nev)<=3) {
echo "A tanár neve túl rövid!<br>";
$error_data = true;
if()
if($pass) {
if(strlen($pass)<=5) {
echo "A megadott jelszó túl rövid!";
$error_data = true;
}
} else {
echo "Nincs megadva jelszó!";
$error_data = true;
}
if($error_data==false) {
echo "Sikeresen regisztrálta a tanárt!";
$kapcsolat = mysql_connect("127.0.0.1", "root", "");
if (!$kapcsolat) {die("Nem sikerült kapcsolódni az adatbázishoz! " . mysql_error());}
mysql_select_db("dbtest", $kapcsolat) or die("Nem sikerült kiválasztani az adatbázist!");
$sql="INSERT INTO users (username , password )
VALUES ('$_POST[nev]','$_POST[pass]')";
if (!mysql_query($sql,$kapcsolat))
{die('Adatbázis hiba: ' . mysql_error());
}
mysql_close($kapcsolat);
}
?>
ebben a kódban pedig még nincs benn a checkbox, mert nem tudom, miképp vihetem azt fel a mysql adatbázisba
Na akkor ha jól sikerült
Van egy adatbázisod amiben van egy users tábla.
Ebben a táblában van egy darab admin, akinek joga van létrehozni további felhasználókat.
Tehát ezt az űrlapot amit bemásoltál, csak az admin láthatja.
#1 Ha csak egy admin lesz, a többi felhasználó meg azonos jogokat kap, akkor egyszerű a megoldás, mikor PHP-vel feldolgozod az űrlapot, egyszerűen mindenkinek automatikusan beírod a jogosúltságát. Be sem kell kérned az űrlapon, mert mindenkinek ugyanaz lesz.
#2 Ha többféle jogosúltságot szeretnél, akkor meg az űrlapba beillesztesz egy select-et, azokkal a lehetőségekkel amik lesznek (pl. admin, moderator, user stb.), és ennek az értékét mented az adatbázisba.
#1, de hogyan adjam meg ott a
Ezen a fórumon mindenki a
A kérdéseidből úgy gondolom, hogy Neked most nem ilyen jellegű tudásra van szükséged, hanem könyvekből, webről összeszedhetőre. Úgyhogy kérlek, először azokkal kezdj, és ha abban nem találtál valamit, csak az után kérdezz! Akkor viszont szívesen válaszolunk. Így most én kezdem már egy kicsit kihasználva érezni magam.
Köszi! Üdv:
Dávid
gyanítom, hogy az a
Ez egyszerű, ha ez a probléma amire gondolok
Ugye neked van mysql adatbázisba egy táblád ami "users" néven működik. Amibe ezzel az sql kóddal rakod bele a felhasználókat: "INSERT INTO users (username, password) VALUES ('$_POST[nev]','$_POST[pass]')". Na most ha van egy 3. sor is amiben a rangot/jogot tárolod, mint pl.: admin. Először is gondolom az enum típusú oszlopnak beállítottad már a mysql adatbázisba azokat az értékeket amiket szeretnél, pl. hogy legyen "admin" "diak" "tanar" vagy amit akarsz. Utána már csak a sql kódot kell átírni. Mert akkor így kell kinézni-e: "INSERT INTO users (username, password, rang*) VALUES ('".$_POST["nev"]."','".$_POST["pass"]."','rang')".
rang* = nem tudom mi annak az oszlopnak a neve, ezért írd át arra ami a neve, a csillag nem kell oda, a másik rangnál meg az adott rangot amit szeretnél, ha azt akarod, hogy a bevitelkor lehessen beállítani, akkor ezt ugyan úgy kell mint a username és a password esetében. :)
Ha nem ez a megoldás, akkor írd le részletesebben mit, hogy csinálsz.
Hopp és máris kész az SQL
Miért?:D
Adtál neki egy kódot, amit ha
Őszintén, most nem tudom ez
Leírtam a kulcsszót, Google
Igen közbe utána néztem. De
Ezért szóltam, hogy kezdő
Ha tudod, hogy a kódja sebezhető, akkor mindig hívd fel rá a figyelmét.
Igazából erről az sql
Remélem az a "jó régóta" csak
Hobbistától még elnézhető a dolog...
Már pár éve foglalkozok vele,