отправка электронной почты одним нажатием кнопки с данными с другой страницы - PullRequest
0 голосов
/ 05 февраля 2019

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

Конечно, я осмотрелся, но у всех с такой же проблемой, как у меня, есть, поэтому ихФорма также находится на той же странице, что и кнопка, поэтому они могут делать $_POST и mailto.Я не могу этого сделать, потому что форма находится на другой странице.

Это таблица, в которой администратор видит информацию о пользователе:

<td><?php echo $v['telephone']; ?></td>
<td><?php echo $v['email']; ?></td>
<td><?php echo $v['website']; ?></td>

, а затем эту кнопку администратор нажимает, чтобыотправьте его:

<input type="submit" value="Send confirmation" />
<input type="hidden" name="button_pressed" value="1" />

и под ним находится php-код для отправки:

<?php

if(isset($_POST['button_pressed']))
{
$to      = $v['email'];
$subject = 'ayayay';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);

echo 'Email Sent.';
}

?>  

Ничего не происходит, когда я нажимаю на него.Конечно, я тоже не получаю письмо.Что мне здесь не хватает?

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

$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";

1 Ответ

0 голосов
/ 05 февраля 2019

форма находится на другой странице

Но вы все еще пытаетесь отправить форму:

<input type="submit" value="Send confirmation" />
<input type="hidden" name="button_pressed" value="1" />

Независимо от того, какая форма может существовать на другой странице, чтобы отправить эту форму, вам все равно нужна форма здесь.Например:

<form method="POST" action="">
    <input type="submit" value="Send confirmation" />
    <input type="hidden" name="button_pressed" value="1" />
</form>

Добавьте любой URL, который вам может понадобиться для action, если не URL текущей страницы.И, конечно, любые элементы input, которые могут вам понадобиться для дополнительных значений.Например, если вам нужен ввод со значением $v['email'], вы бы добавили его:

<form method="POST" action="">
    <input type="submit" value="Send confirmation" />
    <input type="hidden" name="button_pressed" value="1" />
    <input type="hidden" name="email" value="<?php echo $v['email']; ?>" />
</form>

Затем в обработчике формы для этого, куда вы отправляете электронное письмо, вы будете использовать $_POST['email'] как и в любой другой форме.Например:

$to = $_POST['email'];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...