login  Naam:   Wachtwoord: 
Registreer je!
 Forum

cookie voor welkomst bericht (Opgelost)

Offline JanW - 23/09/2007 20:57
Avatar van JanWNieuw lid Ik wil graag het volgende

Als iemand voor het eerst op mijn site komt krijgt deze een popup met daarin de vraag "Hoe heet je" wat hier in gevuld wordt geeft $naam dit wordt dan in een cookie opgeslagen.
zoals het hieronder staat werkt het.

Alleen wil ik eigenlijk dat als de naam ingevuld word en er op de knop verzend is gedrukt dat het popup-venster afgesloten word.

Nu heb ik al geprobeert om achter form method post "OnSubmit="window.close();" te zetten.

Het venster wordt dan wel gesloten maar de naam wordt niet door gestuurd.

Ook heb ik OnMouseUp="window.close();" gezet achter de verzendknop.

Iemand een idee wat ik verkeerd doe of wat ik zou moeten doen

  1. <?php
  2. $naam = $_POST["naam"] ? $_POST["naam"] : $_COOKIE["naam"];
  3.  
  4. if (isset($naam))
  5. {
  6. setcookie("naam", $naam, time()+60*60*24*30);
  7.  
  8. echo "Welkom $naam";
  9. }
  10. else
  11. {
  12. ?>
  13. <form method="post" action="<?php echo $_SERVER["PHP_SELF"] ?>" >
  14. Hoe heet je ? <input type="text" name="naam" />
  15. <input type="submit" name="verzenden" value="verzend" />
  16. </form>
  17. <?php
  18. }
  19. ?>

6 antwoorden

Gesponsorde links
Offline Giant - 23/09/2007 21:32 (laatste wijziging 23/09/2007 22:14)
Avatar van Giant PHP beginner dat is opzich niet zo heel moeilijk,
  1. <?php
  2. $naam = $_POST["naam"] ? $_POST["naam"] : $_COOKIE["naam"];
  3.  
  4. if (isset($naam))
  5. {
  6. setcookie("naam", $naam, time()+60*60*24*30);
  7.  
  8. echo "Welkom $naam";
  9. }
  10. else
  11. {
  12. ?>
  13. <form method="post" action="<?php echo $_SERVER["PHP_SELF"] ?" >
  14. Hoe heet je ? <input type="text" name="naam" />
  15. <input type="submit" name="verzenden" value="verzend" />
  16. </form>
  17. <?php
  18. }
  19. ?>

wordt:
  1. <form method="post" action="normale_pagina.php" >
  2. Hoe heet je ? <input type="text" name="naam" />
  3. <input type="submit" name="verzenden" value="verzend" />
  4. </form>


op die normale pagina moet je dan de functie voor de cookie zetten

Citaat:
Code Tags aub!
Offline ikkedikke - 23/09/2007 21:35
Avatar van ikkedikke PHP expert in plaats van de echo moet je een javascript echo'en.
Offline Koen - 24/09/2007 19:34
Avatar van Koen PHP expert verander in elk geval
  1. <form method="post" action="<?php echo $_SERVER["PHP_SELF"] ?>" >

Naar:
  1. <form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>" >

anders krijg je problemen met de aanhalingstekens.
Offline TotempaaltJ - 24/09/2007 19:53 (laatste wijziging 24/09/2007 19:57)
Avatar van TotempaaltJ PHP interesse Dat zou in principe niet uit moeten maken, want php is serverside, en word dus op de server gedaan en HTML word in de browser naar beeld omgezet.

Btw; Dat lijkt me erg irritant! Stel; Ik bezoek dagelijks jouw site, en elke keer als ik hem open moet ik weer mijn naam gaan invullen. (Het zou de eerste keer al irritant zijn) 
Offline JanW - 29/09/2007 16:48
Avatar van JanW Nieuw lid Het probleem is in middels opgelost door gebruik van het volgende:
  1. <?php
  2. $naam = $_POST["naam"] ? $_POST["naam"] : $_COOKIE["naam"];
  3.  
  4. if (isset($naam))
  5. {
  6. setcookie("naam", $naam, time()+60*60*24*30);
  7.  
  8. ?>
  9. <script type="text/javascript">
  10. window.opener.location.reload();
  11. window.close();
  12. </script>
  13. <?php
  14. }
  15. else
  16. {
  17. ?>
  18. <form method="post" action="<?php echo $_SERVER["PHP_SELF"] ?>" style="font-family: Comic Sans MS; color:#DB6324; font-size:12px;" >
  19. Zouden wij uw naam mogen noteren ? <input type="text" name="naam" />
  20. <input type="submit" name="verzenden" value="verzend" />
  21. </form>
  22.  
  23. <?php
  24. }
  25. ?>
Offline JanW - 29/09/2007 16:48 (laatste wijziging 29/09/2007 16:51)
Avatar van JanW Nieuw lid Het probleem is in middels opgelost door gebruik van het volgende:
  1. <?php
  2. $naam = $_POST["naam"] ? $_POST["naam"] : $_COOKIE["naam"];
  3.  
  4. if (isset($naam))
  5. {
  6. setcookie("naam", $naam, time()+60*60*24*30);
  7.  
  8. ?>
  9. <script type="text/javascript">
  10. window.opener.location.reload();
  11. window.close();
  12. </script>
  13. <?php
  14. }
  15. else
  16. {
  17. ?>
  18. <form method="post" action="<?php echo $_SERVER["PHP_SELF"] ?>" style="font-family: Comic Sans MS; color:#DB6324; font-size:12px;" >
  19. Zouden wij uw naam mogen noteren ? <input type="text" name="naam" />
  20. <input type="submit" name="verzenden" value="verzend" />
  21. </form>
  22.  
  23. <?php
  24. }
  25. ?>


En Bigboss:
Deze pagina wordt gegenereerd vanuit een andere pagina die eerst kijkt of de cookie aanwezig is zoja dan word je d.m.v. een persoonlijke boodschap verwelkomt.

Dus komt die popup alleen de eerste keer dat je de site bezoekt.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.257s