nree Skrevet 25. januar 2006 Forfatter Del Skrevet 25. januar 2006 (endret) Tror jeg klarte å fikse alt nå, utenom add.php altså scriptet hvor man legger til en hilsen.. <?php session_start(); $mysql_host = "localhost"; $mysql_user = "nils"; $mysql_pass = "**PASSORD**"; $mysql_db = "nils"; $link = mysql_connect ($mysql_host, $mysql_user, $mysql_pass) or die ("$lang_dberr1"); if (mysql_select_db ($mysql_db)) { $mode = $_GET['mode']; $error = true; if ($mode == "process") { $tekst = $_POST['tekst']; $avsender = $_POST['avsender']; $dato = date("Y-m-d H:i:s"); $ip = $_SERVER['REMOTE_ADDR']; $ins_str = ("Insert into innhold set tekst='$tekst', avsender='$avsender', dato='$dato' ip='$ip'"); if (mysql_query($ins_str)) { $error = False; } else { $msg = "Kunne ikke legge til."; } if (!$error) { echo "Hilsen/Ønske er lagt til!"; } else { echo " <p>Error</p> $msg "; } } else { echo " <table> <tr> <td><b>Hilsen / Ønske</td> </tr> <form method='POST' action='add.php?mode=process' name='leggtil'> <tr> <td> <tr> <td>Ditt navn:<br> <input type='text' name='avsender' size='30'></td> </tr> <tr> <td>Hilsen / Ønske<br> <textarea WRAP='VIRTUAL' rows='6' name='tekst' cols='40'></textarea><br> </td> </tr> <tr> <td> <input type='submit' value='OK' name='leggtil'></td> </tr> </table> <input type='hidden' name='ip' value='$ip'> </form> "; } } ?> EDIT: Siden det er flere som har tillgang til mySQL databasen jeg bruker, er det mulig å få inn md5 passord her? Endret 25. januar 2006 av goggen90 Lenke til kommentar
neivoll Skrevet 25. januar 2006 Del Skrevet 25. januar 2006 (endret) Hva er feilmeldingen som kommer da? Edit: du har glemt et komma etter dato='$dato' Det kan være nok til at det går galt. Endret 25. januar 2006 av anners Lenke til kommentar
nree Skrevet 25. januar 2006 Forfatter Del Skrevet 25. januar 2006 Hva er feilmeldingen som kommer da? 5499362[/snapback] Error Kunne ikke legge til. Lenke til kommentar
neivoll Skrevet 25. januar 2006 Del Skrevet 25. januar 2006 Se innlegget mitt over. Et komma for lite er antageligvis feilen her. Lenke til kommentar
nree Skrevet 25. januar 2006 Forfatter Del Skrevet 25. januar 2006 Jepp, det var det Har ett annet problem, vist jeg bruker brukernavn = $_SESSION['brukernavn']; if (isset($brukernavn)) { echo "Du er logget inn osv!"; } else {[code] i stede for [code]if ($mode == "process") { får jeg Parse error: syntax error, unexpected T_ELSE in C:\apachefriends2\xampp\htdocs\add\login.php on line 53 Lingje 53 og nedover: else { echo " <table> <tr> <td colspan='2'>Logg Inn</td> </tr> <form method='POST' action='login.php?mode=process' name='login'> <td><font>Brukernavn</td> <td><input type='text' name='brukernavn' size='30'></td> </tr> <tr> <td>Passord</td> <td><input type='password' name='passord' size='30'></td> </tr> <tr> <td colspan='2'><input type='submit' value='Logg inn' name='login'></td> </tr> </table> </form> "; } } ?> Lenke til kommentar
neivoll Skrevet 25. januar 2006 Del Skrevet 25. januar 2006 (endret) Er ikke heelt sikker på om jeg vet hva du mener der (det er litt BBCodes inne i code-boksen som gjør meg forvirret), men har du tatt vekk dette? : if ($mode == "process") { For i såfall er det ikke rart at det ikke virker... Edit: Hos meg funker det nemlig helt fint, det er iallefall ikke parse errors Endret 25. januar 2006 av anners Lenke til kommentar
nree Skrevet 25. januar 2006 Forfatter Del Skrevet 25. januar 2006 Kan du legge ut koden din? Lenke til kommentar
neivoll Skrevet 25. januar 2006 Del Skrevet 25. januar 2006 Dette er koden jeg har, men den er ikke testet i det hele tatt bortsett fra for parse errors. <?php $mysql_host = "localhost"; $mysql_user = "brukernavn"; $mysql_pass = "passord"; $mysql_db = "database"; $link = mysql_connect ($mysql_host, $mysql_user, $mysql_pass) or die ("$lang_dberr1"); if (mysql_select_db ($mysql_db)) { $mode = $_GET['mode']; session_start(); $brukernavn = $_SESSION['brukernavn']; if (isset($brukernavn)) { echo "Du er logget inn osv!"; } else { if ($mode == "process") { $error = true; $brukernavn = $_POST['brukernavn']; $passord = $_POST['passord']; if (mysql_select_db ($mysql_db)) { $result = mysql_query ("Select * from brukere where brukernavn='$brukernavn'"); if (mysql_affected_rows() == 0) { $msg = "Brukeren finnes ikke."; } else { $row = mysql_fetch_array ($result); if ($row['passord'] == $passord) { $_SESSION['brukernavn'] = $row['brukernavn']; $error = false; } else { $msg = "Feil passord"; } } } else { $msg = "Kunne ikke finne databasen."; } mysql_close ($link); if (!$error) { echo "Du har logget inn."; } else { echo " <p>Error</p> <p>$msg</p> "; } } else { echo " <table> <tr> <td colspan='2'>Logg Inn</td> </tr> <form method='POST' action='login.php?mode=process' name='login'> <td><font>Brukernavn</td> <td><input type='text' name='brukernavn' size='30'></td> </tr> <tr> <td>Passord</td> <td><input type='password' name='passord' size='30'></td> </tr> <tr> <td colspan='2'><input type='submit' value='Logg inn' name='login'></td> </tr> </table> </form> "; } }} ?> Lenke til kommentar
nree Skrevet 25. januar 2006 Forfatter Del Skrevet 25. januar 2006 (endret) Funka fint med den.. Sikkert min feil Håper du klarer og lage ett ban system Hadde vert fint... Nå hopper jeg til køys, god natt alle sammen.. EDIT: Litt mye smilyes Endret 25. januar 2006 av goggen90 Lenke til kommentar
neivoll Skrevet 25. januar 2006 Del Skrevet 25. januar 2006 Skal se på banning i morra ja, men that's all for i kveld. Lenke til kommentar
nree Skrevet 26. januar 2006 Forfatter Del Skrevet 26. januar 2006 (endret) 3 ting, er det mulig og legge til at det ikke er noen innlegg vist det ikke er noen? Er det mulig og få md5 kryperte passord i databasen? Er det mulig og få en logg ut link? EDIT: Må bare si jeg har lært en masse av dette Endret 26. januar 2006 av goggen90 Lenke til kommentar
neivoll Skrevet 26. januar 2006 Del Skrevet 26. januar 2006 Hvis du vil vise en annen tekst når det ikke er innlegg legger du inn en if (mysql_affected_rows() == 0) { echo "Ingen innlegg i databasen"; } else { før while ($row = mysql_fetch_array($result)) { og en } før den siste "else". For å helt enkelt lagre passord som md5 (dette er ikke mitt område, så ikke bli overraska om det ikke funker), må du vel endre i register php fra $passord = $_POST['passord']; til $passord = md5($_POST['passord']); Og i login.php må du endre fra if ($row['passord'] == $passord) { til if ($row['passord'] == md5($passord)) { tror jeg. Si ifra hvis dette ikke funker, for det er som sagt ikke det jeg er best på. Lenke til kommentar
nree Skrevet 26. januar 2006 Forfatter Del Skrevet 26. januar 2006 (endret) ERROR! kom det vertfall i ny brukerscriptet.. MD5 funka fint når jeg la det kryperte passordet i mySQL databasen men nybruker greiene funker ikke... ( ERROR! ) Endret 26. januar 2006 av goggen90 Lenke til kommentar
nree Skrevet 26. januar 2006 Forfatter Del Skrevet 26. januar 2006 (endret) IP FJERNET Brukernavn: BRUKERNAVN FJERNET Passord: PASSORD FJERNET Endret 27. januar 2006 av goggen90 Lenke til kommentar
neivoll Skrevet 26. januar 2006 Del Skrevet 26. januar 2006 (endret) Prøv å endre det tilbake til sånn det var, og legg til en $passord = md5($passord); før if ($brukernavn == "") { echo "Du har ikke valgt brukernavn"; } Endret 26. januar 2006 av anners Lenke til kommentar
nree Skrevet 26. januar 2006 Forfatter Del Skrevet 26. januar 2006 Virka kjempebra.. Tuuusentakk Håper på ban og logg ut system også Lenke til kommentar
neivoll Skrevet 26. januar 2006 Del Skrevet 26. januar 2006 (endret) Ok. Da har jeg laget et lite ban-system også Har som vanlig ikke fått testet om det virker, men tror det skal gå greit. Først må du opprette en tabell hvor du lagrer de bannede ip'ene (jeg har kalt den "ban" i mitt eksempel) med raden "ip". Så lager du en side (ban.php) hvor du legger inn dette: <?php session_start(); $mysql_host = "localserver"; $mysql_user = "brukernavn"; $mysql_pass = "passord"; $mysql_db = "databasenavn"; $ip = $_GET['ip']; $link = mysql_connect ($mysql_host, $mysql_user, $mysql_pass) or die ("Kunne ikke koble til databasen."); if (mysql_select_db ($mysql_db)) { if (isset($brukernavn)) { if ($ip !== "") { $ins_str = ("Insert into ban set ip='$ip'"); if (mysql_query($ins_str)) { echo "Bruker er bannet ved ip."; } else { echo "Det gikk ikke. Shit happens"; } } else { echo "Ingen ip-adresse er valgt."; } } else { echo "Du er ikke innlogget"; } } else { echo "Kunne ikke koble til databasen"; } ?> Siden du allerede har laget en funksjon som logger ip'ene trenger du ikke gjøre mer enn å legge til denne linken i siden der du viser innleggene: <a href='ban.php?ip=".$row['ip']."'> For å beskytte mot at folk med ip'er som er bannet skal få skrive må du legge til dette i add.php: $ip = $_SERVER['REMOTE_ADDR']; $banned = mysql_query("Select ip from ban where ip='$ip'"); if (mysql_affected_rows >= 1) { echo "Du er bannet og kan ikke skrive innlegg."; } else { før $ins_str = ("Insert into innhold set tekst='$tekst', avsender='$avsender', dato='$dato'"); og så selvfølgelig en } etterpå koden som legger inn innleggene eller viser error. Er spent på om dette kommer til å funke, ettersom jeg ikke har gjort noe lignende før Edit: For å lage en logout-side er alt du trenger <?php session_unset(); ?> inne i en fil. Tror du vet selv hvor du skal plassere linken Endret 26. januar 2006 av anners Lenke til kommentar
nree Skrevet 26. januar 2006 Forfatter Del Skrevet 26. januar 2006 (endret) Kunne banne osv men hadde ingen innvirkning... Kunne poste like mye som før Gi deg enda noen utfordringer, hele grafikken min går i dass vist jeg skriver inn ett ord på 100 tegn. Er det mulig og lage ett script som gjør at ord som er lengre en 50 tegn blir blokert? Er det mulig å legge til en if empty? Tuuusen takk for all hjelp til nå! God natt alle sammen! Endret 26. januar 2006 av goggen90 Lenke til kommentar
neivoll Skrevet 27. januar 2006 Del Skrevet 27. januar 2006 Hmmmm. Skal se på det med banningen etter skolen. Det med for lange ord er ganske lett tror jeg. Hvis du legger inn en $tekst = wordwrap($tekst, 50, " ", 1); før kommandoen som setter inn innleggene i databasen trooor jeg det skal virke. Lenke til kommentar
nree Skrevet 27. januar 2006 Forfatter Del Skrevet 27. januar 2006 Det dro vertfall ikke ut designet nå Takk 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å