Avatar billede drockles Nybegynder
06. januar 2006 - 12:06 Der 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 :)
Avatar billede webstuff Nybegynder
06. januar 2006 - 14:21 #1
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 :)
Avatar billede drockles Nybegynder
06. januar 2006 - 14:30 #2
ok. jeg mente nok det var simpelt :-)
og profilbilledet kan man sagtens arbejde udenom

mange tak :-)
Avatar billede drockles Nybegynder
06. januar 2006 - 14:41 #3
så er det jo så bare lige hvordan man passwordbeskytter det...
Avatar billede net-base.dk Nybegynder
06. januar 2006 - 15:34 #4
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.
Avatar billede webstuff Nybegynder
06. januar 2006 - 15:44 #5
Du laver en database der kunn se sådan her ud:

brugere:
id - bigint, auto_increment, primary key
navn - varchar(50), unique
kode - varchar(50)

og så laver en opret form:

#opret.html
<form action="opret.html" method="POST">
Navn:<br>
<input type="text" name="navn"><br>
Kode:<br>
<input type="text" name="kode"><br>
<input type="submit" value="Opret">
</form>

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:

<?
session_start();
//MySQL connect
$navn = $_POST[navn];
$kode = $_POST[kode];

$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 :-)

prøv f.eks med:
strip_tags();
mysql_real_escape_string();
htmlentities();
htmlspecialchars();

Held og lykke

Vend tilbage hvis der er noget du er i tvivl om :-)
Avatar billede webstuff Nybegynder
06. januar 2006 - 15:45 #6
Nå nu var der en der svarede imens jeg skrev mit indlæg :-)
Avatar billede webstuff Nybegynder
06. januar 2006 - 15:46 #7
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);
Avatar billede webstuff Nybegynder
06. januar 2006 - 15:47 #8
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());
Avatar billede drockles Nybegynder
06. januar 2006 - 18:16 #9
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
Avatar billede webstuff Nybegynder
06. januar 2006 - 18:19 #10
Okay.. Held og lykke med det :)
Svar :-D
Avatar billede cronaldo Nybegynder
07. januar 2006 - 01:39 #11
webstuff? Anyways, du krypterer intet password så vidt jeg lige så, mens jeg skimmede siden? :S
Avatar billede drockles Nybegynder
07. januar 2006 - 11:51 #12
nej ok... jeg synes bare han skulle have noget for sine svar og sin tid
Avatar billede webstuff Nybegynder
07. januar 2006 - 13:51 #13
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.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester