Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][HTML][PHP]Skrypt wykonujący się na załadowaniu strony
Forum PHP.pl > Forum > Przedszkole
lordmonkey
witam,
napisałem sobie taki skrypt który wysyła mail jeżeli się kliknie w odpowiedni guzik (pominąłem wpisywanie danych bo jest to proste a mogę to dodać później.
Wypisuję liczbę+1 żeby każda wiadomość miała inny temat (taki psikus chce zrobić bratu który mi się naprzykrza biggrin.gif )

Efekt jaki chcę osiągnąć to to, aby nie trzeba było klikać w guzik submit tylko, aby od razu po załadowaniu strony odpalała się funkcja wysyłająca mail. Tak wygląda mój plik:

  1. <?php
  2. require_once('phpmailer/class.phpmailer.php');
  3. $mail = new PHPMailer(true);
  4.  
  5. $mail->IsSMTP();
  6. $mail->SMTPAuth = true; // enable SMTP authentication
  7. $mail->SMTPSecure = "ssl"; // sets the prefix to the servier
  8. $mail->Host = "smtp.gmail.com";
  9. $mail->Port = 465;
  10. $mail->Username = "***@gmail.com";
  11. $mail->Password = "****";
  12.  
  13. $mail->SetFrom("***@gmail.com", "twoj kolega");
  14.  
  15. $mail->AddAddress("***@gmail.com"); // ADRESAT
  16.  
  17. $mail->Subject = "To jest wiadomość testowa nr " .$_POST['liczba']. " itd itd";
  18. $mail->AltBody = "To view the message, please use an HTML compatible email viewer!";
  19. $mail->MsgHTML("Chcę sprawdzić czy działa poprawnie pokazywanie czcionek ąłłóćę ? <br> a teraz trochę htmlu <b>cośtam</b>");
  20.  
  21. if($mail->Send()){
  22. echo "OK. :] <br />";
  23. echo "post liczba : ".$_POST['liczba'];
  24. }
  25. ?>
  26.  
  27. <!--
  28. <?php
  29. header( 'refresh: SECOND; url= SELF' );
  30. ?>
  31. -->
  32. <html>
  33.  
  34.  
  35. <body>
  36. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
  37.  
  38. <p>wiadomość:<br />
  39. <input type="text" name="liczba" value="<?php echo $_POST['liczba']+1; ?>" />
  40. <input type="submit" value="walnij w gong"/>
  41. </form>
  42. </body>
  43.  
  44. <script type="text/javascript">
  45. //window.location.reload(true);
  46. </script>
  47. </html>
luck
Nie możesz zmiennej $liczba przechowywać w pliku lub bazie, a fragment wysyłający maila i inkrementujący zmienną po prostu zaincludować, tak aby się wykonywał przy każdym wyświetleniu strony? Formularz w tym przypadku po prostu byłby niepotrzebny. Chyba, że coś źle zrozumiałem.
lordmonkey
rozwiązałem to w końcu tak (jakby ktoś chciał zobaczyć smile.gif )
  1. $dom = new DomDocument;
  2. $dom->load("mail.xml");
  3. $xpath = new DOMXPath($dom);
  4. $a = 0;
  5. $nodes = $xpath->query('/mail/liczba');
  6. foreach($nodes as $node1)
  7. {
  8. $node1->nodeValue = $node1->nodeValue + 1;
  9. $GLOBALS['a'] = $node1->nodeValue;
  10. }
  11.  
  12. $dom->save('mail.xml');
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.