我在echo中看到了我所有的html
I see all my html in echo
我将数据作为数组发送到php,并使用echo进行检查。好的,它有效。我看到了我的用户名。但是当我添加$pdo时,我会看到我所有的html(我不想看到)。这是怎么回事?
这是我的javascript
var appAdmin=angular.module('appLogin',[]);
appAdmin.service('loginService',
function($http) {
this.submitLogin=function(username,password){
return $http({method:'POST',
url: "php/checkLogin.php",
data: {
username: username,
pass: password
},
headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
}); //use $http() here.
}
});
appAdmin.controller('LoginCtrl',function($scope,loginService){
$scope.user={};
$scope.submitLogin=function(){
loginService.submitLogin($scope.user.username,$scope.user.password)
.then(function(data,status,config,headers){
debugger;
console.log('Response from server: '+data.data);
},
function(data,status,config,headers){
console.log('Some error occurred!'); //called in case of error
}
)
}
});
这是我的PHP
<?php
$postdata = file_get_contents("php://input");
$request = json_decode($postdata);
@$username = $request->username;
@$password = $request->password;
$pdo = new PDO('mysql:host=localhost;dbname=subscribers', 'tuviak', 'tuvik1002') ;
echo htmlspecialchars($username, ENT_QUOTES, 'UTF-8'); //this will go back under "data" of angular call.
?>
这是我的html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Login</title>
<link rel="stylesheet" type="text/css" href="../css/styleAdmin.css">
</head>
<body ng-app="appLogin" ng-controller="LoginCtrl">
<h3>Login</h3>
<form name="frmLogin" novalidate>
<input type="text" name="username" ng-hide="true">
<input type="text" name="password" ng-hide="true">
<div id="loginBox">
<div class="lineBox">
<span class="label">Username</span>
<input type="text" name="username" autocomplete="off" ng-model="user.username" ng-required="true" ng-minlength="6" ng-maxlength="8" ng-pattern="/[0-9a-z]/i">
<span class="error-message" ng-show="frmLogin.username.$dirty&& frmLogin.username.$error" ng-hide="frmLogin.username.$dirty&& frmLogin.username.$valid">
The Username is Mandatory
</span>
</div>
<div class="lineBox">
<span class="label">Password</span>
<input type="password" autocomplete="off" name="psd" ng-model="user.password" ng-required="true" ng-minlength="6" ng-maxlength="8" ng-pattern="/[0-9a-z]/i">
<span class="error-message" ng-show="frmLogin.psd.$dirty&&frmLogin.psd.$error" ng-hide="frmLogin.psd.$dirty&& frmLogin.psd.$valid">
The password is Mandatory
</span>
</div>
<div class="lineBox">
<input type="button" value="submit" id="submit" ng-disabled="frmLogin.$invalid" ng-click="submitLogin()">
</div>
</div>
</form>
<script src="../lib/angular.js"></script>
<script src="../js/admin.js"></script>
</body>
</html>
谢谢你的帮助!
我不确定你的PHP是如何构建的——你是否只显示了它的一个小摘录,或者它是否与javascript在同一页上。如果php在同一个页面上,并且您正在(通过ajax)发布到同一个脚本,那么使用ob_clean()
将清除在它到达php 之前创建的任何输出缓冲区
<?php
if( $_SERVER['REQUEST_METHOD']=='POST' ){
ob_clean();
/* your php code - with PDO stuff */
echo htmlspecialchars( $username, ENT_QUOTES, 'UTF-8' );
exit();
}
?>
<html>
<head>
<title>Login</title>
<script>/* Your angularjs code */</script>
</head>
<body>
</body>
</html>
我的问题的解决方案非常简单:返回的html是对连接状态中php错误的解释。
相关文章:
- 在 PHP 块中使用 Javascript 设置 HTML 文本框的值(使用 echo)
- 如何在php中使用echo来在html中打印文本
- 在 HTML 代码中调用 PHP 函数,在 PHP echo 语句中
- 从 PHP echo 启动 2 个 HTML / JavaScript 弹出窗口
- 当字符串在模板上时,来自 angularjs 中的字符串的 'Echo' html
- PHP Echo 将 HTML 转换为文本
- JQuery & HTML:如何使用echo $_POST将数据从一个表单获取到另一个表单
- PHP echo html 输入变量在 heredoc 之外
- 在 HTML/JavaScript var 中使用 PHP echo 的结果用于 Google 地图
- PHP echo,在对象(需要)之前输出完整的 html 代码(不需要)
- JavaScript Fo.FolderExist() 在 PHP echo 中不起作用,但在 HTML 中返回 tru
- 来自PHP的echo-ed HTML Element不会在JAVASCRIPT中读取
- Ajax response PHP echo HTML
- 我在echo中看到了我所有的html
- 带有jquery.form.js的ie8和ie9返回html,而不是来自PHP的数据echo
- 类似<?php echo$_GET['height']>在HTML中
- 尝试用JSON在HTML中显示PHP echo
- php echo语句中html标记的javascript中的双引号、单引号问题
- 外部php文件echo变量是否包含html代码
- 想让这些PHP函数在这个HTML echo中工作