2016-07-27 20 views
1

我想用ajax或javascript從html表單中執行php腳本。我需要從PHP頁面到html頁面接收結果。將數據從html表單發佈到php腳本並將結果返回到ajax/js/jquery

我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); 

?> 

如果腳本失敗,則返回 誤差$用戶名口令設置。如果成功,則PHP腳本將$ user密碼設置爲$ pass。

所以我想返回從PHP頁面到jquery/ajax的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> 
+0

你嘗試過什麼嗎? [Ajax和窗體](https://learn.jquery.com/ajax/ajax-and-forms/) –

+0

不,我不知道該怎麼做。我是Ajax的新手, –

回答

0

在你的HTML頁面,您可以用戶AJAX POST請求,並在PHP,你必須按如下方式使用模方法:

$.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'error occurred'; 死亡;

+0

你能解釋一下嗎?我沒有得到:/ –

相關問題