如何使用php

时间:2019-07-08 05:34:39

标签: php html

我正在用php构建一个聊天机器人,我希望该聊天机器人的功能是用于重置密码,因此它要求使用员工的PIS_CODE作为其更改密码的主键在“密码”列中,您可以看到我的数据库表。

enter image description here

看到它有PIS_CODE和密码列,所以我问用户PIS_CODE,然后问用户新的密码,然后在相应的列中更改了密码

所以我已经能够使用PIS_CODE并将其用作重置密码的主键,但是重置的密码是PIS_CODE本身

enter image description here

请参阅此处,我想将密码重置为41000000 PIS_CODE,但密码本身重置为41000000。因此,似乎我的聊天机器人将输入值假定为pis代码,并且仅使用该值更新了密码列,因此我的聊天机器人无法区分不同的输入。另外,我只想使用一个表格和一个输入字段。 您可以在这里看到我的聊天机器人。

enter image description here

HTML代码:

<div class="form-group">
  <form action="process.php" id="form" name="f2" method="POST" >
    <input type="textarea" id="tt" name="input" placeholder="Type Your Message" style="position:absolute; bottom:0; height:30px; width:100%; height:50px;" required />

</div>

// this is the code which takes the input for the PIS_CODE
$msgg=$_POST['input'];

// this is the code which takes the input for the password
$pass=$_POST['input'];

// the problem is it saves the same input(that is PIS_CODE) in both the variables($msgg and $pass)

完整代码:

<?php
require_once("config.php");
$msgg=$_POST['input'];
$msg=strtolower($msgg);
$ID = $msg;
$length=strlen($msg);
$flag=0;

$pass=$_POST['input'];
$update = "UPDATE lala SET password='$pass' WHERE PIS_CODE=".$msg;
$res_4=mysqli_query($con,$update);

$sql1 = "SELECT * FROM lala WHERE PIS_CODE='$msg'";
$res_u = mysqli_query($con, $sql1);

?>
<!DOCTYPE html>
<html>
<head>
  <title></title>
</head>
<style>
.in
{
   background-color:rgb(64,128,255);
   color:white;
   padding:10px; 
   right:0;
   width:130px;
   text-align: center;
   height:auto;
   border-radius: 5px;
   margin-left: 120px;
   margin-bottom: 5px; 
}
.out
{
    background-color:rgb(241,240,240);
    color:black;
    padding:10px; 
    left:5; 
    width:130px;
    text-align: center;
    height:auto;
    border-radius: 15px;
}
</style>
<body>
<div class="in">
<?php echo "$msgg"; ?>
</div><br>
<div class="out">
<?php

if (($_POST['input']) =='password reset') 
{
echo "Do you want to reset your password? "; 
}
else if (($_POST['input']) =='yes') 
{
echo "Sure, Please provide PIS code ";   
}
if (mysqli_num_rows($res_u) == 1) 
{
echo 'Pis verified';
echo "Enter new password";
}

if($update){//if the update worked

      echo "Update successful!";



    } 
 ?>
</div><br>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

您可以使用PHP会话。这将满足您的要求:

require_once("config.php");
$msgg=$_POST['input'];
$msg=strtolower($msgg);
$ID = $msg;
$length=strlen($msg);
$flag=0;

session_start(); 

if(isset($_SESSION['PIS_CODE'])){
    $pass=$_POST['input'];
    $update = "UPDATE lala SET password='$pass' WHERE PIS_CODE=".$_SESSION['PIS_CODE'];
    $res_4=mysqli_query($con,$update);
    unset($_SESSION['PIS_CODE']);
}
else{
    $sql1 = "SELECT * FROM lala WHERE PIS_CODE='$msg'";
    $res_u = mysqli_query($con, $sql1);
    if (mysqli_num_rows($res_u) == 1) {
        $_SESSION['PIS_CODE'] = $msg;
    }
}

如果我是您(即在聊天机器人上工作),则我将使用$_SESSION对象进行更多操作。您可以保留简单的1输入表单,并使用PHP会话来保存有关下一个预期答案的信息,或者对于一系列问题(例如您的示例),以了解当前问题是什么,以及其他可能的用法