Thread: refresh pagina

  1. #1

    Registered
    16/11/10
    Location
    Londerzeel
    Posts
    5
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0

    refresh pagina

    <?php
    if(isset($_POST['email'])){
    $name=$_POST['naam'];
    $email=$_POST['email'];
    $message=$_POST['message'];
    mail($email,'Bericht op website',"Naam:".$name."\n Bericht: ".$message,'From: test@emailadres.be');
    }
    ?>

    Dit zorgt ervoor dat je een mail kan sturen zonder eerst naar outlook gestuurd te worden. Maar als ik F5 indruk staat de info nog opgeslagen en kan men dezelfde berichten blijven sturen.. Hoe reset ik deze inhoud?
    no votes  

  2. #2

    Registered
    29/08/09
    Location
    Antwerpen
    Posts
    1,705
    iTrader
    18 (95%)
    Mentioned
    0 Post(s)
    Reputation
    2/26
    Probeer eens
    <?php
    if(isset($_POST['email'])){
    $name=$_POST['naam'];
    $email=$_POST['email'];
    $message=$_POST['message'];
    mail($email,'Bericht op website',"Naam:".$name."\n Bericht: ".$message,'From: test@emailadres.be');
    unset($_POST['naam'];
    unset($_POST['email'];
    }
    ?>
    no votes  

  3. #3

    Registered
    13/08/10
    Location
    Kortrijk
    Posts
    42
    iTrader
    1 (100%)
    Mentioned
    0 Post(s)
    voeg een Header('Location: index.php'); toe of een <meta>/JS redirect.
    no votes  

  4. #4
    adrianhates's Avatar
    Registered
    23/01/06
    Posts
    2,115
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    23/23
    Quote Originally Posted by shadowstep0705 View Post
    This quote is hidden because you are ignoring this member. Show
    Probeer eens
    <?php
    if(isset($_POST['email'])){
    $name=$_POST['naam'];
    $email=$_POST['email'];
    $message=$_POST['message'];
    mail($email,'Bericht op website',"Naam:".$name."\n Bericht: ".$message,'From: test@emailadres.be');
    unset($_POST['naam'];
    unset($_POST['email'];
    }
    ?>
    unset($_POST['naam'];
    unset($_POST['email'];

    =

    unset($_POST);

    De form gewoon verbergen en uw bevestiging tonen doe ik meestal. Dan automatisch via JS redirecten naar de pagina en een link voorzien dat hetzelfde mogelijk maakt.
    no votes  

  5. #5
    d-zilla's Avatar
    Registered
    05/10/09
    Location
    Kruishoutem
    Posts
    278
    iTrader
    2 (75%)
    Mentioned
    0 Post(s)
    Quote Originally Posted by adrianhates View Post
    This quote is hidden because you are ignoring this member. Show
    unset($_POST['naam'];
    unset($_POST['email'];

    =

    unset($_POST);

    De form gewoon verbergen en uw bevestiging tonen doe ik meestal. Dan automatisch via JS redirecten naar de pagina en een link voorzien dat hetzelfde mogelijk maakt.
    Waarom niet gewoon meteen een redirect vanuit php?
    no votes  

  6. #6
    adrianhates's Avatar
    Registered
    23/01/06
    Posts
    2,115
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    23/23
    Quote Originally Posted by d-zilla View Post
    This quote is hidden because you are ignoring this member. Show
    Waarom niet gewoon meteen een redirect vanuit php?
    om bijvoorbeeld een succes melding te tonen als in "Wij hebben uw reactie goed ontvangen".
    Dat redirecten met JS zou pas na bvb 5-10 seconden gebeuren.

    een alternatief is inderdaad direct redirecten naar een page via php met ?success=1 en dan op basis daarvan uw succesmelding tonen. Maar dan vervuilt ge die url onnodig imo .
    no votes  

  7. #7
    Zero Grav's Avatar
    Registered
    06/06/04
    Location
    Bilzen
    Posts
    8,805
    iTrader
    18 (100%)
    Mentioned
    0 Post(s)
    Reputation
    42/128
    Zoiets kan ook simpelweg opgevangen worden door een sessie of een individuele succespagina. CodeIgniter heeft daar bijvoorbeeld Flashdata voor, basically sessies die maar één pageload geldig zijn.
    Door met een header location te werken hebt ge het voordeel dat uw browser die zelfs niet op de history stack pushed, waardoor het probleem zichzelf oplost.

    Also, als ge op uw back knop klikt dan wordt die request normaal automatisch opnieuw ingevuld door de browser (of er wordt toch gevraagd aan de gebruiker of em dat wilt), en dan maakt het ook niet uit dat ge die unset van uw post variabele hebt gedaan.
    Last edited by Zero Grav; 20-06-2012 at 19:02.
    no votes  

  8. #8
    W0utR's Avatar
    Registered
    16/04/08
    Location
    Hong Kong
    Posts
    1,989
    iTrader
    6 (100%)
    Mentioned
    0 Post(s)
    Reputation
    7/9
    Wat je heel makkelijk kan doen is gewoon een hidden field meesturen met een random waarde (current tijd in millisec bv), wanneer je dan refresht zal deze waarde anders zijn dan de huidige waarde in het veld, kost je 3 lijntjes code.
    no votes  

  9. #9
    dJeez's Avatar
    Registered
    17/07/02
    Location
    Sol System
    Posts
    10,064
    iTrader
    1 (100%)
    Mentioned
    0 Post(s)
    Reputation
    27/78
    Quote Originally Posted by Zero Grav View Post
    This quote is hidden because you are ignoring this member. Show
    CodeIgniter heeft daar bijvoorbeeld Flashdata voor, basically sessies die maar één pageload geldig zijn.
    Even ter aanvulling hierbij : bijna elk php framework (dat ik ken) heeft dergelijke flash messages (Zend & Symfony zijn de gekendste).
    PSN: dJeezBE - Delicious bookmarks
    Disclaimer: I am currently suffering from severe CSD (Compulsive Sarcasm Disorder). - L'onion fait la farce - Facile largire de alieno
    Pastafarian by choice
    no votes  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in