我正在尝试做一个搜索框来显示来自MYSQL/PHP的“地址”
我曾经使用ajax刷新页面而不离开页面,但当我在浏览器中运行时,它总是给我一个错误。使用控制台时,echo $_POST‘’name‘=( header.php的html代码+ "What I need“+ footer.php的html代码)
<?php
include 'header.php';
include 'Connect.php';
if( isset($_POST['ajax']) && isset($_POST['name']) ){
echo $_POST['name'];
exit;
}
?>
<form method="POST">
<label>Username</label>
<input type="text" name="name" required="required" id='name'>
<div id='response'></div>
</form>
<script>
$(document).ready(function(){
$('#name').keyup(function(){
var name = $('#name').val();
$.ajax({
type: 'post',
url: index.php,
data: {ajax: 1,name: name},
success: function(response){
$('#response').text(response);
}
});
});
});
</script>
<?php
if(isset($_POST['name'])){
$username = $_POST['name'];
$stmt = $con->prepare("SELECT Username, FullName, Adresse, Email, Phone FROM dbo.users WHERE Username= ?");
$stmt->execute(array($username));
while($row=$stmt->fetch(PDO::FETCH_ASSOC))
{
$Username = $row["Username"];
$FullName = $row["FullName"];
$Adresse = $row["Adresse"];
$Email = $row["Email"];
$Phone = $row["Phone"];
echo "<tr>
<div>
<td>".$Username."</td>
<td>".$FullName."</td>
<td>".$sEID."</td>
<td>".$Email."</td>
<td>".$Phone."</td>
</div>
</tr>";
}
echo "</table>
</div>";
} else echo '<div class="alert alert-danger"> This Name <strong>is not exit</strong></div>';
include $tpl.'footer.php';
}
?>发布于 2018-02-05 19:25:00
你的问题不是很清楚...如果我没理解错的话。这是被设计破坏的,你调用页面本身并用整个页面的内容更新#name,这就是为什么你会看到html +“你需要什么”(响应):响应就是整个页面。
正确的方法是移动PHP代码的第二部分(在这里执行查询ecc)。然后通过将新脚本的名称作为url参数放入ajax调用中来调用该新脚本。
发布于 2018-02-05 21:38:27
感谢您的回复,我想使用ajax返回的值与MYSQL/PHP一起回显$row‘’Address‘;如果我移动PHP代码的第二部分,结果是echo $_POST’‘name’=( "What I need“+ footer.php的html代码)
https://stackoverflow.com/questions/48619615
复制相似问题