powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Не работает нажатии кнопки "Sambmit"
10 сообщений из 10, страница 1 из 1
Не работает нажатии кнопки "Sambmit"
    #39319083
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Есть код:
Код: 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
Не работает нажатии кнопки "Sambmit"
    #39319084
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вероятно, потому, что текстовый вывод (сколько-то там пробелов) имеет место до отдачи заголовка:
Abisma2008
Код: php
1.
2.
3.
    <?php
if(!isset($_POST['submit'])){
header("location:index.php");}
...
Рейтинг: 0 / 0
Не работает нажатии кнопки "Sambmit"
    #39319085
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,
К сожалению нет. Я пробели убрал всё равно страница перезагружается и всё(.
...
Рейтинг: 0 / 0
Не работает нажатии кнопки "Sambmit"
    #39319088
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Abisma2008, речь идёт конкретно о приведённом фрагменте кода или о чём-то другом, большем, чем этот фрагмент? Приведённый код успешно делает редирект, по крайней мере, на моём компе.
...
Рейтинг: 0 / 0
Не работает нажатии кнопки "Sambmit"
    #39319099
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
Не работает нажатии кнопки "Sambmit"
    #39319102
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всё разобрался, получается между строками тоже не должно быть пустое место...
Спасибо!
...
Рейтинг: 0 / 0
Не работает нажатии кнопки "Sambmit"
    #39319104
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Abisma2008,

То не "между строками" и не "пустое место". Там между закрывающим "?>" и открывающим "<?php" имеется минимум два байта перевода строки, которые, будучи частью HTML-кода, передаются на вывод как есть.
...
Рейтинг: 0 / 0
Не работает нажатии кнопки "Sambmit"
    #39319118
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
Не работает нажатии кнопки "Sambmit"
    #39319124
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Abisma2008Вот так правильно?Не знаю, зависит от того, что хотите сделать.

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

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

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

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

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

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

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

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


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