Anders Moen Skrevet 25. februar 2007 Skrevet 25. februar 2007 (endret) Jeg driver å lager et simpelt forum, som ligger her, bare at jeg driver å legger på et logg inn script og slik på localhost (XAMPP), som jeg ikke laster opp enda. Men på det forumet skal det være profilsider, altså slik profil.php?id=id_nummeret_til_brukeren hvor id nummeret er auto_increment primary key i databasen. Når man logger inn med mitt login script, så bruker jeg SELECT id, username, password siden noen sa jeg måtte det for å få til profilsidene...men hvis man f. eks er logget inn med bruker 26 og man går til profil.php?id=26 så kan man redigere profilen, men ikke hvis man da f. eks går til profil.php?id=235 Hvordan får jeg til dette? Legger ut login scriptet på pastebin hos NWF hvis dere trenger å se det. Endret 4. mars 2007 av Andy-Pandy
Mats Danielsen Skrevet 25. februar 2007 Skrevet 25. februar 2007 Du kan jo prøve med $id = $_GET['id']; $session = $_SESSION['id']; if($id == $session) { VISER SIDEN } else { echo "Du kan kun endre din egen profil!"; }
Anders Moen Skrevet 25. februar 2007 Forfatter Skrevet 25. februar 2007 Takk for hjelpen Fikk det til å fungere med den koden å sette på én ekstra ting i logg inn scriptet.
Anders Moen Skrevet 4. mars 2007 Forfatter Skrevet 4. mars 2007 Nå trenger jeg mer hjelp til dette igjen. La meg bruke koden fra W3Schools.com som eksempel: <?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("my_db", $con); $result = mysql_query("SELECT * FROM person"); while($row = mysql_fetch_array($result)) { echo $row['FirstName'] . " " . $row['LastName']; echo "<br />"; } mysql_close($con); ?> Hvordan putter jeg den koden din inn der? Jeg mener...jeg vil ha slik at hvis man er logget inn, og id'en er 2 og man går til ?page=profile&id=2 skal man kunne redigere profilen sin, men hvis man ikke er logget inn med id 2, skal man bare kunne se på profilen, og ikke redigere den, hvordan?
Mats Danielsen Skrevet 4. mars 2007 Skrevet 4. mars 2007 Du kan sette opp to format f.eks: /* Dersom SESSION id'en er den samme som ?id= */ if($_SESSION['id'] == $_GET['id']) { DET SOM SKAL VISES FOR ENDRING AV PROFIL } else { VISE PROFILEN NORMALT }
Anders Moen Skrevet 4. mars 2007 Forfatter Skrevet 4. mars 2007 Takk, men jeg fant en annen måte å gjøre det på. $id = $_GET['id']; $session = $_SESSION['id']; if($id == $session) { include "profile2.php"; } else { include "profile3.php"; } og inni de to legger jeg kodene som henter ut. Profile2 med et skjema, og profile3 med plain text. Men takk alikevel.
Mats Danielsen Skrevet 4. mars 2007 Skrevet 4. mars 2007 Var nå så og si det samme, eller er det samme bare du bruker variabler ;-) Det er ikke vits, bruk heller: /* Dersom SESSION id'en er den samme som ?id= */ if($_SESSION['id'] == $_GET['id']) { include "profile2.php"; } else { include "profile3.php"; }
Runar Skrevet 5. mars 2007 Skrevet 5. mars 2007 Kan du ikke bare ha alle tre profil.php sidene i én fil? Bytt ut "include X" med alt som står i filen, så slipper du å ha så mange forskjellige filer.
Anders Moen Skrevet 5. mars 2007 Forfatter Skrevet 5. mars 2007 Jo, det kan jeg, men gidder jeg? Nei...vil ha litt orden i filene mine, hehe. Men som det står, så er den løst
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå