根据结果​​通过电子邮件发送PHP

时间:2015-02-18 05:26:45

标签: php mysql arrays email

我有这个下拉(10个选择),在选择时,将根据选择通过电子邮件发送。

这是我的完整脚本:

<?
/*//Disable error reporting
error_reporting(0);
*/
//Report runtime errors
//error_reporting(E_ERROR | E_WARNING | E_PARSE);

//Report all errors
//error_reporting(E_ALL);
//end of error reporting

// Start the session
session_start();
?>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('select').on('change', function(e){
    var selected_value = $(this).val();
    var option_data = $(this).children('option[value="'+selected_value+'"]');

    // get data values
    var visanumber = option_data.data('visanumber');
    var idnumber = option_data.data('idnumber');
    var statusapp = option_data.data('statusapp');
    var subdate = option_data.data('subdate');

    // the photo
    var accntVisaPhotoPath = option_data.data('accntvisaphotopath');

    $(this).closest('td').siblings().find('img.accntVisaPhotoPath').attr('src', accntVisaPhotoPath);

    var passportPath = option_data.data('passportpath');
    $(this).closest('td').siblings().find('img.passportPath').attr('src', passportPath);

    // set the values
    $(this).closest('td').siblings().find('span.visanumber').text(visanumber);
    $(this).closest('td').siblings().find('span.idnumber').text(idnumber);
    $(this).closest('td').siblings().find('span.statusapp').text(statusapp);
    $(this).closest('td').siblings().find('span.subdate').text(subdate);
});
});
</script>
</head>
 <body>
<?

 $con=mysqli_connect("localhost","xxx","xxx","xxx");

 // Check connection
 if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL:" . mysqli_connect_error();
 }    
 $result = mysqli_query($con, "SELECT * FROM CV ORDER BY idvisa");

 ?>
 <div align="center">
<form name="listUsers" method="POST" action="contractEmail.php" enctype="multipart/form-data" accept-charset="UTF-8">
<table border="1px" width="700">
<tr>
<td align="center" colspan="7"><b>Email:</b><input name="email" type="text" id="email"></td>
</tr>
<tr>
    <th> <div align="center">&nbsp;Applicant Name&nbsp;</div></th>
    <th> <div align="center">Visa Number</div></th>
    <th> <div align="center">ID Number </div></th>
    <th> <div align="center">Employment Status</div></th>
    <th> <div align="center">&nbsp;Visa&nbsp;</div></th>
    <th> <div align="center">&nbsp;Passport&nbsp;</div></th>
    <th> <div align="center"><font color="red">Date</div></th>
    </tr>
<tr>
<td>
<select name="users[]">
<? echo "<option value=\"\">Select Person:</option>";?><br>
<? while ($row=mysqli_fetch_array($result)) {
echo "<option value='".$row['idvisa']."' data-visanumber='".$row['visanumber']."' data-idnumber='".$row['idnumber']."' data-statusapp='".$row['statusapp']."' data-accntVisaPhotoPath='".$row['accntVisaPhotoPath']."' data-passportPath='".$row['passportPath']."' data-subdate='".$row['subdate']."'>".$row['fName']." ".$row['lName']."</option>";
    }
 //First var
?>
</select>
<?//Additional var
$remittance =$row["remittance"];
$idvisa =$row["idvisa"];
$empname =$row["empname"];
$emailTrans =$row["emailTrans"];
$contractStat =$row["contractStat"];
$dateFiled =$row["dateFiled"];
$visanumber =$row["visanumber"];
$idnumber =$row["idnumber"];
$referredBy =$row["referredBy"];
$statusapp =$row["statusapp"];
$appname =$row["appname"];
$visa_path =$row["visa_path"];
$ticket_path =$row["ticket_path"];
$phoNamePath =$row["phoNamePath"];
$position =$row["position"];
$emailApp =$row["emailApp"];
$lName =$row["lName"];
$fName =$row["fName"];
$mName =$row["mName"];
$pAdd =$row["pAdd"];
$perAdd =$row["perAdd"];
$age =$row["age"];
$bDate =$row["bDate"];
$pBirth =$row["pBirth"];
$sex =$row["sex"];
$languageSpoken =$row["languageSpoken"];
$height =$row["height"];
$weight =$row["weight"];
$bCivilStatus =$row["bCivilStatus"];
$bReligion =$row["bReligion"];
$spouse =$row["spouse"];
$emergency =$row["emergency"];
$telemerCP =$row["telemerCP"];
$hs =$row["hs"];
$hsComplete =$row["hsComplete"];
$hsGrad =$row["hsGrad"];
$hsDegree =$row["hsDegree"];
$coll =$row["coll"];
$collComplete =$row["collComplete"];
$collGrad =$row["collGrad"];
$collDegree =$row["collDegree"];
$voc =$row["voc"];
$vocComplete =$row["vocComplete"];
$vocGrad =$row["vocGrad"];
$vocDegree =$row["vocDegree"];
$hc =$row["hc"];
$hcComplete =$row["hcComplete"];
$hcGrad =$row["hcGrad"];
$hcDegree =$row["hcDegree"];
$local1_post =$row["local1_post"];
$local1_fr =$row["local1_fr"];
$local1_to =$row["local1_to"];
$local1_name =$row["local1_name"];
$local1_add =$row["local1_add"];
$local2_post =$row["local2_post"];
$local2_fr =$row["local2_fr"];
$local2_to =$row["local2_to"];
$local2_name =$row["local2_name"];
$local2_add =$row["local2_add"];
$local3_post =$row["local3_post"];
$local3_fr =$row["local3_fr"];
$local3_to =$row["local3_to"];
$local3_name =$row["local3_name"];
$local3_add =$row["local3_add"];
$local4_post =$row["local4_post"];
$local4_fr =$row["local4_fr"];
$local4_to =$row["local4_to"];
$local4_name =$row["local4_name"];
$local4_add =$row["local4_add"];
$local5_post =$row["local5_post"];
$local5_fr =$row["local5_fr"];
$local5_to =$row["local5_to"];
$local5_name =$row["local5_name"];
$local5_add =$row["local5_add"];
?>
</td>
<td align="center"><span class="visanumber"></span></td>
<td align="center"><span class="idnumber"></span></td>  
<td align="center"><span class="statusapp"></span></td> 
<td align="center"><img class="accntVisaPhotoPath" height="50" width="50"></img></td>   
<td align="center"><img class="passportPath" height="50" width="50"></img></td>
<td align="center"><span class="subdate"></span></td>
</span>
</tr>
<tr>
<td>
<select name="users[]">
<? 
mysqli_data_seek( $result, 0 );
echo "<option value=\"\">Select Person:</option>";
while ($row=mysqli_fetch_array($result)) {
echo "<option value='".$row['idvisa']."' data-visanumber='".$row['visanumber']."' data-idnumber='".$row['idnumber']."' data-statusapp='".$row['statusapp']."' data-accntVisaPhotoPath='".$row['accntVisaPhotoPath']."' data-passportPath='".$row['passportPath']."' data-subdate='".$row['subdate']."'>".$row['fName']." ".$row['lName']." </option>";
}   
?>
</td>
<td align="center"><span class="visanumber"></span></td>
<td align="center"><span class="idnumber"></span></td>  
<td align="center"><span class="statusapp"></span></td> 
<td align="center"><img class="accntVisaPhotoPath" height="50" width="50"></img></td>   
<td align="center"><img class="passportPath" height="50" width="50"></img></td>
<td align="center"><span class="subdate"></span></td>
</span>
</tr>
<tr>
<td>
    <select name="users[]">
 <? 
 mysqli_data_seek( $result, 0 );
 echo "<option value=\"\">Select Person:</option>";
while ($row=mysqli_fetch_array($result)) {
echo "<option value='".$row['idvisa']."' data-visanumber='".$row['visanumber']."' data-idnumber='".$row['idnumber']."' data-statusapp='".$row['statusapp']."' data-accntVisaPhotoPath='".$row['accntVisaPhotoPath']."' data-passportPath='".$row['passportPath']."' data-subdate='".$row['subdate']."'>".$row['fName']." ".$row['lName']."</option>";
}   
 ?>
</td>
<td align="center"><span class="visanumber"></span></td>
<td align="center"><span class="idnumber"></span></td>  
<td align="center"><span class="statusapp"></span></td> 
<td align="center"><img class="accntVisaPhotoPath" height="50" width="50"></img></td>   
<td align="center"><img class="passportPath" height="50" width="50"></img></td>
<td align="center"><span class="subdate"></span></td>
</span>
</tr>
<tr>
<td>
    <select name="users[]">
 <? 
 mysqli_data_seek( $result, 0 );
 echo "<option value=\"\">Select Person:</option>";
while ($row=mysqli_fetch_array($result)) {
echo "<option value='".$row['idvisa']."' data-visanumber='".$row['visanumber']."' data-idnumber='".$row['idnumber']."' data-statusapp='".$row['statusapp']."' data-accntVisaPhotoPath='".$row['accntVisaPhotoPath']."' data-passportPath='".$row['passportPath']."' data-subdate='".$row['subdate']."'>".$row['fName']." ".$row['lName']."</option>";
}   
?>
</td>
<td align="center"><span class="visanumber"></span></td>
<td align="center"><span class="idnumber"></span></td>  
<td align="center"><span class="statusapp"></span></td> 
<td align="center"><img class="accntVisaPhotoPath" height="50" width="50"></img></td>   
<td align="center"><img class="passportPath" height="50" width="50"></img></td>
<td align="center"><span class="subdate"></span></td>
</span>
</tr>

最多10个单选下拉列表。

</table><br>
    <input type="button" name="cancelvalue" value="CANCEL" onClick="self.close()"> 
    <input name="reset" type="reset" value="Clear" height="14"> &nbsp;&nbsp;
    <input name="submit" type="submit" value="Send" height="14">
<br><br>
</form>

这是我的ACTUAL脚本http://www.mntr.workforceint.com/contract.php

我的目的是在选择ID后发送电子邮件。

phpmail当然已经准备就绪,唯一让我感到困惑的是如何提取/获取这些结果,如果他们选择了2个或更多的单个框。

和脚本:

 <?php
 /*//Disable error reporting
error_reporting(0);
*/
//Report runtime errors
//error_reporting(E_ERROR | E_WARNING | E_PARSE);

//Report all errors
error_reporting(E_ALL);
//end of error reporting

if(isset($_POST['submit']) && $_POST['submit'] == 'Submit') {

$size= sizeof($_POST['users']);
$i = 0;

//    $message = null;
for($i=0; $i<$size; $i++){
    $userId = $_REQUEST['users'][$i];
    $visaNumber = $_REQUEST['visanumber'][$i];
    $idNumber = $_REQUEST['idnumber'][$i];
    $statusApp = $_REQUEST['statusapp'][$i];
    $accntVisaPhotoPath = $_REQUEST['accntVisaPhotoPath'][$i];
    $passportPath = $_REQUEST['passportPath'][$i];
    $subdate = $_REQUEST['subdate'][$i];
    $message .= mailContent($userId);

   }

$to      = $_POST['email'];
$subject = 'This is a test';
$message = 'hello';
$headers = 'From: xxx@live.com' . "\r\n" .
    'Reply-To: xxx@live.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

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


function mailContent($userId) {

$stmt = "SELECT * FROM CV WHERE userid = '$userId'";
$query = mysqli_query($con,$stmt);

while($res = mysql_fetch_query($query)){
      $visanumber = $res['visanumber'];
      $statusapp = $res['statusapp'];

      // OTHER LOGICS GO HERE
}

}
echo "<center>You have sent CV(s) </b><br/><br/><br/><br/>YOU MAY NOW    CLOSE THIS WINDOW</center>";
?> 

我已经检查了但是我什么也没收到。

3 个答案:

答案 0 :(得分:1)

  

唯一让我烦恼的是如果他们选择了5个或更多项目,如何提取/获取这些结果

除非您在multiple标记上指定select属性,否则无法选择多个选项。

您还必须声明一个数组名称属性,如<select multiple name="myoptions[]" size="10">

然后,您将能够使用PHP中的数组$myoptions[]了解所选选项。

答案 1 :(得分:0)

使用php邮件程序。你永远不会遇到任何问题。

https://github.com/PHPMailer/PHPMailer

答案 2 :(得分:0)

以下是HTML代码:

    <?php
/*//Disable error reporting
error_reporting(0);
*/
//Report runtime errors
//error_reporting(E_ERROR | E_WARNING | E_PARSE);

//Report all errors
//error_reporting(E_ALL);
//end of error reporting

// Start the session
session_start();

    if(isset($_POST['add']) && $_POST['add'] == 'Add'){
        echo '<pre>'; print_r($_POST); die;
    }
?>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('select').on('change', function(e){
    var selected_value = $(this).val();
    var option_data = $(this).children('option[value="'+selected_value+'"]');

    // get data values
    var visanumber = option_data.data('visanumber');
    var idnumber = option_data.data('idnumber');
    var statusapp = option_data.data('statusapp');
    var subdate = option_data.data('subdate');

    // the photo
    var accntVisaPhotoPath = option_data.data('accntvisaphotopath');

    $(this).closest('td').siblings().find('img.accntVisaPhotoPath').attr('src', accntVisaPhotoPath);

    var passportPath = option_data.data('passportpath');
    $(this).closest('td').siblings().find('img.passportPath').attr('src', passportPath);

    // set the values
    $(this).closest('td').siblings().find('span.visanumber').text(visanumber);
    $(this).closest('td').siblings().find('span.idnumber').text(idnumber);
    $(this).closest('td').siblings().find('span.statusapp').text(statusapp);
    $(this).closest('td').siblings().find('span.subdate').text(subdate);
});
});
</script>
</head>
<body>
<?php

 $con=mysqli_connect("localhost","root","","test");

 // Check connection
 if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL:" . mysqli_connect_error();
 }    
 $result = mysqli_query($con, "SELECT * FROM CV ORDER BY idvisa");

 ?>
<div align="center">
<form name="listUsers" method="POST" action="contractEmail.php" enctype="multipart/form-data" accept-charset="UTF-8">
  <table border="1px" width="700">
    <tr>
      <td align="center" colspan="7"><b>Email:</b>
        <input name="email" type="text" id="email"></td>
    </tr>
    <tr>
      <th> <div align="center">&nbsp;Applicant Name&nbsp;</div></th>
      <th> <div align="center">Visa Number</div></th>
      <th> <div align="center">ID Number </div></th>
      <th> <div align="center">Employment Status</div></th>
      <th> <div align="center">&nbsp;Visa&nbsp;</div></th>
      <th> <div align="center">&nbsp;Passport&nbsp;</div></th>
      <th> <div align="center"><font color="red">Date</div></th>
    </tr>
    <tr>
      <td><select name="users[]">
          <?php echo "<option value=\"\">Select Person:</option>";?><br>
          <?php while ($row=mysqli_fetch_array($result)) {
echo "<option value='".$row['idvisa']."' data-visanumber='".$row['visanumber']."' data-idnumber='".$row['idnumber']."' data-statusapp='".$row['statusapp']."' data-accntVisaPhotoPath='".$row['accntVisaPhotoPath']."' data-passportPath='".$row['passportPath']."' data-subdate='".$row['subdate']."'>".$row['fName']." ".$row['lName']."</option>";
    }
 //First var
?>
        </select>
        <?php

//Additional var
$remittance =$row["remittance"];
$idvisa =$row["idvisa"];
$empname =$row["empname"];
$emailTrans =$row["emailTrans"];
$contractStat =$row["contractStat"];
$dateFiled =$row["dateFiled"];
$visanumber =$row["visanumber"];
$idnumber =$row["idnumber"];
$referredBy =$row["referredBy"];
$statusapp =$row["statusapp"];
$appname =$row["appname"];
$visa_path =$row["visa_path"];
$ticket_path =$row["ticket_path"];
$phoNamePath =$row["phoNamePath"];
$position =$row["position"];
$emailApp =$row["emailApp"];
$lName =$row["lName"];
$fName =$row["fName"];
$mName =$row["mName"];
$pAdd =$row["pAdd"];
$perAdd =$row["perAdd"];
$age =$row["age"];
$bDate =$row["bDate"];
$pBirth =$row["pBirth"];
$sex =$row["sex"];
$languageSpoken =$row["languageSpoken"];
$height =$row["height"];
$weight =$row["weight"];
$bCivilStatus =$row["bCivilStatus"];
$bReligion =$row["bReligion"];
$spouse =$row["spouse"];
$emergency =$row["emergency"];
$telemerCP =$row["telemerCP"];
$hs =$row["hs"];
$hsComplete =$row["hsComplete"];
$hsGrad =$row["hsGrad"];
$hsDegree =$row["hsDegree"];
$coll =$row["coll"];
$collComplete =$row["collComplete"];
$collGrad =$row["collGrad"];
$collDegree =$row["collDegree"];
$voc =$row["voc"];
$vocComplete =$row["vocComplete"];
$vocGrad =$row["vocGrad"];
$vocDegree =$row["vocDegree"];
$hc =$row["hc"];
$hcComplete =$row["hcComplete"];
$hcGrad =$row["hcGrad"];
$hcDegree =$row["hcDegree"];
$local1_post =$row["local1_post"];
$local1_fr =$row["local1_fr"];
$local1_to =$row["local1_to"];
$local1_name =$row["local1_name"];
$local1_add =$row["local1_add"];
$local2_post =$row["local2_post"];
$local2_fr =$row["local2_fr"];
$local2_to =$row["local2_to"];
$local2_name =$row["local2_name"];
$local2_add =$row["local2_add"];
$local3_post =$row["local3_post"];
$local3_fr =$row["local3_fr"];
$local3_to =$row["local3_to"];
$local3_name =$row["local3_name"];
$local3_add =$row["local3_add"];
$local4_post =$row["local4_post"];
$local4_fr =$row["local4_fr"];
$local4_to =$row["local4_to"];
$local4_name =$row["local4_name"];
$local4_add =$row["local4_add"];
$local5_post =$row["local5_post"];
$local5_fr =$row["local5_fr"];
$local5_to =$row["local5_to"];
$local5_name =$row["local5_name"];
$local5_add =$row["local5_add"];
?>
      </td>
      <td align="center"><span class="visanumber"></span></td>
      <td align="center"><span class="idnumber"></span></td>
      <td align="center"><span class="statusapp"></span></td>
      <td align="center"><img class="accntVisaPhotoPath" height="50" width="50"></img></td>
      <td align="center"><img class="passportPath" height="50" width="50"></img></td>
      <td align="center"><span class="subdate"></span></td>
      </span></tr>
    <tr>

    <td>

    <select name="users[]">

    <?php 
mysqli_data_seek( $result, 0 );
echo "<option value=''>Select Person:</option>";
while ($row=mysqli_fetch_array($result)) {
echo "<option value='".$row['idvisa']."' data-visanumber='".$row['visanumber']."' data-idnumber='".$row['idnumber']."' data-statusapp='".$row['statusapp']."' data-accntVisaPhotoPath='".$row['accntVisaPhotoPath']."' data-passportPath='".$row['passportPath']."' data-subdate='".$row['subdate']."'>".$row['fName']." ".$row['lName']." </option>";
}   
?>
    </td>

    <td align="center">
    <span class="visanumber">
    </span>
    </td>

    <td align="center">
    <span class="idnumber">
    </span>
    </td>

    <td align="center">
    <span class="statusapp">
    </span>
    </td>

    <td align="center">
    <img class="accntVisaPhotoPath" height="50" width="50">
    </img>
    </td>

    <td align="center">
    <img class="passportPath" height="50" width="50">
    </img>
    </td>

    <td align="center">
    <span class="subdate">
    </span>
    </td>

    </span>

    </tr>

    <tr>

    <td>

    <select name="users[]">

    <?php 
 mysqli_data_seek( $result, 0 );
 echo "<option value=\"\">Select Person:</option>";
while ($row=mysqli_fetch_array($result)) {
echo "<option value='".$row['idvisa']."' data-visanumber='".$row['visanumber']."' data-idnumber='".$row['idnumber']."' data-statusapp='".$row['statusapp']."' data-accntVisaPhotoPath='".$row['accntVisaPhotoPath']."' data-passportPath='".$row['passportPath']."' data-subdate='".$row['subdate']."'>".$row['fName']." ".$row['lName']."</option>";
}   
 ?>
    </td>

    <td align="center">
    <span class="visanumber">
    </span>
    </td>

    <td align="center">
    <span class="idnumber">
    </span>
    </td>

    <td align="center">
    <span class="statusapp">
    </span>
    </td>

    <td align="center">
    <img class="accntVisaPhotoPath" height="50" width="50">
    </img>
    </td>

    <td align="center">
    <img class="passportPath" height="50" width="50">
    </img>
    </td>

    <td align="center">
    <span class="subdate">
    </span>
    </td>

    </span>

    </tr>

    <tr>

    <td>

    <select name="users[]">

    <?php 
 mysqli_data_seek( $result, 0 );
 echo "<option value=\"\">Select Person:</option>";
while ($row=mysqli_fetch_array($result)) {
echo "<option value='".$row['idvisa']."' data-visanumber='".$row['visanumber']."' data-idnumber='".$row['idnumber']."' data-statusapp='".$row['statusapp']."' data-accntVisaPhotoPath='".$row['accntVisaPhotoPath']."' data-passportPath='".$row['passportPath']."' data-subdate='".$row['subdate']."'>".$row['fName']." ".$row['lName']."</option>";
}   
?>
    </td>

    <td align="center">
    <span class="visanumber">
    </span>
    </td>

    <td align="center">
    <span class="idnumber">
    </span>
    </td>

    <td align="center">
    <span class="statusapp">
    </span>
    </td>

    <td align="center">
    <img class="accntVisaPhotoPath" height="50" width="50">
    </img>
    </td>

    <td align="center">
    <img class="passportPath" height="50" width="50">
    </img>
    </td>

    <td align="center">
    <span class="subdate">
    </span>
    </td>

    </span>

    </tr>

  </table>
  <br>
  <input type="button" name="cancelvalue" value="CANCEL" onClick="self.close()">
  <input name="reset" type="reset" value="Clear" height="14">
  &nbsp;&nbsp;
  <input name="submit" type="submit" value="Send" height="14">
  <br>
  <br>
</form>

以下是contractEmail.php

 <?php
 /*//Disable error reporting
error_reporting(0);
*/
//Report runtime errors
//error_reporting(E_ERROR | E_WARNING | E_PARSE);

//Report all errors
error_reporting(E_ALL);
//end of error reporting

if(isset($_POST['submit']) && $_POST['submit'] == 'Send') {

$size= sizeof($_POST['users']);
$i = 0;


$message = NULL;

//    $message = null;
for($i=0; $i<$size; $i++){


    $userId = $_REQUEST['users'][$i];

    $message .= mailContent($userId);


   }

$to      = $_POST['email'];
$subject = 'This is a test';
$headers = 'From: xxx@live.com' . "\r\n" .
    'Reply-To: xxx@live.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();


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


function mailContent($userId) {


    $con=mysqli_connect("localhost","root","","test");
    $stmt = "SELECT * from CV where idvisa = '$userId'";
    $result = mysqli_query($con, $stmt);

    $row=mysqli_fetch_array($result);


    $visaNumber = $row['visanumber'];
    $idNumber = $row['idnumber'];
    $statusApp = $row['statusapp'];
    $accntVisaPhotoPath = $row['accntVisaPhotoPath'];
    $passportPath = $row['passportPath'];
    $subdate = $row['subdate'];

    $message = "Hi <br /> Here is the details <br />visaNumber : '$visaNumber' <br />idNumber : '$idNumber' <br />statusApp : '$statusApp' <br />accntVisaPhotoPath : '$accntVisaPhotoPath' <br />passportPath : '$passportPath' <br />subdate : '$subdate' <br />";
      // OTHER LOGICS GO HERE

    return $message;

}
echo "<center>You have sent CV(s) </b><br/><br/><br/><br/>YOU MAY NOW    CLOSE THIS WINDOW</center>";
?>

这很有效。但需要进行大量优化。