提交后我在 php 文件中的 js 上使用计时器将数据插入 mysql 数据库问题是当我按下提交文本区域的样式和输入更改并返回到默认值时,因为计时器
我尝试在没有计时器的情况下提交结果很好并且没有任何样式改变所以问题在于使用计时器功能
com.php
<?php
require('connection.php');
$status = '';
$text = '';
$com = '';
$url = 'index.php';
function timer($url){
echo' <script>
setTimeout(function () {
window.location.href= "'.$url.'";
},3000);
</script>';
}
if(isset($_POST['addCom'])){
$com= mysqli_real_escape_string($db,$_REQUEST['com']);
$text= mysqli_real_escape_string($db,$_REQUEST['text']);
$stmt = $db->prepare("insert into testcomments (com,text) values (?,?)");
$stmt->bind_param('ss',$com,$text);
$stmt->execute();
$status = "Done ";
$com= '';
timer($url);
}
?>
<!doctype html>
<html >
<head>
<link rel="stylesheet" href="style/registeration1.css">
</head>
<body>
<form method="post" enctype="multipart/form-data">
<div class="input-group">
<textarea name="com" > </textarea>
</div>
<div class="input-group">
<input type="text" name="text" >
</div>
<div class="input-group">
<button type="submit" class="btn" name="addCom" id="add" >اضافه</button>
</div>
<p style="color:#FF0000;"><?php echo $status; ?></p>
</form>
</body>
</html>
registeration1.css
form {
width: 30%;
margin: 0px auto;
padding: 20px;
border: 1px solid #B0C4DE;
background: white;
border-radius: 0px 0px 10px 10px;
}
.input-group {
margin: 10px 0px 10px 0px;
}
.input-group input {
height: 30px;
width: 93%;
padding: 5px 10px;
font-size: 16px;
border-radius: 5px;
border: 1px solid gray;
}
.btn {
padding: 15px;
padding-left:30px;
padding-right:30px;
font-size: 18px;
color: white;
background: black;
border: none;
border-radius: 5px;
cursor: pointer;
}
.input-group textarea{
height: 30px;
width: 93%;
padding: 5px 10px;
font-size: 16px;
border-radius: 5px;
border: 1px solid gray;
}
我希望使用定时器后样式不会改变,但实际输出是 input 标签和 textarea 标签的样式已经改变
最佳答案
用这个替换你的 php 部分:
<?php
require('connection.php');
$status = '';
$text = '';
$com = '';
$url = 'index.php';
function timer($url){
sleep(3);
header('Location: ' . $url);
}
if(isset($_POST['addCom'])) {
$com= mysqli_real_escape_string($db,$_REQUEST['com']);
$text = mysqli_real_escape_string($db,$_REQUEST['text']);
$stmt = $db->prepare("insert into testcomments (com,text) values (?,?)");
$stmt->bind_param('ss',$com,$text);
$stmt->execute();
$status = "Done ";
$com= '';
timer($url);
}
?>
关于javascript - 计时器在 php 文件上使用 js 使输入和文本区域样式返回为默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56284872/