我目前正在为我的网站制作一个消息传递系统,该系统允许人们向其他9个人(包括作者)发送消息。我有我的数据库称为 '会话' 具有以下字段的表:计数数组值返回额外结果
- convo_id
- 作者
- recipient_1
- recipient_2
- recipient_3
- recipient_4
- recipient_5
- recipient_6
- recipient_7
- recipient_8
- recipient_9
- 标题
- 时间戳
然后我有一个叫做 'private_messages' 这些领域的表:
- MESSAGE_ID
- convo_id
- 作者
- 时间戳
- 消息
所以在会话中的所有参与者都存储在谈话表,并存储在p_m表中的实际消息。
我使用的是单一的输入字段的形式为受助上,用逗号分隔的名字,然后对另一侧下面的代码提交:
$recipients = explode(",", $_POST['recipient']);
$duplicate = array($recipients[0],$recipients[1],$recipients[2],$recipients[3],$recipients[4],$recipients[5],$recipients[6],$recipients[7],$recipients[8],$recipients[9],$recipients[10]);
$unique = array_values(array_unique($duplicate));
$result = count($unique);
echo "$result<br>";
的问题,我有,当我回应$结果时,我得到一个额外的计数。如果我将该字段留空,则它正确地表示为0,但是任何条目都会返回2,这会在验证后进一步发生异常。
我完全难住,任何帮助将不胜感激!
您是否尝试过error_log'ing的$ _ POST [ '接受者']?也许你会将作者添加到收件人列表中。 –
是的,$ _POST ['recipient']只返回输入的值。 – user3461991
嗯,你添加11个收件人的数组...索引0到10.为什么你甚至做手动数组的东西? –