Перейти на страничку в PHP

И всё прочее, что касается HTML
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
manefesto
Группенфюррер
Сообщения: 6934
Зарегистрирован: 2007-07-20 8:27:30
Откуда: Пермь
Контактная информация:

Перейти на страничку в PHP

Непрочитанное сообщение manefesto » 2008-01-15 11:44:03

Дома у меня вот такая связка работает...

Код: Выделить всё

<?php 
				$dbcon=pg_connect("port=5432 dbname=videoteka user=pgsql password=******") or die("Error connect");
				$stat=pg_connection_status($dbcon);
				if ($stat === 0) { echo "Связь с базой видеотеки установлена\n";} 
					else { echo "Связь с базой видеотеки не установлена\n";}
				$query="select username,password,(select role_name from role where role=id_role) from users where username='".$_POST['Login_name']."' and password='".$_POST['password']."';";
				$result=pg_query($dbcon,$query);
				$rows_count=pg_num_rows($result);
				print "<span style ='color: rgb(255,0,0)'>".$rows_count."</span>";
				print "<span style ='color: rgb(255,0,0)'>".$_POST['Login_name']."</span>";

//				echo "pg_fetch_array($result,$i,PGSQL_ASSOC)";
			$line=(pg_fetch_row($result,$i));
			if (strlen($_POST['Login_name'])!=0){
				Header('Location: '.trim($line[2]).".php");
			}
			print "<span style ='color: rgb(0,0,255)'>-=".strlen(trim($line[2]))."=-</span>";
			print "<span style ='color: rgb(0,0,255)'>-=".$line[2]."=-</span>";

			?>
когда тоже самое пытаюсь сделать на работе, то ругается на страничке
Warning: Cannot modify header information - headers already sent by (output started at /usr/home/manefesto/www/index.php:4) in /usr/home/manefesto/www/index.php on line 38
как можно перейти на другую страницу не используя

Код: Выделить всё

Header('Location: '.trim($line[2]).".php");
я такой яростный шо аж пиздеЦ
Изображение

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Перейти на страничку в PHP

Непрочитанное сообщение zg » 2008-01-15 16:04:04

manefesto писал(а):когда тоже самое пытаюсь сделать на работе, то ругается на страничке
Warning: Cannot modify header information - headers already sent by (output started at /usr/home/manefesto/www/index.php:4) in /usr/home/manefesto/www/index.php on line 38
как можно перейти на другую страницу не используя

Код: Выделить всё

Header('Location: '.trim($line[2]).".php");
в самом начале файла стваишь ob_start() и всё в ажуре


kmb
лейтенант
Сообщения: 680
Зарегистрирован: 2007-02-20 8:30:03
Контактная информация:

Re: Перейти на страничку в PHP

Непрочитанное сообщение kmb » 2008-01-15 17:07:44

лучше условие:

Код: Выделить всё

         if (strlen($_POST['Login_name'])!=0){
            Header('Location: '.trim($line[2]).".php");
         }
Перенести в самый верх, вообщем посылка заголовков должна быть первой...
truth is out there...

kmb
лейтенант
Сообщения: 680
Зарегистрирован: 2007-02-20 8:30:03
Контактная информация:

Re: Перейти на страничку в PHP

Непрочитанное сообщение kmb » 2008-01-15 17:12:28

а можно узнать, что ты этим условием проверяешь? И куда ты затем посылаешь? :))
truth is out there...

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Перейти на страничку в PHP

Непрочитанное сообщение zg » 2008-01-15 17:23:31

manefesto писал(а):Дома у меня вот такая связка работает...
хорошо пока хоть дома

Код: Выделить всё

 $query="select username,password,(select role_name from role where role=id_role) from users where username='".$_POST['Login_name']."' and password='".$_POST['password']."';";
очень рекомендую посмотреть Хакера несколько стандратных взломов, прежде чем давать этому скрипту жизнь

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35462
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Перейти на страничку в PHP

Непрочитанное сообщение Alex Keda » 2008-01-15 19:49:37

да нормальный скрипт.
если маджик квотес включен - долго жить будет
опять же - откуда ты знаешь, может он первой строкой своего скрипта разбирает все массивы и слэшит их?
я так делаю - потом не парясь использую как хочу переменные...
Убей их всех! Бог потом рассортирует...

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Перейти на страничку в PHP

Непрочитанное сообщение zg » 2008-01-16 13:47:54

lissyara писал(а):опять же - откуда ты знаешь, может он первой строкой своего скрипта разбирает все массивы и слэшит их?
я так делаю - потом не парясь использую как хочу переменные...
какой функцией "слэшишь", addslashes?

addslashes();
addcslashes();
escapeshellarg();
escapeshellcmd();
htmlentities();
htmlspecialchars();
htmlspecialchars_decode();
html_entity_decode();
strip_tags();
stripcslashes();
stripslashes();
mysql_real_escape_string();
mysql_escape_string();
pg_escape_bytea();
pg_escape_string();

и как потом используешь? если ты делаешь вывод в html, то addslashes не поможет, там экранирвание совершенно другое, если вставляешь в запрос, то далеко не все специальные символы SQL экранируются С-стилем экранирования, если формируешь команду для шелла, то там свои тонкости.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35462
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Перейти на страничку в PHP

Непрочитанное сообщение Alex Keda » 2008-01-16 14:01:07

а у меня всё в БД идёт.
поэтому под мусю слэшу.
Убей их всех! Бог потом рассортирует...

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Перейти на страничку в PHP

Непрочитанное сообщение zg » 2008-01-16 16:49:13

lissyara писал(а):а у меня всё в БД идёт.
поэтому под мусю слэшу.
:) понятно

но я всё-таки очень рекомендую использовать функции mysql_real_escape_string() и pg_escape_string() непосредственно при составлении запроса, то есть

Код: Выделить всё

$sql = 'SELECT * FROM `mytable` WHERE `id`="'. mysql_real_escape_string($id) .'"';
иначе гарантий нет, что запрос будет правильным.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35462
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Перейти на страничку в PHP

Непрочитанное сообщение Alex Keda » 2008-01-16 20:24:27

у меня и так запросы на полстраницы...
тут ещё функции лепить...
Убей их всех! Бог потом рассортирует...