Anonym58508583 Skrevet 2. oktober 2012 Del Skrevet 2. oktober 2012 (endret) Hei! Jeg brukte kvelden i går på å lage et enkelt php innloggingsystem. Jeg lurer på om det går bra å blande PHP og HTML. se eksempelet: <?php require('access.php'); ?> [HER KOMMER HTML KODEN] Dere kan selv se hvordan resultatet ble (har ikke fått lagt til riktig HTML kode i det heletatt, men det virker ser det ut til..) Passordet til websiden er; hello Bendiksverden.net Takk for all hjelp Endret 2. oktober 2012 av BeatThatZ Lenke til kommentar
Anonym58508583 Skrevet 2. oktober 2012 Forfatter Del Skrevet 2. oktober 2012 Laster opp selve systemet.. PHP+HTML.zip Lenke til kommentar
Crowly Skrevet 3. oktober 2012 Del Skrevet 3. oktober 2012 (endret) Det er ikke noe problem å blande php og html. F.eks. <h2>Test</h2> <?php $var1='Heisann'; ?> PHP variabelen inneholder:<br /> <?php echo $var1; ?> Endret 3. oktober 2012 av Crowly 1 Lenke til kommentar
dahuff Skrevet 5. oktober 2012 Del Skrevet 5. oktober 2012 Det går bra å blande slik som tidligere nevnt. Men for mer kompliserte applikasjoner må man skille på logikk og visning sånn at koden ikke bare blir grøt. 1 Lenke til kommentar
flipsenated Skrevet 5. oktober 2012 Del Skrevet 5. oktober 2012 (endret) Du kan også bruke <?php print <<<EOF // html EOF; // php ?> Endret 5. oktober 2012 av Flipsen Lenke til kommentar
Olavxxx Skrevet 11. oktober 2012 Del Skrevet 11. oktober 2012 Man kan også bruke shorthand som feks: <? $title="Den store vevsiden"; ?> <html> <head> <title><?=$title?></title> </head> <body> Her er to måter med Echo, du kan også bruke Print <br /> Forskjellen på de to nedenfor, er at med double quotes, må du escape med backslash om du har doublequotes i html. Du kan også parse variablene. <?php echo '<a href="#">'.$title.'</a><br />'; echo "<a href=\"#\">{$title}</a>"; ?> </body> </html> Lenke til kommentar
Olavxxx Skrevet 11. oktober 2012 Del Skrevet 11. oktober 2012 Har et par forslag. 1. Bytte til Crypt med Salt (en sjekksum er ikke en kryptering, selv om linkedin og andre har trodd det) 2. På logout, redirecte til hovedsiden? (enten via header location eller en meta refresh og noe HTML som sier at man blir videresendt innen 5 sekunder). Her er kode for å redirecte i headeren Ps. husk at som sesjonsvariabel, må dette gjøres før du "parser" noe. Så lite som et mellomrom er nok for å hindre dette i å virke. header("HTTP/1.1 301 Moved Permanently"); header("Location: http://...."] header("Connection: close"); Tanken er at logout fører til indekssiden. Det samme kan du gjøre ved feil passord, fremfor å bruke DIE(), kan du kjøre de hjem til login. For å ta med deg feilkoder, kan du velge å ha en sesjonsvariabel som heter for eksempel ERRCODE. Permission denied i HTML er jo 505, så d kan jo stjele den Og så parse ut på hovedsiden "Wrong password" om du finner 505 i den sesjonsvariabelen. Men husk å unset() den når du får success på login Lenke til kommentar
Anonym58508583 Skrevet 20. oktober 2012 Forfatter Del Skrevet 20. oktober 2012 Trenger hjelp med to ting 1. Hvordan kan jeg gjøre så den printer "Wrong password!" i rødt, fet skrift? Wrong password! 2. Er det mulig å ha flere passord, eksempel "hello" og "byebye"? Lenke til kommentar
dolten Skrevet 20. oktober 2012 Del Skrevet 20. oktober 2012 (endret) Hmmm, må du ha det innfelt i PHP kode? Bruker strengt tatt bare ".htaccess" og ".htpasswd". Plaser dei to filene i samme katalog som den du vil ha adgangssperre på. .htaccess AuthName "Realm name" AuthType Basic AuthUserFile /"webfolder"/.htpasswd require valid-user .htpasswd user1:kryptert passord user2:kryptert passord user3:kryptert passord for å få kryptert passord er det eit lite php skript for å få det fram: <?php // Password to be encrypted for a .htpasswd file $clearTextPassword = 'some password'; // Encrypt password $password = crypt($clearTextPassword, base64_encode($clearTextPassword)); // Print encrypted password echo $password; ?> Ellers finnest det generatorer for det på nett. *sub/under kataloger vil også få adgangsperre om du var redd for det. Endret 20. oktober 2012 av dolten Lenke til kommentar
Crowly Skrevet 21. oktober 2012 Del Skrevet 21. oktober 2012 1. Hvordan kan jeg gjøre så den printer "Wrong password!" i rødt, fet skrift? Skal du ha det ut på en web side så bruker css: color: red; font-weight: bold; Dette legger du enten i en style tag på en div eller span, eller i en class i en css fil, eks // html <div style="color: red; font-weight: bold;">Wrong password!</div> <span style="color: red; font-weight: bold;">Wrong password!</span> <div class="password">Wrong password!</div> // css .password { color: red; font-weight: bold; } 2. Er det mulig å ha flere passord, eksempel "hello" og "byebye"? Ja, kommer an på hva slags innlogging system man vil ha/lager. Det mest normale er vel å ha en bruker med tilhørende passord, som er lagret i filer eller en database. Men man kan ha noe statisk ala if ($_POST['pwd']=='hello' or $_POST['pwd']=='byebye') { // alernativt: if (in_array($_POST['pwd'],array('hello','byebye'))) { // passord ok } else echo '<div style="color: red; font-weight: bold;">Wrong password!</div>'; men er neppe en god løsning. Lenke til kommentar
Anonym58508583 Skrevet 21. oktober 2012 Forfatter Del Skrevet 21. oktober 2012 Takk Er det mulig å ordne slik at den stenger ute ved feil forsøk? for eksempel ved 3. feil blir man utestengt i 15min (cookie?) da vil kun teksten "Please try again in 15 minutes!" printes på en hvit side. Lenke til kommentar
Anonym58508583 Skrevet 21. oktober 2012 Forfatter Del Skrevet 21. oktober 2012 Tenkte å senere utvide med SQL databaser, kan noen hjelpe meg litt med hvordan jeg går fram med det? Og et registreringssystem (hvor jeg må sette "Active" fra default "false" til "true" for å godkjenne de) Og et glemt passord system. Lenke til kommentar
Crowly Skrevet 21. oktober 2012 Del Skrevet 21. oktober 2012 Det finnes en haug av slike guider ett lite google søk unna. Hvis målet ditt er å løse en ting, så kan det være mer fruktbart å se om du finner ett ferdig system som dekker behovet ditt. Hvorfor finne opp hjulet på nytt? Hvis du skal lære, så er det bedre om du begynner selv, og når du står fast så spør du her. Lenke til kommentar
Gjest Skrevet 21. oktober 2012 Del Skrevet 21. oktober 2012 Trådstarter, vil du virkelig lære PHP programmering? Begynn å LES! HTML, CSS og PHP. Lenke til kommentar
Anonym58508583 Skrevet 22. oktober 2012 Forfatter Del Skrevet 22. oktober 2012 Slikt! Men, vet noen hvordan jeg kan sette at den utsteder en cookie på 15min ved 3 feil? Lenke til kommentar
Crowly Skrevet 22. oktober 2012 Del Skrevet 22. oktober 2012 En cookie er neppe en god ide, den er det jo bare å slette. Du må nok lagre ip og evt andre ting som gjør at du unikt identifiserer brukeren, sammen med ett tidspunkt. Så må du sjekke mot dette tidspunktet når brukeren prøver å logge inn (igjen). Vil du bruke cookie, så ta en titt på set_cookie(). Hentes igjen med $_COOKIE['xxx'] hvor xxx er verdien i første parameteret i set_cookie(). Lenke til kommentar
Anonym58508583 Skrevet 5. november 2012 Forfatter Del Skrevet 5. november 2012 Vet noen hvordan/om jeg kan gjøre slik at den logger alle innloggingsforsøk? (med IP, om det var vellykket, og når, eventuell tilleggsinformasjon er ok) Da kan jeg stenge ute totalt via .htaccess Lenke til kommentar
Spenzer Skrevet 5. november 2012 Del Skrevet 5. november 2012 (endret) Vet noen hvordan/om jeg kan gjøre slik at den logger alle innloggingsforsøk? (med IP, om det var vellykket, og når, eventuell tilleggsinformasjon er ok) Da kan jeg stenge ute totalt via .htaccess Anbefaler at du forsøker å lese litt på dette. For eks w3schools.com har mye bra stoff. Har lagd en liten jalla eksempel kode på det du spurte om, ikke bare copy, paste men forsøk å forstå hva jeg har gjort i koden. <?php // Koble til DB require_once("db.php"); // Legg til IP i logg tabell i databasen $ip = $_SERVER['REMOTE_ADDR']; $query = "INSERT INTO `log` (`ip`, `tidspunkt`, `handling`)VALUES('$ip', NOW(), 1); // La oss si at handling = 1 vil si at brukeren har forsøkt å logge inn $sql = mysql_query($query); if (!$sql) { echo('En SQL feil oppstod'); die; } // Sjekk om bruker har utført samme handling de 3 siste gangene. $query = "SELECT `ip` FROM `logs` WHERE `ip`='$ip' AND `handling`=1 ORDER BY `tidspunkt` DESC"; $sql = mysql_query($query); if (!$sql) { echo('En SQL feil oppstod'); die; } $tell = mysql_num_rows($sql); if ($tell > 2) { echo('Denne personen med denne IP adressen har forsøkt å logge inn 3 ganger'); die; } ?> PS. Jeg har skrevet koden i notepad uten å teste den, så mulig det er noen små feil. Forresten, for at eksempelet over skal fungere må du lage en db.php fil som inneholder database informasjonen din. Du trenger også en tabell i databasen din som heter "logs" og inneholder 3 kolonner (ip, tidspunkt og handling) disse må være av type (varchar, datetime, integer). Endret 5. november 2012 av Spenzer Lenke til kommentar
Yawa Skrevet 7. november 2012 Del Skrevet 7. november 2012 som tidligere skrevet, så lagre informasjon om brukeren som skal logge seg inn i en database. Anbefaler deg 2 tabeller - En brukertabell og en innloggingstabell. Når noen skal logge seg inn må de oppgi et brukernavn og et passord. Når brukeren klikker "logg inn", oppretter du en ny rad i innloggingstabellen med diverse info som brukerens id, hvis brukernavn stemte over ens, samt ip-adresse og annen relevant info. Samtidig setter du et nytt tidspunkt i en timestamp kolonne. Hvis innloggingen feilet har du en kolonne som du gjør +1 på ved hvert forsøk. Hvis denne telleren når til eksempel 3, så sperrer du denne profilen/kontoen. Du kan sette en timestamp-timeout i bruker tabellen slik at, uansett uavhengig av ip eller whatever, så kan ikke akkurat denne brukeren logge seg inn før denne timeouten utløper pga profilen har fått en timeout i ditt system. evt. kan du i dette tilfellet også sperre kontoen til brukeren og sende en mail til brukerens registrerte epost med info om hendelsen samt overlevere data om personen som forsøkte å logge seg inn. I mailen kan du også tildele en link som lar akkurat denne brukeren åpne/aktivere profilen sin igjen... 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å