Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Не работает нажатии кнопки "Sambmit" / 10 сообщений из 10, страница 1 из 1
01.10.2016, 12:38
    #39319083
Abisma2008
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает нажатии кнопки "Sambmit"
Добрый день!
Есть код:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
    <?php
if(!isset($_POST['submit'])){
header("location:index.php");}
	?>
<!DOCTYPE html>
<html>
   <head>
	<meta charset="UTF-8">
</head>
<body> 

	<form  method="POST">
		<input type="submit" name="submit" value="Бор дар склад" style="height:40px"/>
	</form>
   
 </body>
</html>


Почему при нажатии кнопки не открывается index.php&?
Спасибо!
...
Рейтинг: 0 / 0
01.10.2016, 12:52
    #39319084
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает нажатии кнопки "Sambmit"
Вероятно, потому, что текстовый вывод (сколько-то там пробелов) имеет место до отдачи заголовка:
Abisma2008
Код: php
1.
2.
3.
    <?php
if(!isset($_POST['submit'])){
header("location:index.php");}
...
Рейтинг: 0 / 0
01.10.2016, 12:56
    #39319085
Abisma2008
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает нажатии кнопки "Sambmit"
vkle,
К сожалению нет. Я пробели убрал всё равно страница перезагружается и всё(.
...
Рейтинг: 0 / 0
01.10.2016, 13:07
    #39319088
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает нажатии кнопки "Sambmit"
Abisma2008, речь идёт конкретно о приведённом фрагменте кода или о чём-то другом, большем, чем этот фрагмент? Приведённый код успешно делает редирект, по крайней мере, на моём компе.
...
Рейтинг: 0 / 0
01.10.2016, 14:04
    #39319099
Abisma2008
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает нажатии кнопки "Sambmit"
vkle,
index.php
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
<?php
  if(!empty($_POST['paswd'])){
     $pass1 = "1111";
	 $pass2 = "2222";
    if($_POST['paswd']==$pass1){
      session_start();
      $_SESSION['access']=true;
      header("Location: page2.php") ;
	}
	elseif($_POST['paswd']==$pass2){
      session_start();
      $_SESSION['access']=true;
      header("Location: page3.php") ;
	}
    else {
       header("Location: error.php") ;
    }
  }
  else
  {
    ?>
    <form method="POST">
      <input type="password" name="paswd" style="height:35px">
      <input type="submit"      style="height:35px">
    </form>
    <?php
  }
?>
<!DOCTYPE html>
<html>
   <head>
	<meta charset="UTF-8">
	<title>Сайт отчет барои одамони махсус!</title>
<meta name=viewport content="width=device-width, initial-scale=1">
	</head>
</html>


page3.php
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
<?php 
session_start();
if(!isset($_SESSION['access']) || $_SESSION['access']!=true){
header("location:index.php");}
else{ ?>

<?php
if(!isset($_POST['submit2'])){
header("location:index.ru.php");}
?>


<!DOCTYPE html>
<html>
   <head>
	<meta charset="UTF-8">
	<title>Фурухтани бор!</title>
<meta name=viewport content="width=device-width, initial-scale=1">
	</head>
<body> 


 <form  method="POST">
   <input type="submit" name="submit2" value="Бор дар склад" style="height:40px"/>
   <input type="submit" name="submit3" value="Бор дар рох" style="height:40px"/><br><hr>
 </form>

 

</body>
</html>
<?php } ?>

...
Рейтинг: 0 / 0
01.10.2016, 14:30
    #39319102
Abisma2008
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает нажатии кнопки "Sambmit"
Всё разобрался, получается между строками тоже не должно быть пустое место...
Спасибо!
...
Рейтинг: 0 / 0
01.10.2016, 14:41
    #39319104
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает нажатии кнопки "Sambmit"
Abisma2008,

То не "между строками" и не "пустое место". Там между закрывающим "?>" и открывающим "<?php" имеется минимум два байта перевода строки, которые, будучи частью HTML-кода, передаются на вывод как есть.
...
Рейтинг: 0 / 0
01.10.2016, 15:37
    #39319118
Abisma2008
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает нажатии кнопки "Sambmit"
vkle,
Вот так правильно?
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
<?php 
session_start();
if(!isset($_SESSION['access']) || $_SESSION['access']!=true){
header("location:index.php");}
else{?>
<?php
if(!isset($_POST['submit2'])){
header("location:index.ru.php");}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Фурухтани бор!</title>
<meta name=viewport content="width=device-width, initial-scale=1">
</head>
<body> 
<form  method="POST">
<input type="submit" name="submit2" value="Бор дар склад" style="height:40px"/>
<input type="submit" name="submit3" value="Бор дар рох" style="height:40px"/><br><hr>
</form>
</body>
</html>
<?php } ?>

...
Рейтинг: 0 / 0
01.10.2016, 16:29
    #39319124
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает нажатии кнопки "Sambmit"
Abisma2008Вот так правильно?Не знаю, зависит от того, что хотите сделать.

Навскидку, вот этот фрагмент явно лишний:
Код: php
1.
2.
?>
<?php

, так как кроме непонятно для чего предназначенного перевода строки в нём более нет ничего.

И ещё. После header("Location: ...."); можно остановить скрипт (при помощи die или exit), так как инструкция для клиента (браузера) о переходе на другую страницу уже выдана и слать вдогонку ещё веб-страницу, которую пользователь всё равно не увидит... ну, не вижу в этом смысла.

Да, вот ещё момент. Сравнение с true при проверке переменной $_SESSION['access']. Вы используете нестрогое сравнение. В таком случае работает неявное преобразование типов данных, когда множество различных вариантов значения переменной будут преобразованы к булевому значению (true или false) и только затем произведено сравнение. В ряде случаев это попросту запутывает понимание кода и поиск ошибок. Например, строка "Доступ запрещен" будет приведена к true.
...
Рейтинг: 0 / 0
01.10.2016, 16:36
    #39319125
Abisma2008
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает нажатии кнопки "Sambmit"
vkleAbisma2008Вот так правильно?Не знаю, зависит от того, что хотите сделать.

Навскидку, вот этот фрагмент явно лишний:
Код: php
1.
2.
?>
<?php

, так как кроме непонятно для чего предназначенного перевода строки в нём более нет ничего.

И ещё. После header("Location: ...."); можно остановить скрипт (при помощи die или exit), так как инструкция для клиента (браузера) о переходе на другую страницу уже выдана и слать вдогонку ещё веб-страницу, которую пользователь всё равно не увидит... ну, не вижу в этом смысла.

Да, вот ещё момент. Сравнение с true при проверке переменной $_SESSION['access']. Вы используете нестрогое сравнение. В таком случае работает неявное преобразование типов данных, когда множество различных вариантов значения переменной будут преобразованы к булевому значению (true или false) и только затем произведено сравнение. В ряде случаев это попросту запутывает понимание кода и поиск ошибок. Например, строка "Доступ запрещен" будет приведена к true.
Спасибо за советы!
Да Вы правы код еще не идиален. (Я еще новичок).
И по поводу переменной $_SESSION['access'] если честно я тупо копировал откуда-то...
Буду изучать!
Ещё раз спасибо!!!
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Не работает нажатии кнопки "Sambmit" / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]