Gå til innhold

Brukerprofiler med innlogging osv..


Anbefalte innlegg

Hei!

Jeg har lyst til å prøve å lage brukerprofiler, jeg har fått til innlogging og registrering, men så har jeg problem med hvordan jeg skal få til at det skal bli opprettet nye profiler og slik at det er kun de som har den profilen som får til å endre den..

Har dere noen tips til hvordan jeg kan få til dette eller link til eks. en spessiel funksjon jeg må bruke i php manualen?

 

Håper noen kan hjelpe meg.. Takk!

Lenke til kommentar
Videoannonse
Annonse

En ting som jeg fikk problemer med nå, så isteden for å starte ett nytt topic så skriver jeg det her:

 

Den brukerinnlogginga jeg hadde laget jeg med hjelp fra en tutorial. Så nå ville jeg skrive en ganske enkel en selv uten å se noe på den tutorial eller evt. andre script..

Jeg fikk til å lage brukere osv helt uten problemer, men når jeg skulle logge inn så fikk jeg denne feilmeldingen:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/vhosts/blomso.net/httpdocs/bruker/laction.php on line 14

 

Jeg har brukt å fått denne noen ganger før, men da har feilen vært at jeg feks har skrevet feil på noen av tingene jeg har i tabellen.. Her er koden som jeg logger inn med.. (veldig enkel å skrevet på kort tid ;) )

<?php
if($_POST["brukernavn"] && $_POST["passord"]){
$brukernavn=$_POST["brukernavn"];
$passord=md5($_POST["passord"]);
if($brukernavn==""){
echo "Du må fylle ut alle feltene!";
}elseif($_POST["passord"]==""){
echo "Du må fylle ut alle felten!";
}else{
include ('config.php');
$logginn = @mysql_query("SELECT brukerid, passord FROM brukere
WHERE brukernavn=$brukernavn");
$result=mysql_query($logginn);
while($result1=mysql_fetch_array($result)){
if($passord==$result1["passord"]){
echo "YES!";
}else{
echo "Feil brukernavn eller passord!1";}}}}
?>

 

 

Den er lagt fra ferdig da.. Skal forbedre mye på den..

 

Og hvis dere trenger det også, så er her tabellen:

create table brukere 
(brukerid INT NOT NULL AUTO_INCREMENT, 
brukernavn VARCHAR(30) NOT NULL,
passord VARCHAR(255) NOT NULL,
PRIMARY KEY (`brukerid`))

 

Noen som vet hva som er feil? Takk!

 

btw: Lurer også på det første spørsmålet enda.. :thumbup:

Lenke til kommentar

$logginn = @mysql_query("SELECT brukerid, passord FROM brukere

WHERE brukernavn=$brukernavn");

Skal være

$logginn = @mysql_query("SELECT brukerid, passord FROM brukere

WHERE brukernavn='$brukernavn'");

 

Forøvrig burde du escape input med mysql_real_escape_string() før du setter de inn i en spørring.

 

For å kun redigerere sin egen profil burde du gjøre slik at hver bruker har sin egen distincte gjennkjennelsestegn du sjekker opp i mot databasen. Som f.eks id, brukernavn eller noe slikt du har satt i sessions eller cookies.

Lenke til kommentar

Ahh.. Oki.. Takk! Men så at jeg hadde skrevet litt feil på det første spørsmålet mitt nå.. Alltså: Jeg kan å lage cms og sånn nyhetsting i php.. Og jeg antar at det er på samme måte det med brukerprofiler fungere..(?) Men hvordan får jeg til at det blir opprettet en ny ofr hver bruker som registrer seg osv.. Snakker med en på msn for en stund siden, og han skrev link til en funksjon i php manualen som jeg skulle se på.. Men har glemt hva det var:P

Lenke til kommentar

LoS: Jeg testa den koden jeg fikk nå.. Men jeg fikk akuratt samme feil mld.. Prøvde også med:

$logginn = @mysql_query("SELECT brukerid, passord FROM brukere

WHERE brukernavn='{$_POST['brukernavn']}'");

 

Men fikk akuratt samme da også...

 

 

EDIT: Fikk fiksa det nå :D Feilen var at jeg hadde brukt mysql_query() to ganger.. :cool::whistle:

 

 

EDIT2: Hmm.. :hmm: Alt med innlogginga osv funker gull nå.. Men det som skal skje hvis man blir logget inn eller har skrevet feil passord skjer to ganger.. Alltså:

Hvis man logger inn så får man "Du er logget inn!Du er logget inn!" og hvis man skriver feil brukernavn elr passord så får man "Feil brukernavn eller passord!Feil brukernavn eller passord!"

 

Her er koden slik den er nå:

<?php
if($_POST["submit"]){
$brukernavn=$_POST["brukernavn"];
$passord=md5($_POST["passord"]);
include ('config.php');
$logginn = @mysql_query("SELECT brukerid, passord FROM brukere
WHERE brukernavn='$brukernavn'");
while($result1=mysql_fetch_array($logginn)){
if($passord==$result1["passord"]){
echo "Du er logget inn!";
}else{
echo "Feil brukernavn eller passord!";}}}
?>

Endret av oblomsoe
Lenke til kommentar
Hei!

 

Hva redigerer dere med? Jeg forøkte med kodene i FrontPage, men det funket ikke akkurat :no: ....

Frontpage + PHP???

 

Frontpage klarar knapt å lage ein gyldig HTML-tag.

 

Dersom ein jobbar mykje med HTML/CSS/PHP/SQL saman, så er det for meg i alle fall naturleg å ikkje bruke nokon WYSIWYG, men å bruke ein teksteditor (bruker Bluefish i GNU/Linux. Når eg brukte Windows brukte eg vel EditPlus). Det eg treng er highlighting av kode og ein liten filbehandlar på sida som gjer det lett å opne nye filer osv.

Lenke til kommentar

Nei.. alt det dær kan jeg.. Men lurte på hva som var smartest og sikreste måte å gjøre det på slik at andre ikke skal få til å redigere profilen til andre enn seg selv.. Går det da an å bruke SELECT brukerprofil FROM brukere

WHERE brukernavn='$_SESSION['brukernavn']'?

 

Eller er det noe annet smart som dere bruker?

Lenke til kommentar
EDIT2: Hmm.. :hmm: Alt med innlogginga osv funker gull nå.. Men det som skal skje hvis man blir logget inn eller har skrevet feil passord skjer to ganger.. Alltså:

Hvis man logger inn så får man "Du er logget inn!Du er logget inn!" og hvis man skriver feil brukernavn elr passord så får man "Feil brukernavn eller passord!Feil brukernavn eller passord!"

 

Her er koden slik den er nå:

<?php
if($_POST["submit"]){
$brukernavn=$_POST["brukernavn"];
$passord=md5($_POST["passord"]);
include ('config.php');
$logginn = @mysql_query("SELECT brukerid, passord FROM brukere
WHERE brukernavn='$brukernavn'");
while($result1=mysql_fetch_array($logginn)){
if($passord==$result1["passord"]){
echo "Du er logget inn!";
}else{
echo "Feil brukernavn eller passord!";}}}
?>

Prøv dette istedenfor:

<?php
if($_POST["submit"]) {
   $brukernavn=$_POST["brukernavn"];
   $passord=md5($_POST["passord"]);
   include ('config.php');
   $logginn = @mysql_query("SELECT brukerid, passord FROM brukere WHERE brukernavn='$brukernavn' AND passord='$passord'");
   if(mysql_num_rows($logginn) == 1) {
       echo "Du er logget inn!";
   } else {
       echo "Feil brukernavn eller passord!";
   }
}
?>

:)

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...