Jonas Skrevet 15. juni 2004 Del Skrevet 15. juni 2004 Heisann Har fått satt opp skriptet nå, men det trenger litt små justeringer: Brukeren kan jo poste blankt! Skikkelige iriiterende, siden det ødelegger layout'en. Kan det fikses? Brukeren kan også bruke navnet "Jonas" som de vil. Jeg vil gjerne at det skal være et ekstra felt i "postinga" hvor man må skrive inn et passord for å bruke navnet "Jonas". Går det ann? Slik ser skriptet ut: <?php $file="shout.html"; $o=fopen($file,'r'); $txt=fread($o,filesize($file)); fclose($o); $f=fopen($file,'w+'); $text=fread($f,filesize($file)); fwrite($f, "<p style=\"margin-left: 2px; margin-right: 2px\"><b>" . $_POST['navn'] . ":</b> " . $_POST['komentar'] . "<br><br></p> $txt"); fclose($f); header("Refresh: 3; URL=index.php?page=shoutbox"); echo " "; // NN4 requires that we output something... exit(); echo "Du blir nå overført<br>"; echo "Hvis ikke, trykk <A href=\"index.php?page=shoutbox\">her</A>"; ?> Takker for svar Lenke til kommentar
Cucum(r) Skrevet 15. juni 2004 Del Skrevet 15. juni 2004 bytt ut fwrite($f, "<p style=\"margin-left: 2px; margin-right: 2px\"><b>" . $_POST['navn'] . ":</b> " . $_POST['komentar'] . "<br><br></p> $txt"); fclose($f); med if (empty($_POST[kommentar])) { echo("Du må fylle inn alle feltene!"); exit; } else { fwrite($f, "<p style=\"margin-left: 2px; margin-right: 2px\"><b>" . $_POST['navn'] . ":</b> " . $_POST['komentar'] . "<br><br></p> $txt"); fclose($f); } Sikkert et en eller annen feil inni der, men jeg er stuptrøtt Lenke til kommentar
Torbjørn Skrevet 16. juni 2004 Del Skrevet 16. juni 2004 du bør strippe htmltags fra input Lenke til kommentar
Jonas Skrevet 16. juni 2004 Forfatter Del Skrevet 16. juni 2004 (endret) du bør strippe htmltags fra input Jeg har også tenkt over det ja, men jeg vet ikke helt hvordan jeg skulle ha gjort det.. Har sett litt på koden din, SirIce, og kommet fram til at hvis brukeren også må poste navn, så blir koden slik: if (empty($_POST['navn'])) { echo("Du må fylle inn alle feltene!"); exit; } else { if (empty($_POST['komentar'])) { echo("Du må fylle inn alle feltene!"); exit; } else fwrite($f, "<p style=\"margin-left: 2px; margin-right: 2px\"><b>" . $_POST['navn'] . ":</b> " . $_POST['komentar'] . "<br><br></p> $txt"); fclose($f); } } Har ikke tid til å teste nå, men ser noen noe feil i den? Takk for svar Edit: Og hvordan blir det med at hvis brukeren skriver "Jonas", men skriver feil passord, så postes ikke posten? Skjønner ikke helt hvordan if'en blir Endret 16. juni 2004 av Jonas Lenke til kommentar
Jonas Skrevet 16. juni 2004 Forfatter Del Skrevet 16. juni 2004 Ok, jeg fikk til slik at man må poste noe for å poste, men hvordan skal jeg få til namepass? Altså, jeg har et felt. Hvis brukeren vil bruke navnet "Jonas" må det riktige passordet stå i det feltet. Slik ser skriptet ut nå: <?php if (empty($_POST['navn'])) { echo("Du må fylle inn alle feltene!<br>"); echo "<A href=\"index.php?page=shoutbox\">Tilbake</A>"; exit; } else { if (empty($_POST['komentar'])) { echo("Du må fylle inn alle feltene!<br>"); echo "<A href=\"index.php?page=shoutbox\">Tilbake</A>"; exit; } else $file="shout.html"; $o=fopen($file,'r'); $txt=fread($o,filesize($file)); fclose($o); $f=fopen($file,'w+'); $text=fread($f,filesize($file)); fwrite($f, "<p style=\"margin-left: 2px; margin-right: 2px\"><b>" . $_POST['navn'] . ":</b> " . $_POST['komentar'] . "<br><br></p> $txt"); fclose($f); } header("Refresh: 3; URL=index.php?page=shoutbox"); echo " "; // NN4 requires that we output something... exit(); echo "Du blir nå overført<br>"; echo "Hvis ikke, trykk <A href=\"index.php?page=shoutbox\">her</A>"; ?> Torbjørn, vet du hvordan jeg kan gjøre det? Lenke til kommentar
MirusMentis Skrevet 16. juni 2004 Del Skrevet 16. juni 2004 du må ha et nytt felt, la oss kalle det $_POST['pass'] if`n må først sjekke at $_POST['navn'] ikke er tom, er den det ->feil hvis ikke sjekk om det er Jonas, er det det ->sjekk at $_POST['pass'] inneholder passordet ditt -> hvis ikke gå til feil. hvis det inneholder passord gå videre å sjekk om $_POST[`kommentar`] er tom eller ikke.. litt klundrete forklart, men jeg kan ikke php. Lenke til kommentar
Jonas Skrevet 16. juni 2004 Forfatter Del Skrevet 16. juni 2004 du må ha et nytt felt, la oss kalle det $_POST['pass'] if`n må først sjekke at $_POST['navn'] ikke er tom, er den det ->feil hvis ikke sjekk om det er Jonas, er det det ->sjekk at $_POST['pass'] inneholder passordet ditt -> hvis ikke gå til feil. hvis det inneholder passord gå videre å sjekk om $_POST[`kommentar`] er tom eller ikke.. litt klundrete forklart, men jeg kan ikke php. Hva jeg skal gjøre vet jeg, men jeg vet ikke hvordan jeg skal gjøre det Hadde jeg bare vist hvordan man kunne sammenligne tekster i php hadde det gått glatt, men jeg har fått et inntrykk av at en if kan skrives på mange måter, alt ettersom hva som skal sammenlignes. Lenke til kommentar
Gjest Slettet-rXRozPkg Skrevet 16. juni 2004 Del Skrevet 16. juni 2004 (endret) if (empty($_POST['navn'])) { echo("Du må fylle inn alle feltene!<br>"); echo "<A href=\"index.php?page=shoutbox\">Tilbake</A>"; exit; } else { if (empty($_POST['komentar'])) { echo("Du må fylle inn alle feltene!<br>"); echo "<A href=\"index.php?page=shoutbox\">Tilbake</A>"; exit; } else bla bla..... Det der var er merkelig måte å skrive på if (empty($_POST['navn'])) { echo "Du må fylle inn alle feltene!<br>"; echo "<A href=\"index.php?page=shoutbox\">Tilbake</A>"; } else if (empty($_POST['komentar'])) { echo "Du må fylle inn alle feltene!<br>"; echo "<A href=\"index.php?page=shoutbox\">Tilbake</A>"; } else..... Jeg har altså fjernet exit; og byttet til en if - elseif - else stuktur. Endret 16. juni 2004 av Slettet-rXRozPkg Lenke til kommentar
Jonas Skrevet 16. juni 2004 Forfatter Del Skrevet 16. juni 2004 (endret) Yeah! Fikk det til namepass'en heeelt selv nå Da var shoutboxen ferdig. Takker for svar! http://home.no.net/psg1/index.php?page=shoutbox Edit: Finnes det noe form for en "replace" funksjon i php? Jeg vil bruke den til å replace alt som står mellom de to "tag"-tegnene (< og >) Hvordan gjør jeg det? Og når jeg skriver et ord med gåseøyne rundt, blir det ikke bare gåseøyne, men også skråstrek! Eks: "Jonas" blir til \"Jonas\" Hvorfor skjer det? Endret 16. juni 2004 av Jonas Lenke til kommentar
Gjest Slettet-rXRozPkg Skrevet 16. juni 2004 Del Skrevet 16. juni 2004 echo stripslashes($vairabel); Så får du vekk \'ene Lenke til kommentar
Jonas Skrevet 16. juni 2004 Forfatter Del Skrevet 16. juni 2004 echo stripslashes($vairabel);Så får du vekk \'ene Men det er ingen skråstreker i noen variabler eller i teksten. De kommer når innlegget postes.. Lenke til kommentar
Torbjørn Skrevet 17. juni 2004 Del Skrevet 17. juni 2004 ... og de fjernes så med stripslashes... Lenke til kommentar
jorgis Skrevet 17. juni 2004 Del Skrevet 17. juni 2004 bruk htmlspecialchars() til å gjøre HTML-kode "ukjørbar", altså oversette den til HTML-entiteter istedenfor. 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å