- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经尝试解决这个问题两天多了,我正在遵循 YouTube 教程,并为我的 Android 应用程序进行基本登录,但在此之前我想测试 .php 脚本。
我认为当我按下登录按钮时应该会成功,但我收到无效的凭据,并且我知道用户名和密码是正确的
下面是我的login.php脚本。
require("config.inc.php");
if (!empty($_POST)) {
//gets user's info based off of a username.
$query = "SELECT id, username, passwrd
FROM application_users
WHERE
username = :username
";
$query_params = array(
':username' => $_POST['username']
);
try {
$stmt = $db->prepare($query);
$result = $stmt->execute($query_params);
}
catch (PDOException $ex) {
// For testing, you could use a die and message.
//die("Failed to run query: " . $ex->getMessage());
//or just use this use this one to product JSON data:
$response["success"] = 0;
$response["message"] = "Database Error1. Please Try Again!";
die(json_encode($response));
}
//This will be the variable to determine whether or not the user's information is correct.
//we initialize it as false.
$validated_info = false;
//fetching all the rows from the query
$row = $stmt->fetch();
echo $row;
if ($row) {
//if we encrypted the password, we would unencrypt it here, but in our case we just
//compare the two passwords
if ($_POST['password'] === $row['password']) {
$login_ok = true;
}
}
// If the user logged in successfully, then we send them to the private members-only page
// Otherwise, we display a login failed message and show the login form again
if ($login_ok) {
$response["success"] = 1;
$response["message"] = "Login successful!";
die(json_encode($response));
} else {
$response["success"] = 0;
$response["message"] = "Invalid Credentials!";
die(json_encode($response));
}
} else {
?>
<h1>Login</h1>
<form action="login.php" method="post">
Username:<br />
<input type="text" name="username" placeholder="username" />
<br /><br />
Password:<br />
<input type="password" name="password" placeholder="password" value="" />
<br /><br />
<input type="submit" value="Login" />
</form>
<a href="register.php">Register</a>
</form>
<?php
}?>
因此,当脚本加载并且我从远程 MYSQL 服务器输入值时,该消息将作为无效凭据返回。我只是想在转到 android 部分之前确保我的登录成功,这将是本身就是一件大事。
最佳答案
我还没有机会用真实的数据库来测试它,但这应该可行。您仍然需要在文件顶部添加 require("config.inc.php");
,并且我添加了自定义数据库连接。我还使用 PDO,因此查询可能看起来与您目前使用的有所不同。
<?php
// Database connection
try
{
$db = new PDO('mysql:host=localhost;dbname=mydatabase', 'myusername', 'mypassword');
$db->exec('SET CHARACTER SET UTF8');
}
catch (Exception $e)
{
//Message in case of error when connecting to the database
die('Erreur : ' . $e->getMessage());
}
// *** End database connection
$username = ""; // Initialize value in order to keep its value so the user can still see it in his form
if (isset($_POST['login'])) { // if the "login" button is pressed
$username = $_POST['username']; // retrieve username value from the form
$password = $_POST['password']; // retrieve password value from the form
/*
* If a username is unique then a way to do it is to count how many times
* the couple with this username and this password appears in our database.
*/
$query = $db->prepare("SELECT COUNT(*) userAmount ".
"FROM application_users ".
"WHERE username = $username ".
"AND password = $password;");
$query->execute();
$query->closeCursor();
$resultAmount = $query->fetch();
if ($resultAmount['userAmount'] == 0){ // If the couple username-password is unfound
$message = "Username or password unknown";
} else {
$message("Login successful");
}
}
?>
<h1>Login</h1>
<form action="login.php" method="post">
Username:<br />
<input type="text" name="username" placeholder="username" value="<?php echo($username); ?>" />
<br/><br/>
Password:<br/>
<input type="password" name="password" placeholder="password" value="" />
<br/><br/>
<input type="submit" name="login" value="Login" />
<a href="register.php">Register</a>
</form>
关于Php、MySql 和 Webform,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26470714/
所以我试图将 MiniProfiler ( https://github.com/MiniProfiler/dotnet ) 用于 WebForms 网站。我所做的是: 使用 nuget 安装软件包
是否有等同于 Webforms 的 MvcBuildViews? 最佳答案 不。 另一种方法是将构建后操作添加到 Visual Studio 项目并让它运行 aspnet_compiler.exe “
是否有使用 CSP(内容安全策略)将 WebForms 项目中动态创建的脚本列入白名单的安全方法? 使用 unsafe-inline像下面它的工作原理,但不推荐。 context.Response.H
我们正在尝试使用在经典模式应用程序池中运行的 ASP.NET WebForms 应用程序配置 MiniProfiler(无法将其更改为集成)。我们无法让处理程序工作,因此加载资源失败。 为了解决这个问
是否 ASP.Net 核心 1.0 支持.Net WebForm 项目吗?或者它只是一个 MVC 环境?我也可以在那里创建经典的 Web 服务(asmx)吗? 最佳答案 简短回答:不,ASP.NET
我正在尝试将数据从 webform 传递到方法背后的代码并在 webform 中取回值,然后打印它。我最初测试了以下代码以简单地将请求发布到方法,获取字符串并在页面中打印,它可以工作,但是在尝试将数据
我创建了一个新的 ASP.NET 4.5 WebForms 项目,并发现了一堆与 GridView、DetailsView 和其他数据相关组件以及 MSAjax 相关的额外 javascript 文件
我正在使用带有模型绑定(bind)和 Entity Framework 5 的 .net 4.5 WebForms。 我的网络表单的一部分:
在搜索了很多类似的帖子、解决方法之后,我决定自己发帖。 Compilation Error Description: An error occurred during the compilation
我将在一个项目中工作,我们将在该项目中将 ASP 经典页面重写为 ASP.NET WebForm。我从未使用过 VB、VBScript、ASP Classic。好处是有大量关于 VB6、VB.NET、
在 vs2012 中,f7 键在 aspx/ascx/masterpage 文件的 Markup 和 Codebehind 之间切换。在我重新安装系统之前,Vs2013 的行为方式相同。现在它只会从
我正在尝试登录网站并自动保存 HTML 页面(我希望能够定期执行此操作)。从表面上看,这是一个典型的现代网站,如果用户直接导航到“锁定”的 URL,则会弹出一个登录表单,登录后,用户将被重定向到预期页
我看到人们在以Webform进行路由时使用星号符号。我只是不明白像下面这样的星号的重要性 routes.MapPageRoute( "View Category", /
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 8 年前。 Improve this qu
我正在尝试在 aspx 页面中执行类似的操作: 我收到错误“预处理器指令必须显示为行上的第一个非空白字符”。我怎样才能做到这一点?
我想渲染一个表单。字段行的 HTML 应该是这样的: 当字段类型为文本时,li.class 必须相同。 我覆盖了 field_row block : {% block
目前我所有的网络表单文件 (.aspx) 都在我的项目 (VS 2012) 的根文件夹中。 我创建了一个名为“pages”的新文件夹,并使用母版页向其中添加了一个新的网络表单 (WebForm1)。当
我正在为销售文员制作一个 asp.net、c#、webforms 网站。我在屏幕顶部有四个主要按钮,我将使用它们来实现很多功能。我想要做的是将这些按钮设置为键盘上的 F1、F2、F3 和 F4 键。
我在网络表单上有两个按钮,它们的显示高度不同。这发生在我更新 Gravity Forms 之后。 参见 http://topdek.nl/prijs/ ,输入随机名称、电子邮件地址和电话号码,单击“V
在我的 WebForms 应用程序中,我有一个 CustomValidator 控件。该控件执行我创建的 JavaScript 函数。如果此函数返回 false,则表单将不会提交。此验证器与标准 Re
我是一名优秀的程序员,十分优秀!