使用javascript从表单提供的信息连接到MySQL

时间:2013-11-08 01:56:41

标签: javascript php forms

我坚持这个问题。我一直在尝试使用http(),但似乎没有做任何事情。

这是表单(我提交时调用ajax_request,这很好用):

<form name='form-main'>
    <input id='host' type='text' placeholder='Host' />
    <input id='user' type='text' placeholder='Username' />
    <input id='db' type='text' placeholder='Database' />
    <input id='pass' type='password' placeholder='Password' />
</form>

这里是ajax_request部分:

function ajax_request() {
    var host = document.getElementById('host').value;
    var user = document.getElementyById('user').value;
    var db = document.getElementById('db').value;
    var pass = document.getElementById('pass').value;

    var submitTo = 'DB.php';
    //alert(submitTo);
    http('POST', submitTo, ajax_response, 'Host='+host);
}

这是ajax_response

function ajax_response(data) {
    document.getElementById('web').value = data;
}

最后,这是我试图调用的PHP DB.php

<?php
    $Host = $_POST['Host'];
    $User = $_POST['User'];
    $DB = $_POST['DB'];
    $Pass = $_POST['Pass'];

    $iDB = new mysqli($Host, $User, $DB, $Pass);

    if($iDB->connect_errno) echo "no";
    else echo "yes";
?>

我在这里想要实现的是从PHP获得“是”或“否”的响应并将其输出到ajax_response

1 个答案:

答案 0 :(得分:0)

您是否能清楚准确地描述您遇到的问题?

快速浏览一下,我发现你正在执行HTTP POST,但你的PHP正在寻找HTTP GET数据。更改您的Javascript以执行HTTP GET或您的PHP查看$_POST而不是$_GET可能有助于或防止其他问题。

PHP具有以下变量:$_GET$_POST$_REQUEST$_GET包含HTTP GET数据。 $_POST包含HTTP POST数据。 $_REQUEST包含HTTP GET和POST数据。