【问题标题】:Submitting form through Javascript to PHP not working通过Javascript向PHP提交表单不起作用
【发布时间】:2015-12-03 01:47:11
【问题描述】:

谁能指出我正确的方向。我不确定为什么这没有提交到我的数据库中。我正在尝试为我的网站创建聊天,但似乎无法正常工作。

我的表格:

<form onsubmit="return sendMessage();" class="form-inline">
    <div class="form-group ">
        <input type="text" class="input_custom" id="Message"> 
        <button type="submit" class="btn  btn-default">Send</button>
    </div>
</form>

我的 JS:

function sendMessage() {
   var message = escape(document.getElementById("Message").value);
   var send = new XMLHttpRequest();
   send.open("GET", "index.php"+"?message="+message, true);
   send.send();
   return false;
}

我的 PHP:

$sucess = '';
if(isset($_GET['message'])) {
    $message = $_GET['message'];
    $date = new DateTime();
    $date2 = $date->format('l h:i A"');
    $user = $username;
    if(!empty($message)) {
        $db->prepare("INSERT INTO shouts (date, username, shout) VALUES (:date, :username, :shout)");
        $db->execute(array(':date' => $date2, ':username' => $user, ':shout' => $message));
        $sucess = 'shout sent.';
    }
}

【问题讨论】:

  • 检查错误,检查你的控制台。

标签: javascript php pdo xmlhttprequest


【解决方案1】:

runnable

您的代码似乎有效:)

一些可能的问题('我已经通过 cmets 指出了它们'):

  1. $username 变量未定义,因此某些 sql 常量会阻止插入行
  2. 未设置数据库连接。
  3. 其他一些与数据库相关的问题。见link about get errors from pdo

【讨论】:

  • 对不起,我刚刚发布了代码 sn-ps,我已经在顶部包含了我的连接配置和 $username 变量。
猜你喜欢
  • 1970-01-01
  • 2014-03-21
  • 1970-01-01
  • 2015-09-15
  • 2020-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多