【发布时间】:2026-02-13 19:25:05
【问题描述】:
美好的一天!我创建了一个文件 send.php 来向我的 gmail 发送有关订单的信息。几乎一切正常,但我无法从购物车发送产品名称。我必须通过邮件从数据库发送一个字符串(标题)。如何从 $g 中获取标题是一行?
<?php
require 'phpmailer/PHPMailer.php';
require 'phpmailer/SMTP.php';
require 'phpmailer/Exception.php';
$g = $_SESSION['cart_list'];
$name = $_POST['name'];
$tel = $_POST['tel'];
$c = $single["title"];
$title = "";
$body = "
<h2></h2>
<b></b> $name<br>
<b></b> $tel<br><br>
<b></b>$c<br>
";
$mail = new PHPMailer\PHPMailer\PHPMailer();
try {
$mail->isSMTP();
$mail->CharSet = "UTF-8";
$mail->SMTPAuth = true;
//$mail->SMTPDebug = 2;
$mail->Debugoutput = function($str, $level) {$GLOBALS['status'][] = $str;};
$mail->Host = 'smtp.gmail.com';
$mail->Username = '';
$mail->Password = '';
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;
$mail->setFrom('');
$mail->addAddress('');
$mail->isHTML(true);
$mail->Subject = $title;
$mail->Body = $body;
if ($mail->send()) {$result = "success";}
else {$result = "error";}
}
catch (Exception $e) {
$result = "error";
$status = "{$mail->ErrorInfo}";
}
echo json_encode(["result" => $result, "resultfile" => $rfile, "status" => $status]);
order.php(含产品、求和、内联、提交)
<?php
require_once "db.php";
require_once "header.php";
?> <br>
<div class="text-center">
</div><br>
<main>
<div class="container">
<section class='text-center mb-4'>
<div class='row'>
<?php $s = 0; ?>
<?php foreach( $_SESSION['cart_list'] as $single ) : ?>
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-4 col-xl-4 col-md-offset-1
mb-5">
<div class='card'>
<div class='view overlay'>
<div class='qwe'>
<img class='card-img-top' src='/img/products/<?php echo $single['img'];?
>.jpg'>
</div>
<div class='mask rgba-white-slight'></div>
</div>
<div class='card-body text-center'>
<div class="grey-text">
<div class='title'><h5><?php echo $single['title'];?></h5></div>
</div>
<br>
<h5>
<strong><?php echo $single['brand'];?>
<span class='badge red mr-1'>
<?php echo $single['category'];?>
</span>
</strong>
</h5>
<h4 class='font-weight-bold blue-text'>
<strong><?php echo $single['price'];?>$</strong>
</h4>
</div>
</div>
</div>
<?php $s += $single['price']; ?>
<?php $g = $_SESSION['cart_list'] ?>
<?php endforeach; ?>
</div>
</section>
<hr><section class='text-center mb-4 font-weight-bold display-4'>
<label class="count" id="summ"><?php echo $s; ?>$</label>
</section>
<p>
<a href="cart.php"><button type="button" class="btn btn-primary">
</button></a> <br> <br>
</p>
<form action="send.php" method="post">
<div class="text-center">
<input type="name" name="name" placeholder="Ваше " aria-label="" required>
<input type="tel" name="tel" placeholder="" aria-label="" required>
<input class="btn btn-primary" type="submit" value="" required>
</div>
</form>
</div>
</main>
</div>
<?php require_once "footer.php"; ?>
【问题讨论】:
-
我在你的代码中没有看到
$d,我只看到$g。此外,只有您知道该信息存储在哪个密钥下。 -
我的错,是 $g。 DB被命名为“details”,我有列:id、title、description、img、price、category、brand。它们按此顺序排列
-
你能分享
$g的完整结构吗?您可以使用var_export、var_dump或print_r转储变量的内容。 -
我添加了带有会话参数的 php 页面。也许我应该将 db.php 连接到 send.php?
-
您添加的内容与问题无关。能否请您添加购物车的转储,以便我查看它的外观?
标签: php mysql arrays database phpmyadmin