javascript - 将数据从 html 表单发送到 php 脚本并将结果返回到 ajax/js/jquery

标签 javascript php jquery html ajax

我想用ajax或javascript从html表单执行php脚本。我需要接收从 php 页面到 html 页面的结果。

我的changepsw.php

<?php

//Change a password for a User via command line, through the API.

//download the following file to the same directory:
//http://files.directadmin.com/services/all/httpsocket/httpsocket.php
$system = $_POST['system'];
                                    $db = $_POST['db'];
                                    $ftp = $_POST['ftp'];
                                    $id = $_GET['id'];
                                    $psw = $_POST['userpw'];
                                $queryda = "SELECT * FROM paugos where id = '$id'"; //You don't need a ; like you do in SQL
$resultda = mysql_query($queryda);
$rowda = mysql_fetch_array($resultda);

if($system == "" or $system == "no" or $system !== "yes"){
    $system = "no";
}   
if($db == "" or $db == "no" or $db !== "yes"){
    $db = "no";
}   
if($ftp == "" or $ftp == "no" or $ftp !== "yes"){
    $ftp = "no";
}                               
$server_ip="127.0.0.1";
$server_login="admin";
$server_pass="kandon";
$server_ssl="N";

$username = $rowda['luser'];
$pass= $psw;

echo "changing password for user $username\n";

include 'httpsocket.php';

$sock = new HTTPSocket;
if ($server_ssl == 'Y')
{
    $sock->connect("ssl://".$server_ip, 2222);
}
else
{ 
    $sock->connect($server_ip, 2222);
}

$sock->set_login($server_login,$server_pass);
$sock->set_method('POST');

$sock->query('/CMD_API_USER_PASSWD',
    array(
        'username' => $username,
        'passwd' => $pass,
        'passwd2' => $pass,
        'options' => 'yes',
        'system' => $system,
        'ftp' => $ftp,
        'database' => $db,
    ));

$result = $sock->fetch_parsed_body();

if ($result['error'] != "0")
{
    echo "\n*****\n";
    echo "Error setting password for $username:\n";
    echo "  ".$result['text']."\n";
    echo "  ".$result['details']."\n";
}
else
{
    mysql_query("UPDATE paugos SET lpass='$pass' WHERE id='$id'");
    //echo "<script type='text/javascript'> document.location = 'control?id=$id&successpw=1'; </script>";
    //header("Location: control?id=1&successpw=1");
    echo "$user password set to $pass\n";
}

exit(0);

?>

如果脚本失败,则返回 为 $username 设置密码时出错。如果成功,则 php 脚本返回 $user 密码设置为 $pass。

所以我想使用 jquery/ajax 将答案从 php 页面返回到 html 页面。

我的 html 表单,我从这里将数据发布到我的 php 脚本

<form action="changepsw.php?id=<?=$id;?>" method="post" role="form">

                                       <label for="disabledSelect">Directadmin account</label>
                                                <input name="usern" class="form-control" style="width:220px;" type="text" placeholder="<?=$luser;?>" disabled>

                                        <div class="form-group">
                                            <label>New password</label>
                                            <input name="userpw" class="form-control" style="width:220px;" placeholder="Enter new password">
                                        </div>


                                        <div class="form-group">
                                            <label>Change password for:</label>
                                            <div class="checkbox">
                                                <label>
                                                    <input type="checkbox" name="system" value="yes">Directadmin
                                                </label>
                                            </div>
                                            <div class="checkbox">
                                                <label>
                                                    <input type="checkbox" name="ftp" value="yes">FTP
                                                </label>
                                            </div>
                                            <div class="checkbox">
                                                <label>
                                                    <input type="checkbox" name="dabatase" value="yes">MySQL
                                                </label>
                                            </div>
                                        </div>


                                        <button type="submit" id="col" class="btn btn-default">Submit Button</button>
                                        <button type="reset" class="btn btn-default">Reset Button</button>
                                    </form>

最佳答案

在 HTML 页面中,您可以使用 AJAX post 请求,在 php 中,您必须使用 die 方法,如下所示:

$.post('url',{parameters},function(data){
if(data==='1'){
 alert('Done');
}else if(data==='0'){
 alert('Error');
}else{
 alert(data);
}
});

在PHP代码中使用如下: die('1');die('0'); 或 echo '发生错误'; 死;

关于javascript - 将数据从 html 表单发送到 php 脚本并将结果返回到 ajax/js/jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38608210/

相关文章:

javascript - Laravel - Blade 附加部分

javascript - RegEx 无法识别无效电子邮件

Javascript 函数在 google chrome 中不起作用

javascript - 使用 jquery 通过数组索引和名称属性设置文本框值

javascript - PHP HttpRequest 创建网页 - 如何处理较长的响应时间?

Javascript 对象观察

php - Codeigniter 如果不存在则插入,如果不存在则更新

php - 通过AWS PHP SDK2添加EC22安全规则

php 一些 fork 进程继续运行

javascript - 如何确保在页面卸载之前始终调用代码