2014-11-06 2 views
0

Помогает ли вам объяснить, почему этот метод php всегда отправляет пользователю предоставленный.htm. Когда пользователь веб-сайта вводит правильное слово, в данном случае: Shadow, php отправляет пользователю предоставленный .htm. Если что-то еще вводится в текстовое поле веб-сайта, php отправит их в denied.htm. Обе страницы загружены в веб-пространство. Благодарю.Отправка веб-пользователей на правильную страницу

<?php 
$check = "Shadow"; 
if($check === "Shadow"){ 
    echo 'Perfect Match!'; 
    header('Location: granted.htm'); 
} 
else { 
    echo 'Wrong Password!'; 
    header('Location: denied.htm'); 
} 
exit(); 
?> 
+1

beacuse вы установили '$ чек = "Shadow";', удалите его –

+0

, как сказал @RamSharma; '$ check =" Тень "; if ($ check === "Shadow") ... 'всегда будет возвращать true – Stu

+0

Как вы отправляете значение из текстового поля в этот php-файл? Я ожидал увидеть что-то вроде '$ check = $ _POST [" Shadow "];'. Поскольку это означает, что этот код не имеет смысла – Steve

ответ

1

Возможно, вам не хватает части, где вы отправляете пароль?

<?php 
$check = $_GET['check']; 
if($check === "Shadow"){ 
    echo 'Perfect Match!'; 
    header('Location: granted.htm'); 
} 
else { 
    echo 'Wrong Password!'; 
    header('Location: denied.htm'); 
} 
exit(); 
?> 

Теперь вы просто получить доступ к странице, как это:

example.com/thisfile.php?check=Shadow

1

Удалить

$check = "Shadow"; 

до состояния ПЧ

Это устанавливает $ проверить "тень" и IF условие всегда становится ИСТИНА

+0

Просто сделал это чанг ... удалив первый оператор $ check и теперь он не позволит мне получить доступ к предоставленной странице с правильным паролем. Теперь он только посылает меня на denied.htm? – user4163554

+0

Установите $ check = "shadow" только в том случае, если пароль пользователя верен. Везде, где вы проверяете правильность пароля или нет, просто установите $ check = "shadow". – Deepak

+0

В качестве примера, потому что php относительно новичок, вы сказали, что «только установить проверку $, когда пользователи проходят, правильно, Ive было убеждено, что метод проверяет правильность строки tje? Итак, кто я проверю, соответствует ли строка пользователей строка, которую я установил? – user4163554

0

Вы уже установили $ чек = «Shadow «;. Так, if ($ check === "Shadow") всегда возвращает true, и он всегда отправляет пользователя на given.htm.

Снимите:

$check = "Shadow"; 
0

Я загрузил этот код на сервере и дал ему спину. Это прекрасно работает, когда вы меняете $check на что-то другое, чем «тень»

Что вы делаете здесь собирается granted.htm когда $check равно «Тень». Итак, когда я изменил $check, это значение для чего-то еще, я был перенаправлен на denied.htm.

В скрипте нет ничего плохого, он делает именно то, что он должен делать.

Попробуйте, изменить $check на что-то еще и увидеть волшебство. :)

Смежные вопросы