我正在尝试做一个向网站发送HTTP请求的小应用程序,并获得HTTP回复。我使用标题上的状态来查看请求发生了什么。代码很简单,很简单,但不知何故,当一切正常时,我仍然会得到默认的HTTP/1.1 200 OK
而不是我的个性化消息。
注意:请求可以包含2个或3个部分。 2部分仅验证,第三部分表示应添加的东西。如果您对代码的任何其他部分有任何意见,我也很高兴看到它们。 note2:token是用户名,因为不确定我以后是否真的需要它。
<?php
if(isset($_POST['usernameUS'])&&isset($_POST['passwordUS'])&&!empty($_POST['usernameUS'])&&!empty($_POST['passwordUS'])) {
try {
$hostname = "";
$database = "";
$username = "";
$password = "";
$pdo = new PDO("mysql:host=$hostname;dbname=$database", $username, $password);
$stmt = $pdo->prepare("SELECT salt, password FROM users WHERE account=:account");
$stmt->bindParam(':account', $_POST['usernameUS'], PDO::PARAM_STR);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$passwordUS = $pdo->quote($_POST['passwordUS']);
$Blowfish_Pre = '$2a$05$';
$Blowfish_End = '$';
$bcrypt_salt = $Blowfish_Pre . $row['salt'] . $Blowfish_End;
$hashed_password = crypt($passwordUS, $bcrypt_salt);
if ($hashed_password == $row['password']) {
if(isset($_POST['message'])) {
try {
$stmt = $pdo->prepare("INSERT INTO newData (ip , account , token, message) VALUES (:ip, :username, :token, :message)");
$stmt->bindParam(':ip', $_POST['usernameUS'], PDO::PARAM_STR);
$stmt->bindParam(':username', $_POST['usernameUS'], PDO::PARAM_STR);
$stmt->bindParam(':token', $_POST['usernameUS'], PDO::PARAM_STR);
$stmt->bindParam(':message', $_POST['message'], PDO::PARAM_STR);
$value = $stmt->execute();
if($value) {
header("HTTP/1.1 200 Added");
}
else {
header("HTTP/1.1 400 Could not add information");
}
} catch (PDOException $e) {
header("HTTP/1.1 400 Cannot insert message", false);
file_put_contents('PDOErrors.txt', $e->getMessage(), FILE_APPEND);
}
}
header("HTTP/1.1 200 Authenticated", false);
}
else {
header("HTTP/1.1 400 Incorrect Login Information", false);
}
} catch(PDOException $e) {
header("HTTP/1.1 400 Could not connect", false);
file_put_contents('PDOErrors.txt', $e->getMessage(), FILE_APPEND);
}
}
else {
header( 'Location: http://www.example.com/' ) ;
}
?>
答案 0 :(得分:0)
找到答案,但不是解释。 使用200代码,将始终设置为“Ok”,所以如果我将其更改为400,那么我就可以设置自己的回复。
不确定回答我自己的问题是否意味着我要求禁食,或者我至少一直在寻找解决方案:S