Jeg kunne godt tænke mig, at have det sådan, at man får en profil, hvor man kan ændre i sine detaljer og uploade et billede når man opretter en profil på min hjemmeside.
+ at man skal kunne trykke på, et brugernavn, som et link også komme til deres profil, hvor man kan læse lidt om dem. Ligesom man kan alle andre steder, og fx Eksperten.dk :o)
Jeg har en idé om, at når man trykker på et brugernavns link, så skal den gå efter brugerens ID nummer, ligesom den gør på Facebook, når man IKKE er venner med personen.
Jeg spurgte bare til, hvordan det måske kunne lade sig gøre. Jeg er sikker på, der nok skal være nogle, der ikke får ondt i røven over, at fortælle, hvordan man kunne gøre :o)
Som jeg ser det vil det blot prøve at du har et par MySQL tabeller.
En tabel der indeholder login oplysninger En tabel der indeholder profil oplysninger En tabel der indeholder billeder til en profil (Hvis en profil kan have flere billeder)
Det kunne være noget lign:
Login ProfileID - UserEmail - UserPassword
Profile ProfileID - FirstName - Lastname - Email
ProfileImages ProfileID - Image
Så laver du en login side som forespørger på ProfileID hvor Email og password matcher, kunne være følgende SQL streng:
SELECT ProfileID FROM Login WHERE UserEmail='Account@domain.com' AND UserPassword='EncryptedPassword'
Derefter laver du et PHP dokument der hedder profile.php som tager ID som paramater i URL'en. Derefter er det blot et spørgsmål om at skelne mellem om profilen er ens egen eller en andens. Hvis det er ens egen profil tillader man redigering ellers ikke.
danco: Udmærket struktur, dog giver det ingen mening at have to tabeller Login/Profile - hvilken fordel skulle det bringe? Det gør kun, at dine forespørgsler bliver længere og langsommere.
Noget andet er, at hvis brugere skal kunne have flere billeder, da vil ProfileID ikke længere være unikt i ProfileImage, hvilket betyder at ProfileImages ikke har en primær nøgle. Sørg altid for at en tabel har en nøgle, ellers bliver den håbløst langsom at arbejde med.
Wanze ; Tak fordi du pointere det overfor mig. Jeg har naturligvis ikke været dygtig nok til min formulering. Omkring ProfileImage mener jeg naturligvis at ProfileID og image er en sammensat primærnøgle.
Omkring login, jeg tænkte mig nok ikke synderligt godt om lige der, jeg kan godt se at der skabes unødig redundant information. Profile tabellen skal naturligvis indholde Passwordet også.
Dog vil jeg forsvare mig selv ved at sige at dette normalt er noget jeg fanger under min normalisering, noget som jeg ikke har gjort det store ud af i denne sammenhæng.
Ja, du ville nok fange det, men jeg tror ikke OP har rutinen til at gøre det samme - det er derfor, jeg pointerer det. ;-)
Dog er jeg lidt forvirret - bibeholder du stadig tanken om 3 tabeller? Når der er en en-til-en-relation mellem Login og Profile, så virker det overflødigt at bruge to tabeller.
Jeg forstår udemærket, hvad du skriver. Jeg er bare overhovedet ikke klar over, hvordan jeg skal begynde. Er der evt nogle der har et lille script, som jeg kan begynde med, så skal jeg nok få bygget det videre.
Jeg er rimelig ny i PHP, så derfor er det ikke bare lige, for mig, at begynde og kode det hele selv.
Hvis det er noget, som nogen skal have penge for, at lave et lille forskud på profil.php (Jeg har selve login systemet). Så må jeg selv kigge på nettet og hitte noget ud :o)
Jamen prøv og uddyb hvad du mere konkret vil have svar på, det er ikke let at svare når det ikke er konkret, skal du bruge hjælp til at vise informationerne i profil.php eller hvad er det du går "kold" på ?
Jeg har en database, hvor jeg har oplysningerne: id, brugernavn, password, navn, adresse, telefon, email.
Så når man logger ind på min hjemmeside, så kan man trykke på "profil" i en menu. Den viser så ens egne oplysninger.
Så er det, at jeg gerne vil have, at andre brugere skal kunne klikke på, andre brugere - så man kan se hinandens profiler. (Indviklet ;o))
Så, hvad jeg ikke kan finde ud af er: Jeg ved ikke hvordan man smider en users id op i url'en, hvordan man kan definere om det er en andens profil.. Faktisk så har jeg ingen ide om, hvordan jeg programmere det så mine brugere kan se andres profiler også.
Lad os nu antage at du, når en bruger logger ind, gemmer ID fra databasen i en session. Du kan vælge at gemme brugernavn mv efter behov. Så laver du profil.php så generel at den kan antage 2 former. En form hvor den bare viser informationerne der ligger i databasen og en form hvor man kan redigere i informationerne. På den måde kan du altså skillle det op at hvis den profil der bliver vidst har samme ID som den der ligger i din session, ja så skal man have mulighed for at redigere. Hvis profilen har et andet ID, ja så skal skal den bare vises.
For at man kan se andres profiler vil det jo kræve at du har et dokument der viser alle profiler der findes. Det kan laves med relativt få linjer kode:
$sql = "SELECT id,brugernavn FROM Profile"; $rs = mysql_query($sql) or die(mysql_error()); while($row = mysql_fetch_array($rs)) { echo '<a href="profil.php?id='.$row['id'].'">.$row['brugernavn'].'</a>';
echo '<br>'; }
Ovenstående kode vil således lave en fuld liste over alle profiler der findes på din side og derefter præsentere dem i en lang liste efter hinanden, hvert brugernavn vil være et link til profil.php hvor en parameter sendes med i URL'en.
På første linje i dit PHP dokument hvor du logger brugeren ind skriver du:
session_start();
Når du så har konstateret at login er korrekt kan du bruge følgende til at gemme i en session:
$_SESSION['id'] = $row['id'];
$row['id'] er naturligvis afhængig af hvad du vælger at gemme dine database resultater i. Derefter skal du huske session_start() på alle dine sider og så har du adgang til brugerens id gennem $_SESSION['id']
Måske bør du overveje at lukke tråden her og så oprette nye tråde med mere specifikke overskrifter hver gang du støder på en problemstilling.
Danco, kan du ikke smide et svar. Også lukker jeg tråden her. Så tænkte jeg på, om jeg må skrive til dig privat besked. Det ville helt klart være mere nyttigt, end at starte en ny tråd hver gang. :o)
Pointen med at lave nye tråde er dels at give flere point ud og dels at andre personer med samme problem som dig kan læse tråden og måske finde et svar selv.
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.