【发布时间】:2023-04-08 03:42:01
【问题描述】:
所以基本上我有一个带有多个项目的结帐页面,上面有一个复选框,假设您想要 15 个项目中的 4 个项目,当您选中这些框时,这些特定项目会添加到发送给您的邮件的订单列表中。
我还没有为复选框设置值,因为我正在尝试解决这个问题。
这是一堵文字墙,我知道。 jsFiddle 对我提交的代码表现迟钝。
PHP $_POST
$basic_standby = trim(htmlentities($_POST['basic_standby'], ENT_QUOTES));
$advanced_standby = trim(htmlentities($_POST['advanced_standby'], ENT_QUOTES));
$basic_game_overlay = trim(htmlentities($_POST['basic_game_overlay'], ENT_QUOTES));
$advanced_game_overlay = trim(htmlentities($_POST['advanced_game_overlay'], ENT_QUOTES));
$desktop_overlay = trim(htmlentities($_POST['desktop_overlay'], ENT_QUOTES));
$offline_overlay = trim(htmlentities($_POST['offline_overlay'], ENT_QUOTES));
$live_overlay = trim(htmlentities($_POST['live_overlay'], ENT_QUOTES));
$avatar_image = trim(htmlentities($_POST['avatar_image'], ENT_QUOTES));
$description_images = trim(htmlentities($_POST['description_images'], ENT_QUOTES));
$team_logo = trim(htmlentities($_POST['team_logo'], ENT_QUOTES));
$gold_package = trim(htmlentities($_POST['gold_package'], ENT_QUOTES));
$website_design = trim(htmlentities($_POST['website_design'], ENT_QUOTES));
邮件 HTML/PHP
<table cellpadding="0" cellspacing="0" border="0" width="670" class="content">
<tr>
<td width="100"></td>
<td style="padding: 5px 0 20px 0; font-size: 13px;"><b style="text-transform: uppercase; font-size: 14px;">Order list:</b><br /><br /> '. $faster_delivery .'<br /> '. $basic_standby .'<br /> '. $advanced_standby .'<br /> '. $basic_game_overlay .'<br /> '. $advanced_game_overlay .'<br /> '. $desktop_overlay .'<br /> '. $offline_overlay .'<br /> '. $live_overlay .'<br /> '. $avatar_image .'<br /> '. $description_images .'<br /> '. $team_logo .'<br /> '. $gold_package .'<br /> '. $website_design .'</td>
<td width="100"></td>
</tr>
</table>
几个复选框 - HTML
<tr>
<td width="250">1x Basic standby overlay:</td>
<td width="15" align="left">
<input class="test" type="checkbox" name="basic_standby" value="0" data-val="10" />
</td>
</tr>
<tr>
<td width="250">1x Advanced standby overlay:</td>
<td width="15" align="left">
<input type="checkbox" name="advanced_standby" value="0" data-val="20" />
</td>
</tr>
<tr>
<td width="250">1x Basic game overlay:</td>
<td width="15" align="left">
<input type="checkbox" name="basic_game_overlay" value="0" data-val="10" />
</td>
</tr>
<tr>
<td width="250">1x Advanced game overlay:</td>
<td width="15" align="left">
<input type="checkbox" name="advanced_game_overlay" value="0" data-val="20" />
</td>
</tr>
我的错误信息
Notice: Undefined index: basic_standby in C:\xampp\htdocs\datoverlayguy\core\includes\send_order.php on line 44
Notice: Undefined variable: newsletter in C:\xampp\htdocs\datoverlayguy\core\includes\send_order.php on line 45
Notice: Undefined index: advanced_standby in C:\xampp\htdocs\datoverlayguy\core\includes\send_order.php on line 48
Notice: Undefined index: basic_game_overlay in C:\xampp\htdocs\datoverlayguy\core\includes\send_order.php on line 52
Notice: Undefined index: advanced_game_overlay in C:\xampp\htdocs\datoverlayguy\core\includes\send_order.php on line 56
Notice: Undefined index: offline_overlay in C:\xampp\htdocs\datoverlayguy\core\includes\send_order.php on line 64
Notice: Undefined index: live_overlay in C:\xampp\htdocs\datoverlayguy\core\includes\send_order.php on line 68
Notice: Undefined index: avatar_image in C:\xampp\htdocs\datoverlayguy\core\includes\send_order.php on line 72
Notice: Undefined index: description_images in C:\xampp\htdocs\datoverlayguy\core\includes\send_order.php on line 76
Notice: Undefined index: website_design in C:\xampp\htdocs\datoverlayguy\core\includes\send_order.php on line 88
编辑
当我尝试发送电子邮件时它显示如下。
【问题讨论】:
-
您是否在处理 $_POST 之前检查表单是否已发布?
-
你确实有表单标签,对吗?
-
定义变量并设置空值。
-
表单和邮件发件人在同一个文件中,一切都在一个页面中。我确实有没有指向任何地方的表单标签。
<form method="post" action="">@Dagon -
在你真正尝试使用 post 变量来检查里面的内容并发布之前,你能做一个 var_dump($_POST) 吗?