Rescudo Skrevet 10. juli 2004 Del Skrevet 10. juli 2004 (endret) loginform.php: <form method="post" action="loginaction.php"> Brukernavn: <input type="text" name="brukernavn"> <br> Passord: <input type="password" name="passord"> <br> <input type="submit" value="Logg inn"> </form> loginaction.php: <?php $brukernavn = "brukernavn"; /* Skriv inn brukernavnet du vil ha her */ $MD5_passord = "md5kryptert passord abcdef1234567890 "; $brukerdata = $_POST['brukernavn']; $passord = md5($_POST['passord']); if($passord == "$MD5_passord" && $brukerdata == "$brukernavn") { session_start(); $_SESSION['innlogget'] = 1; $_SESSION['brukernavn'] = $brukernavn; $_SESSION['passord'] = $MD5_passord; } else { echo "Feil brukernavn eller passord! Sjekk at Caps Lock ikke er aktivert og prøv igjen."; } ?> loggut.php: <?php session_start(); session_destroy(); echo "Du er nå logget ut! "; ?> Sjekker om du er innlogget: <?php if ($_SESSION['innlogget'] == 1) { //du er innlogget } else { //du er ikke innlogget } ?> Og husk å putte session_start(); helt i toppen av alle sider som bruker $_SESSION. Lykke til videre Endret 11. juli 2004 av opix Lenke til kommentar
Tha_Zaynt Skrevet 10. juli 2004 Forfatter Del Skrevet 10. juli 2004 Bare et siste spørsmål; må brukernavn og passordet på innloggings-scriptet være det samme som på phpmyadmin? Lenke til kommentar
Rescudo Skrevet 10. juli 2004 Del Skrevet 10. juli 2004 (endret) Niks, det må det ikke. Du kan velge akkurat det brukernavnet og passordet du vil ha. EDIT: Så lenge det er md5-kryptert. Du kan generere et md5passord slik: $pass = md5("passord"); Endret 10. juli 2004 av opix Lenke til kommentar
Tha_Zaynt Skrevet 10. juli 2004 Forfatter Del Skrevet 10. juli 2004 hm...får bare: Warning: mysql_query(): Access denied for user: 'ODBC@localhost' (Using password: NO) in c:\appserv\www\steinar\slettinnhold.php on line 6 Warning: mysql_query(): A link to the server could not be established in c:\appserv\www\steinar\slettinnhold.php on line 6 En feil oppstod. når jeg trykker på slett-knappen EDIT: ble ikke det siste spørsmålet likevel;) Lenke til kommentar
Rescudo Skrevet 11. juli 2004 Del Skrevet 11. juli 2004 (endret) inkluder config.php.... Og det gjør ingenting at du stiller spørsmål, det er jo det forumet er til! Endret 11. juli 2004 av opix Lenke til kommentar
Tha_Zaynt Skrevet 12. juli 2004 Forfatter Del Skrevet 12. juli 2004 (endret) Får forsatt samme error når koden ser slik ut: <?php session_start(); if ($_SESSION['auth']) { include ('config.php'); $id = $_GET['id']; if (mysql_query("DELETE FROM $mySQLtable WHERE id = '$id'")) { echo "Innlegget er slettet."; } else { echo "En feil oppstod."; } } else { echo "Du må være logget inn dersom du skal ha tilgang til denne funksjonen.<p>"; include ("login.php"); } ?> Hva er galt her da hmmm ? Endret 12. juli 2004 av Tha_Zaynt Lenke til kommentar
Rescudo Skrevet 13. juli 2004 Del Skrevet 13. juli 2004 har du husket å koble til mysql? Jeg vet at ikke alle pleier å koble til i selve config.php, så jeg bare spør.. Lenke til kommentar
Tha_Zaynt Skrevet 13. juli 2004 Forfatter Del Skrevet 13. juli 2004 nope, det skjer ikke i config.php, men i reg.php hos meg, så der ligger nok feilen ja. Men jeg får parse error når jeg skriver inn connect to mySQL koden, sikkert bare en fnutt som mangler eller noe, men jeg finner ikke feilen. Her er koden; <?php session_start(); ?> <?php include ("config.php"); if ($_SESSION['auth']) {mysql_connect($mySQLhost, $mySQLuser, $mySQLpass) or die("Could not connect: " . mysql_error()); mysql_select_db($mySQLdb);} $id = $_GET['id']; if (mysql_query("DELETE FROM $mySQLtable WHERE id = '$id'")) { echo "Innlegget er slettet."; } else { echo "En feil oppstod."; } } else { echo "Du må være logget inn dersom du skal ha tilgang til denne funksjonen.<p>"; include ("login.php"); } ?> Lenke til kommentar
jorgis Skrevet 13. juli 2004 Del Skrevet 13. juli 2004 må man ikke ha mellomrom mellom { og neste linje med kode? if ($_SESSION['auth']) { mysql_connect($mySQLhost, $mySQLuser, $mySQLpass) or die("Could not connect: " . mysql_error()); mysql_select_db($mySQLdb); } Lenke til kommentar
Rescudo Skrevet 13. juli 2004 Del Skrevet 13. juli 2004 (endret) nope, det skjer ikke i config.php, men i reg.php hos meg, så der ligger nok feilen ja. Men jeg får parse error når jeg skriver inn connect to mySQL koden, sikkert bare en fnutt som mangler eller noe, men jeg finner ikke feilen. Her er koden; <?php session_start(); ?> <?php include ("config.php"); if ($_SESSION['auth']) {mysql_connect($mySQLhost, $mySQLuser, $mySQLpass) or die("Could not connect: " . mysql_error()); mysql_select_db($mySQLdb);[b]}[/b] $id = $_GET['id']; if (mysql_query("DELETE FROM $mySQLtable WHERE id = '$id'")) { echo "Innlegget er slettet."; } else { echo "En feil oppstod."; } } else { echo "Du må være logget inn dersom du skal ha tilgang til denne funksjonen.<p>"; include ("login.php"); } ?> Du har en } for mye... riktig: <?php session_start(); ?> <?php include ("config.php"); if ($_SESSION['auth']) { mysql_connect($mySQLhost, $mySQLuser, $mySQLpass) or die("Could not connect: " . mysql_error()); mysql_select_db($mySQLdb); $id = $_GET['id']; if (mysql_query("DELETE FROM $mySQLtable WHERE id = '$id'")) { echo "Innlegget er slettet."; } else { echo "En feil oppstod."; } } else { echo "Du må være logget inn dersom du skal ha tilgang til denne funksjonen.<p>"; include ("login.php"); } ?> Endret 13. juli 2004 av opix Lenke til kommentar
Tha_Zaynt Skrevet 13. juli 2004 Forfatter Del Skrevet 13. juli 2004 Fikk fiksa slette-funksjonen nå. Takk for hjelpen!. Men et spørsmål til; Jeg prøver å få til sånn at webadrerssen de skriver inn blir til en link, men har litt problemer.Får denne feilmeldingen;Parse error: parse error, unexpected T_VARIABLE in c:\appserv\www\steinar\reg.php on line 20. Slik ser koden ut nå; if ($webside == "http://") { $webside = "ingen side"; } else { (linje 20)$webside = "<a href="$webside">"$webside"</a>"; } Lenke til kommentar
jorgis Skrevet 13. juli 2004 Del Skrevet 13. juli 2004 (endret) Du må huske å escape dobbeltfnutter med \, eller bruke ' til å omslutte strengen med istedenfor. if ($webside == "http://") { $webside = "ingen side"; } else { (linje 20)$webside = "<a href=\"$webside\">\"$webside\"</a>"; } Endret 13. juli 2004 av jorgis Lenke til kommentar
Tha_Zaynt Skrevet 13. juli 2004 Forfatter Del Skrevet 13. juli 2004 (endret) Funka det ja. Takk skal du ha! Er det forresten _ekstremt_ vanskelig å legge til smileys-funksjon? Endret 13. juli 2004 av Tha_Zaynt Lenke til kommentar
jorgis Skrevet 13. juli 2004 Del Skrevet 13. juli 2004 Evt. kan du lese på preg_replace, og lære deg regulære utrykk. Det kan komme godt med hvis du vil implementere støtte for BBCode. Lenke til kommentar
Rescudo Skrevet 13. juli 2004 Del Skrevet 13. juli 2004 Denne er fin: http://phptriks.7kt.net/index.php?side=art...ikel&ptside=PHP Lenke til kommentar
aog Skrevet 14. juli 2004 Del Skrevet 14. juli 2004 Hei.. Jeg søkte etter akkurat denne tråden.. og jeg fant den men det var ikke det jeg skulle si. Jeg ser det ble brukt if ($_SESSION['innlogget'] == 1), men kan jeg bruke $_SESSION['brukernavn'] = $brukernavn;, og sjekke om det er likt en row i en tabel? Saken er at jeg skal ha flere brukere. En bruker som har lagt inn en "post" i en database skal kunne slette den, men ingen andre. Derfor lurte jeg på om jeg kan sjekke at $_SESSION['brukernavn'] = $brukernavn && $user; eller noe slikt. Går det? Lenke til kommentar
Rescudo Skrevet 14. juli 2004 Del Skrevet 14. juli 2004 Da må du sjekke om posten som skal slettes er skrevet av den som går inn i scriptet. f.eks. if ($_SESSION['brukernavn'] == $post->forfatter) Dette betinger at du har hentet ut posten i variabelen post, at du har en kolonne som heter forfatter som inneholder brukernavnet til forfatteren av posten og at du har en session med brukernavnet i. Lenke til kommentar
aog Skrevet 14. juli 2004 Del Skrevet 14. juli 2004 bra. da funker det slik jeg håpet. Kan jeg hente brukernavn fra ($_SESSION['brukernavn'] så jeg kan få et skrit til å automatisk legge in forfatter når forfateren skal lage posten?, eller må det skrives inn manuelt? Kan selfølgelig kontrolere at navn of brukernavn er lik før en post lagres, men det ville vert kjekkere om forfatter kunne skrives inn automatisk etter hvilken bruker som var loget inn. Lenke til kommentar
Tha_Zaynt Skrevet 14. juli 2004 Forfatter Del Skrevet 14. juli 2004 Har laget flooding-sperre til gjesteboken min nå, slik at det bare går an å skrive et innlegg i timen. Når man har en slik floodingsperre må nødvendigvis tiden og datoen for innlegget være logget i samme filen som ip'en. Derfor lurer jeg på om det er mulig å hente frem denne infoen, slik at datoen og tiden vises i innlegget. //Floodingsperre if (!file_exists($IPLogFile)) { $fp = fopen($IPLogFile, "w"); fwrite($fp, ""); fclose($fp); } function FloodDetector($IPLogFile) { $done = 0; $line = 0; $file = file($IPLogFile); $ip = getenv("REMOTE_ADDR"); $hour = date("HdmY"); $date = $a[6]; while($file[$line]) { $a = explode("|", $file[$line]); if (($a[0] == $ip) && ($a[1] == $hour)) { $done = 1; } $line++; } if ($done == 1) return true; else { $a = implode($file, ""); $fp = fopen($IPLogFile, "w"); fwrite($fp, $ip . "|" . $hour . "|\n" . $a); fclose($fp); return false; } } 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å