亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我的消息輸入沒有進入數據庫

我的消息輸入沒有進入數據庫

PHP
哆啦的時光機 2022-12-11 10:06:31
我想向朋友發送消息,但它不想進入我的數據庫,但即使我使用 $_POST,它也會顯示在 url 中。我得到了我的 currentuserID 和我的 recipientID(我需要發送給的人)因為我 var_dump 了這兩個并且得到了兩個 ID。我的 SQL 查詢應該沒有錯我以為我已經與多個人核實過(但是當我在數據庫中測試時它給出了一個錯誤。但是當我在其中放入另一個有效的查詢時,它給出了同樣的錯誤所以我不'不認為這是一個問題)。所以我不知道這里可能是什么問題..我的消息.php:<?phpsession_start();if (empty($_SESSION['user_id'])) {    header('Location: login.php');}//Hier mag enkel het gesprek te zien zijn tussen 2 users die met elkaar bevriend zijn//tabel buddies >buddyID1 & buddyID2include_once(__DIR__."/inc/header.inc.php");include_once(__DIR__."/classes/Message.php");include_once(__DIR__."/classes/User.php");$userArray = $_SESSION['user_id'];$userID = implode(" ", $userArray);$currentUser = $userID;//var_dump($_POST);$recipientID = implode(" ",$_POST);//om het getal terug te krijgen van de recipientIDecho "currentUser: ";var_dump($currentUser);echo ".  recipientID: ";var_dump($recipientID);//msg wordt in databank gestoptif(!empty($_POST['message'])){    $msg = new Message();    $msg->setUserID($currentUser);    $msg->setRecipientID($recipientID);    $msg->setMessage(htmlspecialchars($_POST['message']));    $msg->messageSchrijven();}//msg wordt afgedrukt/gereturned$msg2 = new Message();$messages = $msg2->messagePrint();?><!DOCTYPE html><html><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>Document</title></head><body>    <div>        <form action="" methd="post">        <h1>Je chat nu met <?php echo $recipientID ?></h1>            <input type="text" name="message">            <input type="hidden" name="recipientID" id="" value="<?php echo $recipientID?>">            <input type="hidden" name="senderID" id="" value="<?php echo $currentUser?>">            <div class="">                <button type="submit" class="btn" style="width: 90px">Send</button>            </div>        </form>    </div></body></html>
查看完整描述

1 回答

?
catspeake

TA貢獻1111條經驗 獲得超0個贊

內爆

首先,我認為你誤解了 implode 方法。在你的例子中$recipientID

$recipientID = implode(" ",$_POST); //om het getal terug te krijgen van de recipientID

必須包含類似“10 9 This is my Message”之類的內容,這不是 id。添加一些驗證并將其更改為

$recipientID = $_POST['recipientID'];

你在 php.net 上找到了一些關于 implode 的信息

PDO 執行

如果您使用的是 PDO,則 execute 方法返回一個布爾值(在php.net PDP execute上搜索)。所以如果你不使用返回值,就這樣使用

$statement->execute();

另外刪除$result = $statement->fetchAll(PDO::FETCH_ASSOC);插入方法處的行。

錯誤

在 PDO之后execute()你可以使用

print_r($statement->errorInfo());

獲取查詢錯誤。您可以在此處獲取更多信息

數據庫

我們看不到您的數據庫模式,是不是您違反了表的唯一鍵或字段類型?

HTML

從我的角度來看,我總是會像這樣在變量名和 php 聲明之間寫空格

<input type="hidden" name="recipientID" value="<?php echo $recipientID; ?>" />


查看完整回答
反對 回復 2022-12-11
  • 1 回答
  • 0 關注
  • 123 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號