Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][MySQL][PHP]Generowanie maila
wino97
post 21.03.2019, 20:44:23
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 21.03.2019

Ostrzeżenie: (0%)
-----


Cześć,
staram się zrobić skrypt, który generuje losowy kod, łączy go w jedno i wysyła HTMLowy email, gdzie link jest w postaci przycisku.
  1. <?php
  2. $subject = "zgoda";
  3. $message = 'http://example.com/confirm.php? . $kod'; // To zle dziala <---
  4. $servername = "localhost";
  5. $username = "login";
  6. $password = "haslo";
  7. $dbname = "mysql";
  8. $kod = NULL;
  9. $email = $_POST["email"];
  10.  
  11. $conn = new mysqli($servername, $username, $password, $dbname);
  12.  
  13. if ($conn->connect_error) {
  14. die("Connection failed: " . $conn->connect_error);
  15. }
  16. echo "Connected successfully";
  17. if ($conn)
  18. {
  19. $sql = "SELECT * FROM `zgody` WHERE email='$email'";
  20. $result = $conn->query($sql);
  21. if ($result->num_rows > 0){
  22. echo "Email exist in DB";
  23. }
  24. else {
  25. for ($i = 0; $i < 36; $i++) {
  26. $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
  27. $charactersLength = strlen($characters);
  28. $kod .= $characters[rand(0, $charactersLength - 1)];
  29. }
  30. $sql = "INSERT INTO zgody (email, kod, confirm) VALUES ('$email', '$kod', '0')";
  31. if ($conn->query($sql) === TRUE)
  32. {
  33. echo "dodano";
  34. $headers = "MIME-Version: 1.0" . "\r\n";
  35. $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
  36. $headers .= 'From: <mailtest@mail.pl>' . "\r\n";
  37.  
  38. mail($email,$subject,'http://example.com/confirm.php?' . $kod,$headers); //Tworzy poprawny link<-----
  39. }}
  40. $conn->close();
  41. }
  42.  
  43. ?>

Jak już mówiłem chciałbym przedstawić owy link w formie na przykład <button>
  1. <?php
  2. $servername = "localhost";
  3. $username = "login";
  4. $password = "haslo";
  5. $dbname = "mysql";
  6.  
  7.  
  8. $conn = new mysqli($servername, $username, $password, $dbname);
  9. if ($conn->connect_error) {
  10. die("Connection failed: " . $conn->connect_error);
  11. }
  12. echo "Connected successfully";
  13. if ($conn)
  14. {
  15.  
  16. $sql = "SELECT * FROM `zgody` WHERE confirm=1";
  17. if ($result->num_rows > 0) {
  18. while($row = $result->fetch_assoc()) {
  19. echo "id: " . $row["id"]. " - Name: " . $row["email"]. " " . $row["kod"]. " " . $row["confirm"] . "<br>";
  20. }
  21. }
  22. else {
  23. echo "0 results";
  24. }
  25. }
  26. ?>

Powyższe zapytanie daje tylko wynik else, a chciałbym wyświetlić całą zawartość tablicy.
$email jest wprowadzany w index.php i metodą post wysyłany do pierwszej funkcji.
Liczę na pomoc i pozdrawiam.
Go to the top of the page
+Quote Post
nospor
post 22.03.2019, 09:21:27
Post #2





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




$sql = "SELECT * FROM `zgody` WHERE confirm=1";
if ($result->num_rows > 0) {

Przeciez nigdzie tutaj nie wykonujesz tego zapytania $sql. Nagle ni z gruszki ni zpietruszki sprawdzasz czy jakas magiczna zmienna $result, ktorej nigdzie nie tworzysz, nie zwraca przypadkiem paru rekordow....

To tak jakbys napisal liste zakupow po czym zajrzal do lodowki i darl sie na wszystkich ze produkty z listy nie sa jeszcze na w lodowce.... najpierw trzeba pojechac do sklepu i je kupic, potem wlozyc do lodowki i wtedy mozna sprawdzac czy w tej lodowce sa


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
markonix
post 22.03.2019, 09:26:45
Post #3





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


3 linia błąd składniowy, nawet forum podświetla..


--------------------
Go to the top of the page
+Quote Post
wino97
post 22.03.2019, 18:03:59
Post #4





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 21.03.2019

Ostrzeżenie: (0%)
-----


dzięki za odpowiedzi, zdążyłem dziś z rana to ogarnąć. Nie myślałem już wczoraj a zaprzatało to mi głowe.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 17:39