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.
<?php $subject = "zgoda"; $message = 'http://example.com/confirm.php? . $kod'; // To zle dziala <--- $servername = "localhost"; $username = "login"; $password = "haslo"; $dbname = "mysql"; $kod = NULL; $email = $_POST["email"]; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { http://www.php.net/die("Connection failed: " . $conn->connect_error); } http://www.php.net/echo "Connected successfully"; if ($conn) { $sql = "SELECT * FROM `zgody` WHERE email='$email'"; $result = $conn->query($sql); if ($result->num_rows > 0){ http://www.php.net/echo "Email exist in DB"; } else { for ($i = 0; $i < 36; $i++) { $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; $charactersLength = http://www.php.net/strlen($characters); $kod .= $characters[http://www.php.net/rand(0, $charactersLength - 1)]; } $sql = "INSERT INTO zgody (email, kod, confirm) VALUES ('$email', '$kod', '0')"; if ($conn->query($sql) === TRUE) { http://www.php.net/echo "dodano"; $headers = "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; $headers .= 'From: <mailtest@mail.pl>' . "\r\n"; http://www.php.net/mail($email,$subject,'http://example.com/confirm.php?' . $kod,$headers); //Tworzy poprawny link<----- }} $conn->close(); } ?>
<?php $servername = "localhost"; $username = "login"; $password = "haslo"; $dbname = "mysql"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { http://www.php.net/die("Connection failed: " . $conn->connect_error); } http://www.php.net/echo "Connected successfully"; if ($conn) { $sql = "SELECT * FROM `zgody` WHERE confirm=1"; if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { http://www.php.net/echo "id: " . $row["id"]. " - Name: " . $row["email"]. " " . $row["kod"]. " " . $row["confirm"] . "<br>"; } } else { http://www.php.net/echo "0 results"; } } ?>
$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
3 linia błąd składniowy, nawet forum podświetla..
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.
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)