Pettersenper Skrevet 15. mars 2011 Del Skrevet 15. mars 2011 (endret) Hei, jeg har laget ett felt for å registrere seg, og ett for å logge inn på siden min. Slik det er nå kan man regisrtere seg med samme informasjon flere ganger, slik at det blir lange lister med eks Per Hansen hvor hver enkelt Per har ulike passord. 1. Hvordan forhindrer man at det blir lagt inn flere brukere med samme informasjon? EDIT: Fikset med en funksjon i Dreamweaver. Insert-->dataobjects-->user authentication 2. Hvordan legger man til en pop-up boks som dukker opp når man skriver inn allerede brukt navn? Informasjonen i feltetene bør nullstilles etterpå EDIT: ikke viktig lengre 3. Kan man på en enkel måte få en pop-up, eller beskjed når man skriver feil innloggingspassord eller brukernavn? EDIT ikke viktig lengre 4. Hvordan får man til at når du har logget inn får du status som innlogget og dermed bestille varer i ditt navn? (Bare fiktivt) Endret 18. mars 2011 av Pettersenper Lenke til kommentar
Pettersenper Skrevet 15. mars 2011 Forfatter Del Skrevet 15. mars 2011 162 visninger? Er det ingen som har peiling eller trengs det mer info? Lenke til kommentar
quantum Skrevet 16. mars 2011 Del Skrevet 16. mars 2011 På spørsmål 1 er svaret at du må bruke en unik nøkkel/indeks på feltet hvor vil ha unike verdier. Da vil ikke databasen godta at du legger inn verdier på nytt. Du kan også spesifisere at det ikke skal tillates nullverdier. Hvis det passer seg slik i forhold til resten av databasen kan du definere brukernavn som primærnøkkel, da får du automatisk en unik indeks på feltet, og det tillates heller ikke nullverdier. De andre spørsmålene får du sikkert bedre svar på i en gruppe som har med programmering i det språket du bruker å gjøre, hva nå det måtte være ;-) Lenke til kommentar
Nickless Skrevet 17. mars 2011 Del Skrevet 17. mars 2011 Hvordan ser registeringsskjemaet ut? Fornavn og etternavn? Flere kan hete akkurat det samme, men hvis du f.eks bruker fødselsnummer er det ikke noe problem. F.eks i PHP: $query = "SELECT * FROM users WHERE identification = '$persnr'"; $query = mysql_query($query) or die(mysql_error()); $num_row = mysql_num_rows($query); /* Er tallet større enn 0 har noen registrert seg med personnummeret */ if($num_row > 0){ echo "En bruker med dette personnummeret er allerede registrert!\n"; exit; } else{ blablabla } 1 Lenke til kommentar
Pettersenper Skrevet 17. mars 2011 Forfatter Del Skrevet 17. mars 2011 (endret) Jeg er ikke helt sikker på hva jeg skal skrive for å legge det inn i det vi allerede har. Vi bruker automatisk generert kundenummer som fremmednøkkel. Epostadresse er brukernavn if (isset($_POST['Brukernavn'])) { $loginUsername=$_POST['Brukernavn']; $password=$_POST['Passord']; $MM_fldUserAuthorization = ""; $MM_redirectLoginSuccess = "Loggetinn.php"; $MM_redirectLoginFailed = "Feilbruker.php"; $MM_redirecttoReferrer = false; mysql_select_db($database_Nettbutikk, $Nettbutikk); Dersom man skriver inn feil passord har vi nå fått til at man går man videre til en side der det står at du skrev inn feil passord, og du må skrive inn på nytt, men det ser ut som i din kiode at man slipper å videresende til en ny side? Endret 17. mars 2011 av Pettersenper Lenke til kommentar
Nickless Skrevet 18. mars 2011 Del Skrevet 18. mars 2011 (endret) Jeg er ikke helt sikker på hva jeg skal skrive for å legge det inn i det vi allerede har. Vi bruker automatisk generert kundenummer som fremmednøkkel. Epostadresse er brukernavn if (isset($_POST['Brukernavn'])) { $loginUsername=$_POST['Brukernavn']; $password=$_POST['Passord']; $MM_fldUserAuthorization = ""; $MM_redirectLoginSuccess = "Loggetinn.php"; $MM_redirectLoginFailed = "Feilbruker.php"; $MM_redirecttoReferrer = false; mysql_select_db($database_Nettbutikk, $Nettbutikk); Man trenger ikke å videresende nei. Er bare å bruke isset Eksempel kan være: if(isSet($_SESSION['Bruker'])) { header("Location: Hovedsiden.php"); exit; } if(isset($_POST['Brukernavn']) && isset($_POST['Passord'])){ $username = stripslashes($_POST['Brukernavn']); $passord = stripslashes($_POST['Passord']); /*Hvis du bruker kryptering av passord*/ $passord = SHA1($passord); $username = mysql_real_escape_string($username); $query = "SELECT * FROM users WHERE Username = '$username' AND Passord = '$password'"; $query = mysql_query($query) or die(mysql_error()); $num_row = mysql_num_rows($query); if($num_row == 1){ /*Create session*/ $_SESSION['Bruker'] = username; echo "Du er nå innlogget. Sender deg videre...\n"; echo '<meta HTTP-EQUIV="REFRESH" content="2; url=http://www.url.url/Hovedsiden.php">'; } else{ echo "Det oppsto en feil ved innloggingen, vennligst sjekk brukernavn og passord.\n"; exit; } } /* Her kan du f.eks lage en sjekk for å se om bare et av feltene er fyllt ut (brukernavn og passord). */ /*Og nederest kan du lage login-form, bare sett at når man trykker submit sendes man videre til denne siden. */ Edit: Men anbefaler å gjøre det på den måten at man blir videresendt. Men hver sin smak Endret 18. mars 2011 av Nickless Lenke til kommentar
Pettersenper Skrevet 18. mars 2011 Forfatter Del Skrevet 18. mars 2011 Så vi burde altså ha det slik som det er? Men kan vi få til at når man går inn for å bestille bestiller man for det brukernavnet man har logget inn med? Slik det er nå blir man ikke egentlig "logget" inn, man bare går videre til en ny side Lenke til kommentar
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å