06. januar 2006 - 12:06Der er
12 kommentarer og 1 løsning
system hvor man selv kan redigere sin profil
Hej eksperter
jeg er webmaster på et fodboldholds hjemmeside... her vil jeg gerne lave et profil-system, så hver enkelt spiller kan logge ind og redigere deres profil...
Der skal helst være: Profilnavn: Navn: Alder: Foretrukken position: (helst rullepanel her) favorit øl: favoritklub: en tekstboks til ævl: og faktisk også upload af et profilbillede...
hvordan kan man lave det? Jeg har lidt forstand på php og mysql, men ikke nok til selv at skrive det fra bunden, så jeg håber at der er nogen der kan hjælpe mig :)
Det er forholdsvis simpelt.. Bortset fra profilbillede.. Men det kan sagtens lade sig gøre.. Det er bare at læse nogle artikler om: Session PHP/MySQL (f.eks hvordan man laver en gæstebog, så lærer du at sætte ind i databaser) og så er det også lige at tjekke op på UPDATE funktionen i mysql :)
I din tabel hvor du har dine profil data'er kunne du gemme folks email og password, og bruge dem om login. så skal du selv lave en side hvor spillerene har mulighed for at indtaste deres email og password som login, så tjekekr du om der er en bruger med det angivede email og password og er der det, så kan du f.eks gemme brugernes id fra databasen i en SESSION, så kan du på alle de andre sider tjekke om denne SESSION er sat og er den det så er en af spillerene logget ind.
og så laver du opret.php sådan her: #opret.php <? //MySQL connect $navn = $_POST[navn]; $kode = $_POST[kode];
if(!empty($navn) && !empty($kode)){ $antal = mysql_query("SELECT COUNT(*) AS antal FROM brugere WHERE navn = '$navn'") or die(mysql_error()); $tael = mysql_result($antal); if($tael == 0){ mysql_query("INSERT INTO brugere (navn, kode)VALUES('$navn', '$kode')") or die(mysql_error()); echo "Du er nu oprettet som bruger"; } else { echo "Desværre.. Brugernavnet er optaget"; } } else { echo "Du skal udfylde begge felter"; } ?>
og så laver du en login form: #login.html <form action="login.php" method="POST"> Navn:<br> <input type="text" name="navn"><br> Kode:<br> <input type="password" name="kode"><br> <input type="submit" value="Login"> </form>
og så laver du en side som tjekker om man er logget ind:
$antal = mysql_query("SELECT COUNT(*) AS antal FROM brugere WHERE navn = '$navn' AND kode = '$kode' LIMIT 1") or die(mysql_error()); $tael = mysql_result($antal); if($tael == 1){ $_SESSION[login] == 'true'; $_SESSION[data] == $navn; header("location: profil.php"); } else { echo "Forkert navn eller kode"; } ?>
og så laver du profil.php noget alla det her: #profil.php <? session_start(); // MySQL connect
if($_SESSIN[login] == 'true'){ $hent = mysql_query("SELECT * FROM brugere WHERE navn = '$_SESSION[navn]'") or die(mysql_error()); $vis = mysql_fetch_array($hent); echo "Velkommen til din profil, her er din oplysninger:<br><br>"; echo "<b>Navn:</b> $vis[navn]<br>"; } else { echo "Du er ikke logget ind"; } ?>
og alle de sider hvor du vill have at folk skal være logget ind kan du lave sådan her:
#hemmelige_side.php <? session_start();
if($_SESSION[login] == 'true'){ echo "Du er nu inde på den hemmelige side" } else { echo "Du skal logge ind for at se denne side"; } ?>
Så har jeg givet dig noget at starte ud på! Men du skal være opmærksom på at der nok er nogle tastefejl, men nu ved du hvordan det skal laves :-) og du skal også huske at køre nogle funktioner på variabler $navn og $kode både i oprettelsen og i login :-)
forresten, det er også en god idé at køre: ucwords($navn); før du smider det ind i databasen i oprettelsen, og så skal du også huske at gøre det ved login:)
Det samme skal du gøre med kode, der skal du bare bruge: strtolower($kode);
opdagede lige at jeg havde lavet en fejl :-) #profil.php $hent = mysql_query("SELECT * FROM brugere WHERE navn = '$_SESSION[navn]'") or die(mysql_error()); skal skiftes ud med: $hent = mysql_query("SELECT * FROM brugere WHERE navn = '$_SESSION[data]'") or die(mysql_error());
ok. mange tak. jeg har læst et par artikler om php og mysgl og sammen med jeres input skulle jeg gerne kunne lave det. webstuff smider du ikke lige et svar
Cronaldo.. Jeg kører stort set ingen funktioner. Det jeg har lavet her, er lavet så det virker. Der skal bare smides nogle funktioner ind rundt omkring. Men det burde han selv kunne klare.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.