Я сейчас строю систему для футбольной лиги. И в настоящее время работают над файлом сценария для добавления результатов. Большинство скриптов работает, и результат всегда успешно добавляется в базу данных. Однако часть аутентификации не работает. Утверждение if в строке 12, похоже, не срабатывает, и я не могу понять, почему.PHP Если заявления не стреляют
Мой код можно найти в ссылке Pastebin здесь: http://pastebin.com/ty4pdGgn
<?PHP
include 'functions.php';
dbConnect();
//$userEmail = mysql_real_escape_string($_POST["userEmailText"]);
$userCode = mysql_real_escape_string($_POST["userPasscodeText"]);
$authenticated = false;
$userEmail = "[email protected]";
if ($userEmail == "[email protected]") {
header('Location: ../results.php?error=authentication');
}
$allUsers = mysql_query("SELECT * FROM accounts WHERE email = '$userEmail'");
while ($thisUser = mysql_fetch_assoc($allUsers)){
if ($userCode != $thisUser['passCode']) {
header('Location: ../results.php?error=authentication2');
}
echo $thisUser['passCode'];
$authenticated = true;
$userID = $thisUser['userID'];
}
if (!$authenticated) {
header('Location: ../results.php?error=authentication3');
}
$dateSubmitted = $_POST['submissionDate'];
$homeTeam = $_POST['homeTeam'];
$awayTeam = $_POST['awayTeam'];
$homeGoals = $_POST['homeGoals'];
$awayGoals = $_POST['awayGoals'];
if ($homeTeam == $awayTeam) {
header("Location: ../results.php?error=team");
}
if (getTeamLeague($homeTeam) != getTeamLeague($awayTeam)) {
header("Location: ../results.php?error=league");
} else {
$leagueID = getTeamLeague($homeTeam);
}
if ($homeGoals > $awayGoals) {
$winnerID = $homeTeam;
} else if ($homeGoals < $awayGoals) {
$winnerID = $awayTeam;
} else if ($homeGoals == $awayGoals) {
$winnerID = -1;
}
$cQuery = mysql_query("INSERT INTO results VALUES ('', $userID, '$dateSubmitted', $leagueID, $homeTeam, $homeGoals, $awayTeam, $awayGoals, $winnerID, 0)");
if ($cQuery){
header('Location: ../results.php');
} else {
echo mysql_error();
}
?>
Любая помощь в этом вопросе будет высоко ценится. Функция functions.php не содержит ошибок, поскольку все это связано с вводом базы данных, а не с аутентификацией.
с помощью '===' help? – OneOfOne
Невозможно воспроизвести, http://codepad.org/5ISM5cqp также вы хотите выйти/умереть после любого перенаправления. –
прокомментируйте строку 'header()' на ваш досадный IF, а вместо этого echo «is true», затем положите else и echo "is false", затем после закрытия '}' else else 'exit();' (простой код для тестирования чего-то конкретного). Что получает эхо? Я уверен, что это будет «правда», и вы обнаружите, что IF на самом деле «не стреляет» :) – James