login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Automatische refresh (Opgelost)

Offline FredericR - 27/05/2007 18:21 (laatste wijziging 27/05/2007 18:22)
Avatar van FredericRNieuw lid Hallo,
Ik ben nieuw hier, en php is me niet zo bekend.
Ik had hier een leuk scriptje gevonden als verzendformulier.
Nu heb ik enkele problemen :
1) Blijven refreshen naar indrukken van verzendknop.

Na het klikken op de 'verzenden'knop kwam ik op een nieuwscherm, waar stond van : uw mail is met succes verstuurd! en dat scherm werd altijd gerefreshed. Elke keer dat het refreshte werd die mail dus naar mij gestuurd, wat echter niet de bedoeling is...

Na dit probleem, verwijderde ik dus de pagina van de server, en begon opnieuw. Nu is er een 2de probleem bijgekomen... Als ik het bericht nu wil versturen word het via mail verzonden, dit is uiteraard niet prettig. Dus

2) Formulier word nu verzonden via mail, en niet via de site.

Script dat ik gebruikte dat hier online werd geplaats was het volgende :

  1. Contact<br><br>
  2. <form action="mail.php">
  3. Naam:<br>
  4. <input name="naam" type="text" id="naam">
  5. <br><br>
  6. Email:<br>
  7. <input name="email" type="text" id="email">
  8. <br><br>
  9. Onderwerp:<br>
  10. <input name="onderwerp" type="text" id="onderwerp">
  11. <br><br>
  12. Bericht:<br>
  13. <textarea name="bericht" cols="40" rows="5" id="bericht">
  14. </textarea>
  15. <br>
  16. <input type="submit" name="Submit" value="Verzenden">
  17. <input type="reset" name="Submit2" value="Wissen">
  18.  
  19. </form>
  20.  
  21.  
  22. <?
  23.  
  24. $recipient=("+jouw mailadres+"); //hier je emailadres
  25. $subject="+subject+"; //hier vul je een subjectnaam in zoiets als 'Contact' of 'Info +sitenaam+'
  26.  
  27. //hieronder niet aankomen
  28.  
  29. $content=
  30. "Naam:" .$naam.
  31. "
  32. Email:" .$email.
  33. "
  34. Onderwerp:" .$onderwerp.
  35. "
  36. Bericht:" .$bericht.
  37.  
  38. $message;
  39.  
  40. mail($recipient, $subject, $content);
  41.  
  42. echo "Uw mail is met succes verstuurd!";
  43. ?>
  44.  
  45.  
  46. // verander de url naar waar contact.php staat als je hm hebt opgeroepen
  47.  
  48. <meta http-equiv="refresh" content="1; url=?page=contact.php">



-----------------------------------------------------------

Over die laatste zin wou ik nog iets vragen...
Ik vermoed dat daardoor mijn automatische refresh telkens kwam. Daarna probeerde ik contact.php te veranderen naar : index.htm, misschien dat hij naar de homepage terugkwam... maar het bleef hetzelfde probleem. Kan iemand mij helpen aub 
Groeten,
Fréderic

Citaat:
Rens edit:
codetags...

6 antwoorden

Gesponsorde links
Offline Wim - 27/05/2007 18:39 (laatste wijziging 27/05/2007 18:39)
Avatar van Wim Crew algemeen 1) superglobals gebruiken....
2) de php code staat toch in een appart bestand? Vanaf lijn 22 moet je alles in "mail.php" zetten. Dan moet je je contactformulier nog eens aanroepen, en het zal werken!


//edit:
lijn 2: <form action="mail.php">
maak daarvan: <form action="mail.php" method="post">
Offline delta_004 - 27/05/2007 18:44 (laatste wijziging 27/05/2007 18:44)
Avatar van delta_004 Onbekend Dat geeft parseerror je moet "" gebruiken

Trouwens refresh is:

header("Refresh: Secondes");

Edit: Al fixed, btw die array is niet nodig als superglobals aanstaan
Offline FredericR - 27/05/2007 19:09
Avatar van FredericR Nieuw lid bedankt voor de snelle reactie's, maar kan iemand mij nu ook zeggen waarom dat script altijd verzonden word via mail en niet via de site? moesten jullie antwoord weten, zouden jullie dit dan ff kunnen aanpassen aub:)
Offline ThAlmighty - 28/05/2007 09:11
Avatar van ThAlmighty HTML beginner de php mail(); functie gaat via de website.
Offline JBke - 28/05/2007 09:35 (laatste wijziging 28/05/2007 09:37)
Avatar van JBke PHP gevorderde ik gebruik voor refresh het volgende:
  1. <?php
  2. header("Refresh: 0; URL=pagina.php");
  3. exit; // optioneel door refresh: 0;
  4. ?>

als je dan een refresh gebruikt om een script te onderbreken bij bvb foutief wachtwoord of geen rechten en je geeft een refresh 2 en een boodschap, gaat hij door de exit het script effectief ook stopzetten. Met gebruik van enkel header("Location: "); kan het zijn dat er belangrijke informatie toch heel even zichtbaar word.

en inderdaad de functie mail(); van php gebruiken en kijk anders eens naar http://phpmailer.sourceforge.net/
Offline FredericR - 28/05/2007 09:36 (laatste wijziging 28/05/2007 10:36)
Avatar van FredericR Nieuw lid bedankt allemaal.
Het is me gelukt 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.19s