ID列、名前列、および電子メール列を持つ「リード」と呼ばれるmysqlデータベーステーブルがあります。現在、複数選択ボックスからリードを選択しているユーザーがいます。これは、html form
with$_POST
メソッドから配列として返されます。選択ボックス項目の値をメール列として持っており、フロント エンドでユーザーに表示されるのは名前列です。ただし、後で使用するために、電子メールと名前の 2 つの値を返すことができるようにしたいと考えています。後で PHP を使用して電子メールを送信できるように、電子メールの値をカンマで区切られるようにする必要があります。mail
関数。ただし、ユーザーが送信されたメールを見ると、名前の値を表示したいと思います。配列を解析するか、ID列セットを値として使用できることを読んだことがありますが、これはより実用的なようですが、どうすればよいかわかりません。何か案は?助けてくれてありがとう!
*更新*
基本的に、サイトにログインするユーザーは、mysql データベースに独自のリードを持っています。名前で 1 つまたは複数のリードを選択できる「メール送信」ページにアクセスできるようにする必要があります。次に、件名フィールドとメッセージ フィールドがあり、メールを書くことができます。次に、「メールを送信」フォームの送信ボタンがあります。「メールを送信」をクリックした後、後で使用するために、選択した見込み客のメール アドレスと名前を取得したいと考えています。PHP のメール機能を使用してメール アドレスを送信できるように、メール アドレスをカンマで区切る必要があります。 cron ジョブを実行して、送信する必要のあるメールを見つけて送信するスクリプトを実行します... メールが送信された後、メールの名前、件名、メッセージを「SentEmails」という別のデータベースに入れる必要があります。サイトの別のページで、ユーザーが送信したすべての電子メールを表示できるようにしたいのですが、電子メール アドレスではなく、送信者の名前を表示したいと考えています。これが、名前と電子メールの両方が必要な理由です。メール機能用のメールと、ユーザーに表示される名前が必要です。IDを使用して残りのサーバー側を実行するというあなたのアイデアが好きです。これを行う方法がわかりません。これが役に立ったことを願っています。これが、名前と電子メールの両方が必要な理由です。メール機能用のメールと、ユーザーに表示される名前が必要です。IDを使用して残りのサーバー側を実行するというあなたのアイデアが好きです。これを行う方法がわかりません。これが役に立ったことを願っています。これが、名前と電子メールの両方が必要な理由です。メール機能用のメールと、ユーザーに表示される名前が必要です。IDを使用して残りのサーバー側を実行するというあなたのアイデアが好きです。これを行う方法がわかりません。これが役に立ったことを願っています。
選択ボックスは次のとおりです。
<select data-placeholder="Select Lead(s) To Email..." multiple="true" class="chzn-container-multi" name="selectleads[]"style="width:505px;">
<?php
do {
?>
<option value="<?php echo $row_rsAllLeads['Email']?>"><?php echo $row_rsAllLeads['FullName']?></option>
<?php
} while ($row_rsAllLeads = mysql_fetch_assoc($rsAllLeads));
$rows = mysql_num_rows($rsAllLeads);
if($rows > 0) {
mysql_data_seek($rsAllLeads, 0);
$row_rsAllLeads = mysql_fetch_assoc($rsAllLeads);
}
?>
</select>
実際のフォーム アクションは次のとおりです。
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form")) {
$startcode = $_POST['messagefield'];
$replaced = preg_replace( '/\\\\(?="|\')/', '', $startcode );
$selected = $_POST['selectleads'];
$collectedleads = implode(", ", $_POST['selectleads']);
$to = $collectedleads;
$subject = $_POST['subjectfield'];
$body = $replaced;
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: " . $row_rs_CurrentUser['FirstName'] . " " . $row_rs_CurrentUser['LastName'] . " <" . $row_rs_CurrentUser['Email'] . ">";
if (mail($to, $subject, $body, $headers)) {
} else {
echo("<p>Message delivery failed...</p>");
}
}
あなたが私にくれたコードと私は編集して機能させようとしました(そして失敗しました):
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form")) {
$startcode = $_POST['messagefield'];
$replaced = preg_replace( '/\\\\(?="|\')/', '', $startcode );
mysql_select_db($database_myBackOfficeConn, $myBackOfficeConn);
$collectedleads = implode(", ", $_POST['selectleads']);
//arrays to store email addresses and names
$emails = array();
$names = array();
foreach ($collectedleads as $id) {
mysql_query("SELECT Email, FullName FROM Leads
WHERE Id = " . mysql_real_escape_string($id));
while ($row = mysql_fetch_assoc()) {
$emails[] = $row['Email'];
$names[] = $row['FullName'];
}
}
$to = $collectedleads;
$subject = $_POST['subjectfield'];
$body = $replaced;
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: " . $row_rs_CurrentUser['FirstName'] . " " . $row_rs_CurrentUser['LastName'] . " <" . $row_rs_CurrentUser['Email'] . ">";
if (mail($to, $subject, $body, $headers)) {
} else {
echo("<p>Message delivery failed...</p>");
}
}
?>