Проблема при использовании зарегестрированых переменых

Udav

Новичок
Проблема при использовании зарегестрированых переменых

Доброе время суток!

У меня такая вот проблемка появилась, имеется следуюзий кусок кода:

PHP:
....
            if(session_register('Bstabe','hash','hash_time','ip')){
                echo "Variablen regestriert<br>";
            }else{
                echo "Variablen nicht regestriert";
            }

            $Bstabe = $_POST['email'][0];
            $hash = md5(uniqid());
            $hash_time = time();
            $ip = $_SERVER["REMOTE_ADDR"];

            DBresult("UPDATE ".$_POST['email'][0]."_registred SET online='1',hash='".$hash."',ip='".$ip."',log_time='".$hash_time."' WHERE email='".$_POST['email']."'",0);

            echo "Guten Tag<br>".$_SESSION['Bstabe']."<br><a href=\"main.php\">Zur Hauptseite</a>";

Выводит следующее:

Variablen regestriert //тобиж переменные зарегестрированы
Guten Tag // но ип не выводит

Zur Hauptseite

Почему? Ах да, в базе данных изменения происходят!
 

Фанат

oncle terrible
Команда форума
писать
$_SESSION['userinfo']=array('Bstabe','hash','hash_time','ip');
читать
echo "Guten Tag<br>".$_SESSION['userinfo']['Bstabe']
 

Udav

Новичок
не не получаетсяю Плюс в друших частях сайта я пишу именно $_SESSION['Bstabe'] и всё работает.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
DBresult("UPDATE ".$_POST['email'][0]."_registred SET online='1',hash='".$hash."',ip='".$ip."',log_time='".$hash_time."' WHERE email='".$_POST['email']."'",0
Жесть

Сначала сюда.
PHP FAQ: \"Кавычки \". Cоставление запросов, слеши, SQL Injection

Потом сюда
PHP FAQ: Ничего не работает! Что делать??? Поиск ошибок и отладка.

-~{}~ 11.03.09 12:34:

+
http://www.phpfaq.ru/session
 

Фанат

oncle terrible
Команда форума
Udav
мне все равно, что у тебя там получается.
session_register - убрать
вместо $Bstabe = $_POST['email'][0];
писать $_SESSION['Bstabe'] = $_POST['email'][0];
выполнить и доложить.
 

Udav

Новичок
не дыру пока никакую не убирал, руки не дошли :) да и адрес не могу прислать сайт у меня на компе лежит

-~{}~ 11.03.09 23:02:

Теперь вопрос, а если я чтонибудь на подобие вот этого напишу?


$email = mysql_real_escape_string($_POST['email']);


DBresult("UPDATE ".$_SESSION['Bstabe']."_registred SET online='1',hash='$_SESSION['hash']',ip='$_SESSION['ip']',log_time='$_SESSION['hash_time']' WHERE email='$email' ",0);
 

x-yuri

Новичок
1) у тебя синтаксические ошибки. Кроме того, имхо, лучше добавлять переменные к строке с помощью оператора конкатенации (.), а не интерполировать их внутрь строки - так лучше видно, какие переменные объединяются со строкой
2) $_SESSION['Bstabe'] ты получаешь от пользователя и похоже никак не фильтруешь. Для чего эта переменная предназначена?
 

Фанат

oncle terrible
Команда форума
это будет дыра размером с марианскую впадину.
правда, хакеру это все равно не поможет - он не разберется в дебильной структуре бд.
почему у тебя имя таблицы строится динамически?
 

Udav

Новичок
Народ, покажите мне тогда как правельно сделать?
Я то статью прочитал, но что я понял вот я вам показал.

Пребполагается большое количество пользователей и чтобы снизить нагрузку, таблицы создаются в алфовитном порядке, а в какую таблицу быть занесённым решает первая буква емаила...
 

Фанат

oncle terrible
Команда форума
это глупость

-~{}~ 12.03.09 10:42:

правильно должна быть ОДНА таблица.
а для большого количества пользователей тебе еще рано делать сайты, ты не находишь?
 

Udav

Новичок
Может и рано, но мне надо его сделать...
ак получается лучше сделать, одну таблицу и марианская впадина пропадёт?
 

Фанат

oncle terrible
Команда форума
в этом месте пропадет. в других еще десяток наделаешь.
Может и рано, но мне надо его сделать...
ну-ну
а небоскреб тебе никто не получал построить? а операцию на сердце сделать?
 

Udav

Новичок
При чем тут небоскрёб?
Ну прочитал я самоучитель по пхп, что теперь сидеть и пол года гостевые книги писать? С мыслью "Мне рано, мне рано...."
А мне хочется чтото большее попробывать. Если я так буду мыслить, что мне рано я пока ничего не умею, то на чем же мне учится нефига не делая? Или сидеть просто форум курить, так и всё желание отпадёт.
Я считаю что надо пробывать и делать, а походу дела я разберусь. Ведь этот форум не просто так существует?
Мне когдато один мудрый человек, сказал "Не бойся ничего делать!". Вот я предпочитаю эту филосойию, и поверь я много достиг благодаря ей...
 

Фанат

oncle terrible
Команда форума
не полгода, а года 2-3.
в программировании ты понимаешь столько же, сколько в строительстве небоскребов. Дерзать - похвально. Просто надо реально оценивать результаты, которые будут в итоге получены.
 

Фанат

oncle terrible
Команда форума
Ведь этот форум не просто так существует?
Форум может помочь в решении частных проблем. Но он не заменит фундаментальных знаний, приобретаемых многолетней учебой и опытом.
 

Leonid

PHP? нет, не слышал...
Видел я как-то один код. Там под каждый раздел каталога создавалась своя таблица для товаров. Причем все одинаковые. Видимо тоже для меньшей нагрузки на БД :)
 
Сверху