2016-05-30 2 views
-1

У меня есть настройка функции электронной почты и работа с ней, задав код для отправки по электронной почте определенного адреса электронной почты. Однако при этом он переходит на тот же адрес электронной почты каждый раз, когда нажата кнопка отправки, на основе данных, введенных в текстовое поле, откуда приходит почта.отправка электронной почты на основе данных из таблицы MySQL

Однако я хочу изменить его так, чтобы, когда пользователь вводит свое имя пользователя в поле имени пользователя, он проверяет мою таблицу базы данных для этого имени пользователя и проверяет их адрес электронной почты и отправляет им всю информацию, установленную для этого пользователя.

Код, который я использую;

$username = $_POST['username']; 

$my_query="SELECT * from loanusers where username = '$username'"; 
$result= mysqli_query($connection, $my_query); 

$to = $myrow["emailaddess"]; 
$subject = 'CSG - Forgotten Password'; 
$sender = '[email protected]'; 
$password = $myrow["password"]; 
$admin = 'CSGLoanSystem Admin Team'; 


$body = <<< EMAIL 

Hi {$username}, You have recently requested a notification of your password. 

The Password registered with account {$username} is $password. 
Thanks - {$admin} 

EMAIL; 

$header = "From:" . $sender; 


if ($result): 
     mail($to, $subject, $body, $header); 
     $feedback = 'Email Sent'; 
endif; 

В тот момент, когда кнопка отправки нажата, страница обновляется, но ничего на самом деле не происходит, и не по электронной почте не будет получен в ожидаемом адрес электронной почты?

+0

@Webeng Привет, Я обновил свой вопрос с моим кодом, если вы можете посмотреть и дайте мне знать, где я буду неправильно, благодаря – Mucca019

+0

я отредактированному мой ответ. В нижней части моего ответа в разделе ** «Редактировано» ** вы увидите, что я рекомендую вам сейчас попробовать, чтобы заставить ваш код работать. Дайте мне знать, будет ли теперь работать с этой модификацией. – Webeng

ответ

0

Указав на правильном направлении:

Читайте на MySQL и PDO. Также прочитайте подготовленные инструкции и привязки параметров.

Уточняя указания:

Есть много способов подключения к базе данных, и существует много различных баз данных, имеющихся. Одно популярное программное обеспечение базы данных называется MySQL, а метод кодирования, который наиболее рекомендуется для подключения к этой базе данных, - это PDO по таким причинам, как наличие лучших методов предотвращения нарушений безопасности.

Вы можете найти множество онлайн-руководств по подключению к базе данных, поэтому я не буду вдаваться в это, хотя, тем не менее, я приведу пример запроса, который вы могли бы использовать для поиска по электронной почте, и также я буду включать подготовленные заявления и привязки параметров, поскольку эти две детали часто неправильно понимаются многими программистами.

Если у вас есть следующая таблица:

users 

______________________________ 
| username |  email  | 
|------------+-----------------| 
| john44 | [email protected] | 
|------------+-----------------| 
| adam11 | [email protected] | 
|------------+-----------------| 

следующий код позволит вам получать электронную почту john44 «s:

$username = $_POST['username'];//getting the username written in the form 

$sql = "SELECT email FROM users WHERE username = ?"; 
$stmt = $conn->prepare($sql); 
$stmt->execute([$username]); 
$result = $stmt->fetch(PDO::FETCH_ASSOC); 

//here I'm just outputting the obtained email for you to see 
//it works, however you would then use the email saved in 
//$result['email'] whichever way you want. 
echo "email = {$result['email']}<br>"; 

Отредактировано:

После вы отредактировали свой код, я заметил, что вы не получение информации, которую вы запросили. Вставьте следующий код после строки $result= mysqli_query($connection, $my_query);:

$myrow = mysqli_fetch_assoc($result); 
+0

У меня уже есть соединение с файлом базы данных. например my_connect.php. Я использую это на большинстве своих страниц, мне все еще нужно использовать весь код выше, если у меня уже есть страница подключения? – Mucca019

+0

Да, вам все равно понадобится код выше. соединение с базой данных - это просто соединение. Затем вам нужно что-то сделать с этим соединением, и в вашем случае вы хотите извлечь информацию из таблицы, чтобы получить электронную почту пользователей, что и делает код выше. – Webeng

Смежные вопросы