robgar Skrevet 14. september 2004 Del Skrevet 14. september 2004 (endret) Hei, har nettop startet med MySQL Det er bare en del ting jeg lurer på: Hvordan setter man inn en $streng i Databasen? $streng = verdi Og hvordan bruker man funksjonen MD5, slik at den kommer kryptert inn i databasen? md5($streng); Håper på kjapt svar, og Takk på forhånd! Endret 14. september 2004 av robgar Lenke til kommentar
Torbjørn Skrevet 14. september 2004 Del Skrevet 14. september 2004 man setter inn data i en mysqltabell ved å sette kolonner til verdier i rader md5() kan brukes i mysql, ie insert into table set password=md5('$streng') Lenke til kommentar
robgar Skrevet 14. september 2004 Forfatter Del Skrevet 14. september 2004 $query = "CREATE TABLE members ( name VARCHAR(255) NOT NULL PRIMARY KEY, pass VARCHAR(255) NOT NULL memberid VARCHAR(255) NOT NULL )"; mysql_query($query); Har laget en Tabell med tre kolonner, Hvordan velger jeg hvilken av dem som det skal skrives en $streng til? Slik?: $navn = testnavn; $pass = testepass; $memberid = memberidFunksjon som tar det høyeste og plusser på 1.; $query = "INSERT into members VALUES (name, pass, memberid) set name=$navn, set pass=md5($pass), set memberid=$memberid"; mysql_query($query); Lenke til kommentar
Lokaltog Skrevet 14. september 2004 Del Skrevet 14. september 2004 INSERT INTO `members` (`kolonne1`,`kolonne2`,`kolonne3`) VALUES ('verdi for kolonne 1','verdi for kolonne 2','verdi for kolonne 3') Du trenger da noe liknende: INSERT INTO `members` (`name`,`pass`,`memberid`) VALUES ('$navn',MD5('$pass'),'$id') Du burde forresten sette memberid til auto_increment, så slipper du å sette inn en ny id for hvert medlem. Du må også gi variablene $navn, $pass og $id verdier FØR du kjører spørringen. Lenke til kommentar
robgar Skrevet 14. september 2004 Forfatter Del Skrevet 14. september 2004 Takk Slik sant? $navn = tester; $upass = testerpass; $pass = md5('$upass'); $memberid = auto_increment('001'); $query = "INSERT INTO members (name, pass, memberid) VALUES ('$navn', '$pass', '$memberid')"; mysql_query($query); Lenke til kommentar
Torbjørn Skrevet 14. september 2004 Del Skrevet 14. september 2004 ikke angi og ikke sett inn noen memberid, den vil mysql telle opp av seg selv Lenke til kommentar
robgar Skrevet 14. september 2004 Forfatter Del Skrevet 14. september 2004 (endret) En siste ting... Beklager for alt bryet... Hvordan sammenlikner jeg data i databasen med strenger? NB! verdien tester er lagret i databasen. $navn = tester; $result = mysql_query("SELECT * FROM members"); if ($navn == $result['name']) { print('navn er i databasen'); } else {print('navn er ikke i databasen');} EDIT: Dette resulterte i at Else kom opp. ... Oppdaterte koden litt, men nå kommer det bare opp (else funksjonen (navn er ikke i databasen). Selv om $navn == $resultat['name'] Endret 14. september 2004 av robgar Lenke til kommentar
robgar Skrevet 14. september 2004 Forfatter Del Skrevet 14. september 2004 ikke angi og ikke sett inn noen memberid, den vil mysql telle opp av seg selv Hvordan sjekker jeg opp denne id'en da? Lenke til kommentar
Torbjørn Skrevet 14. september 2004 Del Skrevet 14. september 2004 hva ønsker du å sjekke opp? det virker som om du har nytte av å sette deg ned og følge en tutorial på nett. php og mysql er det skrevet spaltekilometere om. www.php.no Lenke til kommentar
robgar Skrevet 14. september 2004 Forfatter Del Skrevet 14. september 2004 Name, pass og ID med tilsvarende i dokumentet (Altså et login skript, med tre variabler) Lenke til kommentar
Torbjørn Skrevet 14. september 2004 Del Skrevet 14. september 2004 vet ikke hva du ønsker å sjekke opp id'en for. den økes automatisk hvis du setter inn username og password og denne variabelen er vel heller ikke noe du skal sjekke ved innlogging. alt slikt står godt beskrevet i tutorials og guider. Lenke til kommentar
356speedster Skrevet 14. september 2004 Del Skrevet 14. september 2004 (endret) Lurer også på hvordan jeg får dekodet MD5 tilbake til normal tekst direkte fra MySql? eksempel: INSERT INTO tabellnavn SET kolonnenavn = MD5('hemmelig tekst') Dette fører til at 'hemmelig tekst' blir lagret kodet. men... SELECT MD5(kolonnenavn) FROM tabellnavn Fører ikke til at den dekoder tilbake til 'hemmelig tekst', hvordan gjøres det? Endret 14. september 2004 av 356speedster Lenke til kommentar
356speedster Skrevet 14. september 2004 Del Skrevet 14. september 2004 Lurer også på hvordan jeg får dekodet MD5 tilbake til normal tekst direkte fra MySql? eksempel: INSERT INTO tabellnavn SET kolonnenavn = MD5('hemmelig tekst') Dette fører til at 'hemmelig tekst' blir lagret kodet. men... SELECT MD5(kolonnenavn) FROM tabellnavn Fører ikke til at den dekoder tilbake til 'hemmelig tekst', hvordan gjøres det? Hmm, tenkte litt på dette nå, og selvfølgelig funger ikke SELECT MD5(kolonnenavn) FROM tabellnavn, da ville jo hele poenget med kryptering vært borte. Men noe slikt burde fungere: SELECT * FROM tabellnavn WHERE kolonnenavn = MD5('hemmelig tekst') Men jeg får det ikke til å fungere, så er det noen som vet bedre? Lenke til kommentar
Torbjørn Skrevet 14. september 2004 Del Skrevet 14. september 2004 ditt siste forslag er korrekt, det er slikt det er ment å fungere. Lenke til kommentar
356speedster Skrevet 14. september 2004 Del Skrevet 14. september 2004 (endret) opps, det funket vist likevel :-) Altså (forenklet): Lagre passord: INSERT INTO brukere SET passord = MD5('mittpassord') Sjekke passord: SELECT * FROM brukere WHERE passord = MD5('mittpassord') Endret 14. september 2004 av 356speedster 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å