Filip Hjermind skrev:
> Problemet er så bare at e-mail
> adressen ikke dukker op med det samme på clientens skærm, fordi
> den først skal gemmes og hentes i databasen. Er der en funktion
> som kan sige at siden loader indtil den nye indtastning i
> databasen er klar til at blive hentet?
Hej Filip.
Vær flink at bruge lidt flere linjeskift, næste gang du skriver
Hvis jeg har forstået dit problem korrekt, så består det i, at du først
gemmer emailen, efter at email-addresserne er blevet vist for brugeren?
Hvis det er problemet, så bør du (som Erik Ginnerskov også skriver)
først gemme dataen, og derefter "redirecte" brugeren til samme side igen
(så undgår du også dobbelt-post-problematikken, hvis brugeren trykker F5).
Det er illustreret via kode her:
<?
if ($_GET["valg"] == "gememail"){
//Gem data i databasen.
mysql_query(...) or die(mysql_error());
//Redirect brugeren til siden igen.
header("Location: vis_emails.php");
//Afbryd indlæsningen af resten af siden (brugeren bliver
redirected, så han ser det ikke anyways).
exit();
}
$f_gemails = mysql_query(...) or die(mysql_error());
while($d_gemails = mysql_fetch_assoc($f_gemails)){
UdskrivEmail($d_gemails);
}
?>
<form method="post" action="vis_emails.php?valg=gememail">
Gem din email: <input type="text" name="texemail" />
<br />
<input type="submit" value="Gem" />
</form>
Hvis header() giver dig problemer, så har du nok sendt noget HTML, inden
header() bliver kørt. Du kan derfor bruge JavaScript i stedet. Udskift
derved "header(...)" med følgende:
<?
if ($_GET["valg"] == "gememail"){
...
//Redirect brugeren til siden igen.
?>
<script type="text/javascript">
location.href = "vis_emails.php";
</script>
<?
...
}
?>
--
Med venlig hilsen
Kasper Johansen