Selam arkadaşlar, yeni oluşturduğum üyelik sistemime aktivasyon eklemek istiyorum phpmailer kullanıyorum fakat mailler gitmiyor, smtp denedim oda olmuyor birde forma mail fonksiyonlarını ekleyince hem mail yollamıyor hemde üyelik tamamlandıktan sonra gitmesi gereken login.php ye yönlenmiyor sayfa çalışmıyor hatası veriyor. her iki şekildede veritabanına doğru kayıt yapıyor. kodları if($stmt->execute()){ altındada denedim değişen bişey olmadı kodlarım. PHP: if(empty($username_err) && empty($password_err) && empty($confirm_password_err) && empty($email_err)){// Mail fonksiyonu require_once("PHPMailer/PHPMailer.php"); $mail = new PHPMailer(); $mail->IsSMTP(); $mail->Host = "mail.xxxx.com veya IP"; $mail->SMTPAuth = true; $mail->Username = "xxx@xxx.com"; $mail->Password = "xxxxx"; $mail->From = "xxxx@xxxx.com"; $mail->Fromname = $_POST['username']; $mail->AddAddress = $_POST['email']; $mail->AddReplyTo('replyto@email.com', 'Reply to name'); $mail->Subject = 'Kayıt formu'; $mail->Body = 'Çalışırsa aktivasyon gidecek'; if(!$mail->Send()){ echo '<font color="#F62217"><b>Gönderim Hatası: ' . $mail->ErrorInfo . '</b></font>'; } else { echo '<font color="#41A317"><b>Mesaj başarıyla gönderildi.</b></font>'; }// Token alalım $token = 'qwertzuiopasdfghjklyxcvbnmQWERTZUIOPASDFGHJKLYXCVBNM0123456789!$/()*'; $token = str_shuffle($token); $token = substr($token, 0, 10); // Prepare an insert statement $sql = "INSERT INTO users (username, password, email, status, token) VALUES (?, ?, ?, ?, ?)"; if($stmt = $mysqli->prepare($sql)){ // Bind variables to the prepared statement as parameters $stmt->bind_param("sssis", $param_username, $param_password, $param_email, $param_status, $param_token); // Set parameters $param_username = $username; $param_password = password_hash($password, PASSWORD_DEFAULT); // Creates a password hash $param_email = $email; $param_status = 0; $param_token = $token; // Attempt to execute the prepared statement if($stmt->execute()){ header("location: login.php"); } else{ echo "Something went wrong TOTAL FORM. Please try again later."; } } // Close statement $stmt->close(); } // Close connection $mysqli->close();} Statment kullanarak son bölümü yapmayı beceremedim düz eski sistem kullandım ihtiyacı olan kullansın çok aranıyor. Buyurun hayırlı olsun PHP: <?php// Include config file require_once 'includes/config.php'; $msg = ""; use PHPMailer\PHPMailer\PHPMailer; if($_SERVER["REQUEST_METHOD"] == "POST"){ $username = $password = $cPassword = $email = ""; $username_err = $password_err = $cPassword_err = $email_err = ""; $username = $mysqli->real_escape_string($_POST['username']); $password = $mysqli->real_escape_string($_POST['password']); $cPassword = $mysqli->real_escape_string($_POST['cPassword']); $email = $mysqli->real_escape_string($_POST['email']); if(empty(trim($_POST["username"]))){ $username_err = "Please enter a username."; } else{ // Prepare a select statement $sql = "SELECT id FROM users WHERE username = ?"; if($stmt = $mysqli->prepare($sql)){ // Bind variables to the prepared statement as parameters $stmt->bind_param("s", $param_username); // Set parameters $param_username = trim($_POST["username"]); // Attempt to execute the prepared statement if($stmt->execute()){ // store result $stmt->store_result(); if($stmt->num_rows == 1){ $username_err = "This username is already taken."; } else{ $username = trim($_POST["username"]); } } else{ echo "Oops! Something went wrong. Please try again later."; } } // Close statement $stmt->close(); } if(empty(trim($_POST['password']))){ $password_err = "Please enter a password."; } elseif(strlen(trim($_POST['password'])) < 6){ $password_err = "Password must have atleast 6 characters."; } else{ $password = trim($_POST['password']); } // Validate confirm password if(empty(trim($_POST["cPassword"]))){ $cPassword_err = 'Please confirm password.'; } else{ $cPassword = trim($_POST['cPassword']); if($password != $cPassword){ $cPassword_err = 'Password did not match.'; } } if(empty(trim($_POST["email"]))){ $email_err = "Please enter a email."; } else{ // Prepare a select statement $sql = "SELECT id FROM users WHERE email = ?"; if($stmt = $mysqli->prepare($sql)){ // Bind variables to the prepared statement as parameters $stmt->bind_param("s", $param_email); // Set parameters $param_email = trim($_POST["email"]); // Attempt to execute the prepared statement if($stmt->execute()){ // store result $stmt->store_result(); if($stmt->num_rows == 1){ $email_err = "This email is already taken."; } else{ $email = trim($_POST["email"]); } } else{ echo "Oops! Something went wrong. Please try again later."; } } // Close statement $stmt->close(); } if(empty($username_err) && empty($password_err) && empty($cPassword_err) && empty($email_err)){ $token = 'qwertzuiopasdfghjklyxcvbnmQWERTZUIOPASDFGHJKLYXCVBNM0123456789!$/()*'; $token = str_shuffle($token); $token = substr($token, 0, 10); $hashedPassword = password_hash($password, PASSWORD_DEFAULT); $mysqli->query("INSERT INTO users (username, email, password, status, token) VALUES ('$username', '$email', '$hashedPassword', '0', '$token')"); include_once "PHPMailer/PHPMailer.php"; $mail = new PHPMailer(); $mail->setFrom('xxx@xxxx.com'); $mail->addAddress($email, $name); $mail->Subject = "Please verify email!"; $mail->isHTML(true); $mail->Body = "Please click on the link below:<br><br> <a href='http://xxxx.com/klasor-varsa/confirm.php?email=$email&token=$token'>Buraya tıklayın</a>"; if ($mail->send()){ echo "You have been registered! Please verify your email!"; }else{ echo "Something wrong with sending email ! Please try again!"; } }else{ echo "Lütfen! Kırmızı ile belirtilen hataları düzeltin!"; } //Alt if kapama $mysqli->close();}?>