Отправка писем с использованием динамической формы, но не получение значений из базы данных при получении письма - PullRequest
0 голосов
/ 20 февраля 2019

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

$connect = mysqli_connect("localhost", "root", "", "pcrequest");
if(isset($_POST["reqname"]))
{
 $length = 10;
 $trackingcode = substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, $length);
 $reqname = $_POST["reqname"];
 $date = $_POST["date"];
 $empname = $_POST["empname"];
 $position = $_POST["position"];
 $account = $_POST["account"];
 $platform = $_POST["platform"];
 $processor = $_POST["processor"];
 $ram = $_POST["ram"];
 $monitor = $_POST["monitor"];
 $phone = $_POST["phone"];
 $phonetype = $_POST["phonetype"];
 $headset = $_POST["headset"];
 $approval = $_POST["approval"];
 $status = $_POST["status"];
 $query = '';
 for($count = 0; $count<count($reqname); $count++)
 {
  $trackingcode_clean = substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, $length);
  $reqname_clean = mysqli_real_escape_string($connect, $reqname[$count]);
  $date_clean = mysqli_real_escape_string($connect, $date[$count]);
  $empname_clean = mysqli_real_escape_string($connect, $empname[$count]);
  $position_clean = mysqli_real_escape_string($connect, $position[$count]);
  $account_clean = mysqli_real_escape_string($connect, $account[$count]);
  $platform_clean = mysqli_real_escape_string($connect, $platform[$count]);
  $processor_clean = mysqli_real_escape_string($connect, $processor[$count]);
  $ram_clean = mysqli_real_escape_string($connect, $ram[$count]);
  $monitor_clean = mysqli_real_escape_string($connect, $monitor[$count]);
  $phone_clean = mysqli_real_escape_string($connect, $phone[$count]);
  $phonetype_clean = mysqli_real_escape_string($connect, $phonetype[$count]);
  $headset_clean = mysqli_real_escape_string($connect, $headset[$count]);
  $approval_clean = mysqli_real_escape_string($connect, $approval[$count]);
  $status_clean = mysqli_real_escape_string($connect, $status[$count]);
  if($trackingcode_clean != '' && $reqname_clean != '' && $date_clean != '' && $empname_clean != '' && $position_clean != '' && $account_clean != '' && $platform_clean != '' && $processor_clean != '' && $ram_clean != '' && $monitor_clean != '' && $phone_clean != '' && $phonetype_clean != '' && $headset_clean != '' && $approval_clean != '' && $status_clean != '')
  {
   $query .= '
   INSERT INTO request(trackingcode, reqname, date, empname, position, account, platform, processor, ram, monitor, phone, phonetype, headset, approval, status) 
   VALUES("'.$trackingcode_clean.'", "'.$reqname_clean.'", "'.$date_clean.'", "'.$empname_clean.'", "'.$position_clean.'", "'.$account_clean.'", "'.$platform_clean.'", "'.$processor_clean.'", "'.$ram_clean.'", "'.$monitor_clean.'", "'.$phone_clean.'", "'.$phonetype_clean.'", "'.$headset_clean.'", "'.$approval_clean.'", "'.$status_clean.'"); 
   ';
  }
 }

и вот отправка на код электронной почты:

$to .= 'renzoandredg@gmail.com';

// subject
$subject = 'My data';

// message -> start creatin a table and a nice header
$message = '
<html>
  <head>
    <title>Here are the specifications:</title>
  </head>
  <body>
    <table>
      <tr>
        <th>Position</th><th>Account</th>
      </tr>';
$ids = explode(',', $_POST['count']); 
foreach ($reqnumber as $id) { 
  $position = $_POST['position' . $id]; 
  $account = $_POST['account' . $id]; 
  //add each data row to the message as a table row
  $message .= "<tr><td>$position</td><td>$account</td></tr>"; 
}

//close the html table and page
$message .= '
  </table>
</body>
</html>
';

// To send HTML mail, the Content-type header must be set
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// Additional headers
$headers .= '' . "\r\n";
$headers .= '' . "\r\n";
$headers .= '' . "\r\n";
$headers .= '' . "\r\n";

// Mail it
$send_contact=mail($to,$subject,$message,$headers);                               

// Check, if message sent to your email                                
if($send_contact){                               
   echo "We've recived your contact information";                               
} else {                               
   echo "ERROR";                               
}

Вот что я получаю при получении письма:

Электронная почта

Таким образом, должны быть значения ниже Position и Account.

Вот моя схема БД на случай, если она вам понадобится:

Схема БД

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...