Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите с сессиями! Буду блогодарен!
 
 автор: revered   (01.02.2012 в 00:48)   письмо автору
 
 

Хочу, чтобы человек прешедший по ссылке http://site/?r=name, в сесию сохранялась переменная r, чтобы он мог полазить по сайту, потом перейти в регестрацию, и при регестриции переменная r, вписалась в bd в поле referer
Помогите пожалуйста! Покажите код, чтобы работало, я сделал, не работает чето не фига((((
Вот мой код:
Файл bd:
<?php
session_start();

$db = mysql_connect ("localhost","12345","123");
mysql_select_db ("12345",$db);

$login = $_SESSION['login'];
$password = $_SESSION['password'];
$id_user = $_SESSION['id'];

if (isset($r))
{
$_SESSION['r'] = $r;
$r = $_SESSION['r'];
}
else
{
$r = $_GET['r'];
$_SESSION['r'] = $r;
$r = $_SESSION['r'];

}
?>
Вот часть кода файла регистрации:
<?php include_once("bd.php"); ?>
<?php
............
else{
$query = "INSERT INTO users (login, password, email, reg_date, referer )
VALUES ('$login', '$mdPassword', '$email', '$rdate', '$r')";
$result = mysql_query($query) or die(mysql_error());;
echo '<br><center><span class="text">Вы успешно зарегистрировались! Теперь Вы можете войти в аккаунт под своим логином и паролем!</span></center>';
}
}
}
}
?>

Истратил все силы(( не че не получаеться помогите пожалуйста, ну как я понимаю, скорее всего ошибка в файле bd, сессия не сохраняет переменную r

  Ответить  
 
 автор: Sfinks   (01.02.2012 в 01:33)   письмо автору
 
   для: revered   (01.02.2012 в 00:48)
 

А в массиве сессии вообще есть что-либо? Выведите
<?
echo "<pre>";print_r($_SESSION);echo"</pre>";
в конце файла bd

  Ответить  
 
 автор: Sfinks   (01.02.2012 в 01:35)   письмо автору
 
   для: revered   (01.02.2012 в 00:48)
 

А проверка условия
> if (isset($r))
Здесь $r вообще откуда изначально должна взяться?

  Ответить  
 
 автор: Sfinks   (01.02.2012 в 01:36)   письмо автору
 
   для: revered   (01.02.2012 в 00:48)
 

А здесь:
<?
$r 
$_GET['r'];
 
$_SESSION['r'] = $r;
 
$r $_SESSION['r'];
что за вася любит машу, маша любит васю? третья строчка зачем?

  Ответить  
 
 автор: Sfinks   (01.02.2012 в 01:41)   письмо автору
 
   для: revered   (01.02.2012 в 00:48)
 

Может у вас session.use_cookies отключено?
Попробуйте добавить
<?
ini_set
("session.use_cookies","1");
перед session_start();

  Ответить  
 
 автор: revered   (01.02.2012 в 16:15)   письмо автору
 
   для: Sfinks   (01.02.2012 в 01:41)
 

включено. Тут похоже проблема с условием(( подскажите а как сделать? Просто нужно чтобы методом GET в переменную r записывалось только один раз, а это переменная загонялась в сесию, потом когда в сесии нету переменной, опять методом GET записывалось

  Ответить  
 
 автор: tAleks   (01.02.2012 в 22:35)   письмо автору
 
   для: revered   (01.02.2012 в 16:15)
 


<?
if(empty($_SESSION['r']))
  
$_SESSION['r'] = $_GET['r'];

$r $_SESSION['r'];



Так чтоли?

  Ответить  
 
 автор: revered   (01.02.2012 в 22:42)   письмо автору
 
   для: tAleks   (01.02.2012 в 22:35)
 

спасибо большое!! Все круто работает!)

  Ответить  
 
 автор: revered   (01.02.2012 в 22:35)   письмо автору
 
   для: Sfinks   (01.02.2012 в 01:41)
 

люди, помогите пожалуйста, срочно надо))

  Ответить  
 
 автор: tAleks   (01.02.2012 в 22:40)   письмо автору
 
   для: revered   (01.02.2012 в 00:48)
 

>Хочу, чтобы человек прешедший по ссылке http://site/?r=name, в сесию сохранялась переменная r, чтобы он мог полазить по сайту, потом перейти в регестрацию, и при регестриции переменная r, вписалась в bd в поле referer

Вообще, я бы закинул r в куку.
Ну, а если жу надо в сессию, то вот так:


<?
if(!empty($_GET['r'])) $_SESSION['r'] = $_GET['r'];

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования