-1

这更像是一个基本的 php 问题而不是 pdo 问题,但我仍然遇到错误'Notice: Undefined index: body in /home/downlowd/www/dev/launch.php on line 20' ,我试图$_POST在几个地方传递,但只会让事情变得更糟。

<?php
require_once('config.php');
$attrs = array(PDO::ATTR_PERSISTENT => true);
$pdo = new PDO("mysql:host=localhost;dbname=".$dbname, $db_username, $db_password, $attrs);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$custlist = $pdo->prepare("SELECT * FROM customer_list");
$carrierlist = $pdo->prepare("SELECT * FROM carriers");
//$products = array();

$smsarrayobject = new ArrayObject($carrierlist);


if ($custlist->execute()) {
        while ($row = $custlist->fetch(PDO::FETCH_ASSOC)) {
                $prefix = $row['sms_num'];
                if ($carrierlist->execute()) {
                        while ($rows = $carrierlist->fetch(PDO::FETCH_ASSOC)) {
                                $from = 'admin@telecomm.com';
                                $to = $prefix.$rows['carrieraddr'];
                                $body = $_POST['body'];
                                mail($to, $from, $body);
                        }
                }
        }
}
$pdo = null;
?>
<form action="" method="POST">
        Your Message Body <input name="body" type="text" />
        <input type="submit">
</form>
4

1 回答 1

0

您甚至应该在执行代码之前检查 $_POST,这可以防止处理空输入,最好的方法是使用 isset() 函数进行检查:

if(isset($_POST['body']){
// your stuff

}
于 2013-08-11T18:44:01.023 回答