PHP felhasználói adatok megváltoztatása?
Van egy egyszerű weboldalam, lehet regisztrálni, ott bekér minden adatot felhasználónévtől elkezdve az életkorig, keresztnévig stb. Ha bejelentkezel, meg tudod ezeket változtatni, viszont ez volt az első ilyen "megváltoztatós program"-om, ami nagyon bonyolult lett.
if($valid){
$mysql_connect = mysql_connect("localhost","root","");
mysql_select_db("forumadatbazis");
mysql_query("SET NAMES 'utf8'");
//Felhasználónév
if(strlen($username)>0){
mysql_query("UPDATE `regist` SET `username` = '$username' WHERE `id`= '$id'");
mysql_query("UPDATE `forum` SET `name` = '$username' WHERE `name`= '$name'");
$allitems = mysql_query("SELECT * from `regist` WHERE `id`= '$id'");
while($rows = mysql_fetch_assoc($allitems)){
$items[] = $rows;
}
foreach($items as $item){
$_SESSION["login"]["username"] = $item["username"];
}
rename("regdatas/profiles/".$name,"regdatas/profiles/".$username);
}
//Jelszó
if(strlen($jelszo)>0){
mysql_query("UPDATE `regist` SET `jelszo` = '$jelszo' WHERE `id`= '$id'");
foreach($items as $item){
$_SESSION["login"]["jelszo"] = $item["jelszo"];
}
}
stb.............. és a végén jön a mysql_close($connect);
Nem lehet ezt egyszerűbben megoldani? :D Ne szidjatok, ez volt az első ilyen php kódom.
Ha jól tévedek ez fut le, ha megváltoztatja a felhasználónevét a delikvens.
Ha engeded, hogy a felhasználónevét megváltoztassa valaki, akkor célszerű a hozzá tartozó mappát eleve nem a nevével elnevezni. Az az adat, ami nem változik (nem változhat!) az a felhasználóhoz tartozó id (regist.id). Ezzel célszerű hivatkozni a felhasználóra mindenhol. A fórum táblában is (forum.id_user), és a mappája nevében is ("regdatas/profiles/user_".$user->id). Így a fenti borzalom feleslegessé válik.
A foreach-es részeket abszolút nem értem. Totálisan feleslegesek, nem tudom mit akartál elérni velük.
Alapvetően úgy látom, hogy eléggé kaotikusan állsz hozzá a probléma megoldásának. Jobb lenne, ha a megoldási folyamatot először leírnád, vagy lerajzolnád egy folyamatábrában, és több részre tagolnád (adatbekérés, ellenőrzés, feldolgozás, tárolás, kijelzés). A legjobb persze az lenne, ha tanulmányoznád az MVC módszertant, és az alapján építenéd fel a weboldal motorját, mert ez így szörnyen átláthatatlan és kaotikus.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!