Vad ska jag skriva för att "reload"?

Permalänk
Medlem

Vad ska jag skriva för att "reload"?

Hej

Jag har detta

Koden är

<form id="form1" name="form1" method="post"> Ditt namn: <input type="text" /> Din kommentar <textarea name="comment" rows="2"></textarea> <input type="submit" name="Submit value="Skicka" /> </form>

<?php if(isset($_POST['Submit'])) { $name = $_POST['name']; $comment = $_POST['comment']; $today = date("F j, Y, H:i"); $myFile = "comments.html"; $fh = fopen($myFile, 'a') or die("can't open file"); $stringData = "<b>$name</b>: $today <br /> $comment <br /> <hr />\n"; fwrite($fh, $stringData); fclose($fh); } ?>

Under denna koden är det en Iframe för alla kommentarer. Men man måste alltid trycka på F5 eller gå in på sidan igen för att se kommentaren man precis skickat iväg. Finns det något sätt jag kan lösa det på?

Kan jag bädda in det i php koden eller form koden? Vore bättre än att skriva
"" Ser du inte din kommentar? Tryck på F5 ""

Tack

Permalänk

Du kan refresha en sida med php genom att köra:

header('location: index.php'); exit();

Sen hur du löser det eftersom det verkar ligga in en annan frame är en annan sak. Frames är en gammal teknik som du bör undvika hur som helst.

Du kan eventuellt behöva kika på output buffering (http://se2.php.net/manual/en/function.ob-start.php) ifall du lägger ovanstående kod efter någon "output" skickats till webbläsare.

Visa signatur

"Knowledge amplification. What he learns, we all learn. What he knows, we all benefit from."

Permalänk
Medlem

Jo, jag vet
Men det är bara något lätt nu. men annars brukar jag köra med annat.

Hittade en lösning.
I comments.html skriver jag bara

<meta http-equiv="Refresh" content="5;url=comments.html">

Så syns det knapp Förstår inte varför jag inte kan söka före.. tog en liten stund sedan hittade jag det. Men tack ändå ^^

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av downup
Jo, jag vet
Men det är bara något lätt nu. men annars brukar jag köra med annat.

Hittade en lösning.
I comments.html skriver jag bara

<meta http-equiv="Refresh" content="5;url=comments.html">

Så syns det knapp Förstår inte varför jag inte kan söka före.. tog en liten stund sedan hittade jag det. Men tack ändå ^^

Utan att spy galla på din lösning... Men varför använder du iframe?

Det går att göra samma sak med en <div>. Att ladda om informationen i div:en utan att ladda om hela sidan kräver däremot Ajax.

Visa signatur

ηλί, ηλί, λαμά σαβαχθανί!?

Permalänk
Medlem

Jag har samma fråga om Leedow har. Varför använder du en iframe? Om du inte har någon speciell anledning till att du använder en sådan skulle följande troligen fungera bättre:

form.php:

<!doctype html> <title>Hett dokument det går att skicka kommentarer till</title> <form action="submit.php" method="post"> [... ja du vet ...] </form> <?php skriv_ut_alla_kommentarer(); ?>

Och sedan en submit.php (eller vad som nu är ett lämpligt namn i detta fall):

spara_formulärdata_någonstans(); header('Location: http://example.com/form.php');