Как ссыкой передать значение переменной?

Cblpok

Новичок
Как ссыкой передать значение переменной?

Как сделать так, чтоб при нажатии на ссылку передавалось значение переменной и переходилось на страницу соответствующюю.

Еще сессии не работают.
Пишу:
PHP:
session_start();
session_register('$nik','$mail','$isq','$podpis');
$nik=$nik;
$mail=$mail;
$isq=$isq;
$podpis=$podpis;     //переменные передаются методом POST
Выдает:

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at z:\home\forum\www\hello.php:6) in z:\home\forum\www\hello.php on line 10

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at z:\home\forum\www\hello.php:6) in z:\home\forum\www\hello.php on line 10

Еще:
FAQ=Мануал?
 

_RVK_

Новичок
Как сделать так, чтоб при нажатии на ссылку передавалось значение переменной и переходилось на страницу соответствующюю.
Вот ссылка <a href="mycoolscript.php?var=blablabla&var1=tralala">Кликни сюда</a>

В скрипте mycoolscript.php
PHP:
print $_GET['var'].'<br>';
print $_GET['var1'];
 

Dallas

Guest
А еще лучше так (если переменные, которые ты передаешь, могут содержать кавычки и пр.):
PHP:
echo "<a href=\"test.php?foo=".urlencode($bar)."\">test</a>";
 

alpes

Весь мир на ладони
Cblpok

Ты это читал?! :

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at z:\home\forum\www\hello.php:6) in z:\home\forum\www\hello.php on line 10

у тебя уже что-то отправляется до заголовков, session_start() следовательно терпит неудачу

-~{}~ 24.08.04 18:15:

[f]headers[/f]
 

Cblpok

Новичок
Вот это форум!
На остальных либо засирают, либо "читайте мануал".
А что за мануал, если не FAQ?

А сайт обьемный! Две ночи качал, и еще тележку...
6 косарей с чем-то страничек и картинок накачал уже, это еще не конец... Щас читаю myphp.net.ru

Спасибо всем!

А про сессии, у меня там:
PHP:
<html>
<head>
<META HTTP-EQUIV="Refresh" Content="4; URL=http://forum/forumthems.php">
</head>
<body>
<?php
$evalfile=implode("",file("if.txt")); 
eval($evalfile);
echo "hello ".$nik."!";
session_start(); 
session_register('$nik','$mail','$isq','$podpis'); 
$nik=$nik; 
$mail=$mail; 
$isq=$isq; 
$podpis=$podpis;
?>
</body>
</html>
 

Dallas

Guest
Cblpok, там ведь есть рекомендации по поводу session_register и пр.
http://faq.phpclub.ru/practice.sessions.html
 

alpes

Весь мир на ладони
А сайт обьемный! Две ночи качал, и еще тележку...
6 косарей с чем-то страничек и картинок накачал уже, это еще не конец...
:D неужели кто-то закроет от тебя форум

А про сессии, у меня там:
PHP:
<html>
...
<?
session_start();
?>
ну так тебеж дали прямую ссылку по твоей беде [f]headers[/f]
также обрати внимание на ссылку Dallas, у тебя устаревший механизм работы с ссесиями
 

Cblpok

Новичок
Ок, ща посмотрю

-~{}~ 26.08.04 19:27:

Прочитал, что надо session_start(); в начало писать, чтоб до этого хттп заголовки не отправлялись, даже до пробелов и инклудов...

Ну у меня в самом начале:
PHP:
<html>
<body>
<?php
session_start();
А все равно то же сообщение об ошибке!
Куда еще запихнуть?
Нельзя без пробела меж <?php и session_start.
В одно слово сливаются...
В самом начале страницы надо?
До <HTML>?
Там не пхп код и выводит session_start(); на экран как текст, что делать, FAQ по этому вопросу изучил с корнем...
Помогите плиз.
 

Кром

Новичок
Cblpok, любые символы, вне php тегов, без буферизации, сразу же отсылаеся клиенту. А перед ним заголовки. :)
 

alpes

Весь мир на ладони
Все из того же фака:
Для самых талантливых: речь идет о любом символе, отправленном в браузер, а не только о тех, которые браузер отображает неискушенному пользователю.
самое начало - это самое начало, а не после: <html>,..<body>,..
 

Фанат

oncle terrible
Команда форума
Вы не поняли.
Какие же вы все непонятливые...
самом начале страницы надо?
До <HTML>?
Там не пхп код
То есть, он думает, что пхп код - это часть стандарта
<html>
<head>
<body>
<?php ?>
 

Cblpok

Новичок
Обложили все!
Никто не помог!
Писать так?:
session_start();
<html>
<body>
???

А мож:
<? session_start(); ?>
<html>
<body>
???
Хоть кто подскажите, чем обсирать...
Чесслово!
 

Фанат

oncle terrible
Команда форума
Если ты такой начинающий, то, может быть, ты перестанешь давать в чужих темах неправильные ответы?
 

DJ Serg

Guest
Что касается ссылки:
PHP:
<a href="link.php?var1=<?=@$var1?>&var2=<?=@$var2?>...'></a>
Сессия:
Вот документ:
PHP:
<?php
session_start();
...
?>
<html>
...
То есть, открывать сессию надо самой первой строкой!
Перед заголовком html-страницы
Удачи :)
 

_RVK_

Новичок
Cblpok (шопотом на ушко) Не надо лазить в темы где Фанат отвечает, а лучше вообще не лазить, вдруг там фанат будет отвечать!

По твоему вопросу. Ты не можешь понять самых основ. Ты считаешь что большого различия между PHP и HTML нет. Но ты ошибаешься. PHP код выполняется на сервере а HTML отдается так, как есть. На то, что находится за пределами <?php ?> PHP никакого внимания не обращает и просто отдает браузеру. Но по стандартам HTTP перед данными должен быть отправлен заголовок специального формата. Когда PHP впервые встречает то, что он должен вывести, он автоматически формирует и отправляет заголовок. Но функция session_start() сама нуждается в передаче данных в заголовке, но если он уже передан, она не сможет нормально отработать. Об этом и говорит ошибка Cannot send session cookie - headers already sent by... Поезд уже ушел...
 

Cblpok

Новичок
Ну спасибо за пояснение про фаната! - отвечаю шепотом...
А азы знаю, уже даже выучил регулярные выр-я.
Я сразу понимаю, если понятно обьяснить, вот про рег.выр. учебник понятный попался...
DJ Serg,
Точно там собака и равно?
(не сочти за недоверие...)
 

alpes

Весь мир на ладони
равно это правильный синтаксис для вставок в html. а собака это не хороший тон, если твоя переменная не будет определена то она подавит сообщение об ошибке.

Cblpok представляешь ли ты что тебе надо?!
сессии или только ссылкой..
 

SiMM

Новичок
Автор оригинала: alpes
а собака это не хороший тон, если твоя переменная не будет определена то она подавит сообщение об ошибке.
Имхо, это не тот случай (конечно, можно было написать более громоздко
PHP:
<?= isset($var) ? $var : '' ?>
), где собака вредна (если переменная не определена, её значения мы и так не увидим, что и будет являться ошибкой) - хотя если говорить о новичках (особенно этом), то им о её существовании лучше ничего не знать.
 
Сверху