подскажите, реально ли все сделать в одной таблице, если нужно хранить инфу о юзере, объявлении, и разделе объявлений. в 3 таблах я без проблем справляюсь...если возможно, так должны выглядеть поля, если вытаскиваемая инфа должна быть построена: Код (Text): по объявлению узнать кто его подал по разделу вытащить объявления этого раздела и тд. в з таблах я это так примерно делаю:[sql]CREATE TABLE `authors` ( `id_author` int(6) NOT NULL auto_increment, `name` text, `passw` text, PRIMARY KEY (id_author) ) TYPE=MyISAM; CREATE TABLE `razdels` ( `id_razdel` int(6) NOT NULL auto_increment, `name` text, PRIMARY KEY (id_razdel) ) TYPE=MyISAM; CREATE TABLE `messagas` ( `id_messaga` int(6) NOT NULL auto_increment, `body` text, `id_author` int(6) default null, `id_razdel` int(6) default null, PRIMARY KEY (id_messaga) ) TYPE=MyISAM;[/sql]
кста..что я нетак делаю? файлы находятся в htdocs/board/ не соединяется с базой=( запрос: PHP: <?php $DB_HOST = "localhost/doska/"; //хост $DB_USER = "root"; //пользователь базы $DB_PASS = "your_password"; //пароль пользователя $DB_NAME = "my_base";//имя базы данных mysql_connect($DB_HOST,$DB_USER,$DB_PASS) or die ("проблемы с подключением к sql серверу! <br><b>Error message:</b>".mysql_error()); mysql_select_db($DB_NAME);?>
может так PHP: <?php $DB_HOST = "[b]localhost[/b]"; //хост, а не адрес ;) $DB_USER = "root"; //пользователь базы $DB_PASS = "your_password"; //пароль пользователя $DB_NAME = "my_base";//имя базы данных mysql_connect($DB_HOST,$DB_USER,$DB_PASS) or die ("проблемы с подключением к sql серверу! <br><b>Error message:</b>".mysql_error()); mysql_select_db($DB_NAME); ?> я точно не помню насчет рутового акка, но там какая-то хня есть с запросами, на php-myadmin.ru как-то объясняли
для рута не действует default-charset для соеднения, у него всегда latin1 — это кстати, не баг, а фича. (Для того что бы можно было чинить базу, если портак с кодировками, и вообще, нехер под рутом ничего делать.)
точно! У меня тогда был трабл с этим, ничего не мог сделать. Потом создал юзера для выполнения необходимых мне запросов и норм =) по аналогии с quest и guest
PHP: <?php $sid=htmlspecialchars(addslashes(substr($_GET['sid'],0,10))); if(isset($sid))//если существует переменная сид , то { session_name("sid");//присваиваем ей имя session_start();//запускаем if(empty($_SESSION['username']) || empty($_SESSION['userpass']))//если переменные пустые,то { unset($sid); //выкл unset( $_GET['sid']);//выкл session_unset();//выкл $_SESSION=array(); session_destroy();//уничтожаем сессию exit; } } //если все ок, то if(isset($sid)) { session_name("sid"); session_start(); $username=$_SESSION['username']; $userpass=$_SESSION['userpass']; } ?> что не так?когда сессия уничтожается страница не загружается вообще..ошибка анализа...когда залогинишься..все ок
До сессий я еще не дошел в изучении пхп, но как я понимаю, sid - это число. Так не проще ли проверить его ctype_digit?
было бы неплохо сессиям имена давать а также удалять используя это имя причем есть session_unset() Разницу между session_destroy() и session_unset() почитай в мануале
Rizan а ты отступы в коде принципиально не используешь? Или есть другая причина, о которой никто не догадывается?
Пусть хотябы пожалеет тех, кто это будет читать и пытаться понять. Если честно, то у меня при виде такого кода, желания что-то там разобрать - нет.
То есть делать так? PHP: <?php unset($sid); //вообще нафиг оно надо если есть это: unset( $_GET['sid']);//выкл session_unset($sid);//tak? $_SESSION=array(); session_destroy($sid);//уничтожаем сессию ?>
Rizan почитайте разницу session_destroy и session_unset зачем их лбе использовать? это не нужно прочитайте и про session_name
Не вкурил, чего это ты пытаешься сделать. Код (Text): unset( $_GET['sid']) - это что за строчка?? Код (Text): session_unset($sid) - Освобождает все переменные сессии, но не одну. Синтаксис: PHP: <? void session_unset ( void ) ?> Код (Text): $_SESSION=array(); Мне кажется, что этот способ медленней, чем session_unset, т.к тут удаляются по очереди все элементы массива. Код (Text): session_destroy($sid); Аналогично, что и начало сессии.