PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (2): « 1 [2]

> Найдено сообщений: 27
emslt Отправлено: 15 Мая, 2011 - 14:31:12 • Тема: Вопрос по БД • Форум: Работа с СУБД

Ответов: 1
Просмотров: 1032
Господа,

Чуть чуть тормознул в очень глупом вопросе, и никак не могу понять как написать код.
Суть такова, захожу на страницу my profile - в коде написано
1) если существует кука с ID пользователем то вывести информацию по этому пользователю,
2) если ID есть в куке но нет в БД нет то вывести сообщение что такого ID нет в БД и перелогиньтесь.

Не могу понять как система понимает что ID не существует.
$query = mysql_query("SELECT userID FROM user where = '.$_cookies['userID'].'");
$data = mysql_fetch_assoc($query);

такую функцию писать или что то другое. Вроде понятно, но что то я не уверен.
if(!isset($data['userID'])){}

isset или empty?
emslt Отправлено: 24 Апреля, 2011 - 20:47:51 • Тема: Сессии в БД • Форум: Напишите за меня, пожалуйста

Ответов: 3
Просмотров: 44
Всё, разобрался.
Для записи идентификатора сессии в БД, а так же сопутствующей информации вот начальные исходники кода:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.         /*
  3.         Author : http://www.tuxradar.com/practicalphp/10/3/7
  4.         */
  5.  
  6.     mysql_connect("LOCALHOST", "LOGIN", "PASSWORD");
  7.     mysql_select_db("YOUR_DB_NAME");
  8.    
  9.     function sess_open($sess_path, $sess_name) {
  10.         return true;
  11.     }
  12.  
  13.     function sess_close() {
  14.         return true;
  15.     }
  16.  
  17.     function sess_read($sess_id) {
  18.         $result = mysql_query("SELECT Data FROM sessions WHERE SessionID = '$sess_id';");
  19.         if (!mysql_num_rows($result)) {
  20.             $CurrentTime = time();
  21.             mysql_query("INSERT INTO sessions (SessionID, DateTouched) VALUES ('$sess_id', $CurrentTime);");
  22.             return '';
  23.         } else {
  24.             $CurrentTime = time();
  25.             extract(mysql_fetch_array($result), EXTR_PREFIX_ALL, 'sess');
  26.             mysql_query("UPDATE sessions SET DateTouched = $CurrentTime WHERE SessionID = '$sess_id';");
  27.             return $sess_Data;
  28.         }
  29.     }
  30.  
  31.     function sess_write($sess_id, $data) {
  32.         $CurrentTime = time();
  33.         mysql_query("UPDATE sessions SET Data = '$data', DateTouched = $CurrentTime WHERE SessionID = '$sess_id';");
  34.         return true;
  35.     }
  36.  
  37.     function sess_destroy($sess_id) {
  38.         mysql_query("DELETE FROM sessions WHERE SessionID = '$sess_id';");
  39.         return true;
  40.     }
  41.  
  42.     function sess_gc($sess_maxlifetime) {
  43.         $CurrentTime = time();
  44.         mysql_query("DELETE FROM sessions WHERE DateTouched + $sess_maxlifetime < $CurrentTime;");
  45.         return true;
  46.     }
  47.  
  48.     session_set_save_handler("sess_open", "sess_close", "sess_read", "sess_write", "sess_destroy", "sess_gc");
  49.     session_start();
  50.        
  51.     $_SESSION['foo'] = "TEST TEXT 1";
  52.     $_SESSION['baz'] = "TEST TEXT 2";
  53.  
  54. ?>
emslt Отправлено: 24 Апреля, 2011 - 17:16:33 • Тема: Сессии в БД • Форум: Напишите за меня, пожалуйста

Ответов: 3
Просмотров: 44
Ищу хоть какую нибудь информацию о сессиях в БД.
У кого нибудь есть какие то готовые решения? Или хотя бы нормальные подсказки.
Во всех статьях копируют одно и тоже, написанное зарубежными профи, а хоть кто нибудь сделал что нибудь свое?
http://leopard[dot]in[dot]ua/2008/09/15/[dot][dot][dot]hp-v-baze-dannyx
emslt Отправлено: 02 Апреля, 2011 - 12:21:55 • Тема: mojno li eto s PHP • Форум: Программирование на PHP

Ответов: 2
Просмотров: 315
Скриптом осуществляется подгруздка копай в javascript.
emslt Отправлено: 01 Апреля, 2011 - 18:05:25 • Тема: Чем отличаются строки? • Форум: Программирование на PHP

Ответов: 14
Просмотров: 789
Во блин. Улыбка Пока я думал как и что на писать уже grefon всё написал. Улыбка

Extazy - очень важно по максимум пользоваться уже готовыми функциями SQL языка так как это ускоряет выборку данных на большой Базе.
emslt Отправлено: 01 Апреля, 2011 - 17:34:36 • Тема: Чем отличаются строки? • Форум: Программирование на PHP

Ответов: 14
Просмотров: 789
Что то такой крутой код что я ничего не понял.
Напишите сперва что именно вы хотите сделать?
Какие столбцы есть в таблице.
Полагаю быстрее будет написать заново правильный код чем исправлять. Улыбка
emslt Отправлено: 01 Апреля, 2011 - 15:03:06 • Тема: Нужен совет бывалых • Форум: Программирование на PHP

Ответов: 13
Просмотров: 799
Ну это полнейшая фигня есть работодатель будет просить писать код на PHP 4. Улыбка

Если все работает на PHP 5.2 - 5.3. Значит все гуд.
Но надо ещё покопаться в php.ini авось что то у дома включено чего нет у работодателя.
emslt Отправлено: 01 Апреля, 2011 - 13:38:08 • Тема: Нужен совет бывалых • Форум: Программирование на PHP

Ответов: 13
Просмотров: 799
haligali пишет:
emslt
Почему-то сразу так и подумал. Да-а, все таки оригинальный юмор у программистов Радость


Ну ничего, мы тоже так когда то будем шутить. Улыбка

Надо задать вопрос работодателю какой версии у него PHP.

Может у него PHP 4 или даже PHP 6.
PHP 6 глючный пока что.

Если чувствуешь что работник - немного ПСИХ - даже и не пытайся к нему устроится.
Не только не попрактикуешся, но и нервы испортишь.
emslt Отправлено: 01 Апреля, 2011 - 13:34:38 • Тема: Проблема с кодировкой при добавлении в БД • Форум: Программирование на PHP

Ответов: 2
Просмотров: 272
Мелкий пишет:
mysql_query('SET NAMES utf8'); сразу после коннекта с БД.



К сожалению не помогает.
Базу заново пересоздал. по умолчанию стоит UTF8, INNODB
emslt Отправлено: 01 Апреля, 2011 - 13:29:03 • Тема: Нужен совет бывалых • Форум: Программирование на PHP

Ответов: 13
Просмотров: 799
haligali пишет:
JustUserR

Жесть !!! А можно более понятней? Для нуба так сказать.



Да он просто постебался. Улыбка
emslt Отправлено: 01 Апреля, 2011 - 13:25:54 • Тема: Проблема с кодировкой при добавлении в БД • Форум: Программирование на PHP

Ответов: 2
Просмотров: 272
Вся база в UTF8 и везде прописано что UTF8.
При добавлении значений в базу mysql через форму пишет Incorrect string value: '\xCA\xE8\xF0\xE8\xEB\xE8...' for column 'author' at row 1

Где и что подправить?

PHP:
скопировать код в буфер обмена
  1. function save($author, $title, $year, $price){
  2.                 $sql = "INSERT INTO catalog(
  3.                                                                 author,
  4.                                                                 title,
  5.                                                                 year,
  6.                                                                 price) VALUES(
  7.                                                                 '$author',
  8.                                                                 '$title',
  9.                                                                 $year,
  10.                                                                 $price)";
  11.                                                                
  12.                 mysql_query($sql) or die (mysql_error());
  13.                
  14.         }

(Добавление)
mysql_query("SET NAMES utf8") ; - не помогает.
emslt Отправлено: 28 Марта, 2011 - 22:31:16 • Тема: Тупой вопрос от новичка • Форум: Напишите за меня, пожалуйста

Ответов: 3
Просмотров: 40
Господа, туплю нереально, не могу найти ошибку.
(практикум)
Сделал форму (из чужого примера) по загрузке новых книг в базу данных, но информация в базе не сохраняется и ошибки не выводится.

add2cat.php => array( с данными приходит в форму для проверки addslashes(trim($_POST["***"])); )=> тут же подключаются внешние файлы с функциями и базой данных
.
add2cat.php пересылает массив сюда в save2cat.php
-------------------------------- -------------------------------- -------------------
save2cat.php =>
require "eshop_db.inc.php";
require "eshop_lib.inc.php";
// Получение данных из формы
$author = addslashes(trim($_POST["author"]));
$title = addslashes(trim($_POST["title"]));
$pubyear = addslashes(trim($_POST["pubyear"]));
$price = addslashes(trim($_POST["price"]));

// Сохранение товара в базу
save($author, $title, $pubyear, $price);

// Возвращение на форму
header("Location: add2cat.php");
-------------------------------- -------------------------------- -------------------
eshop_db.inc.php =>

define("DB_HOST", "localhost");
define("DB_LOGIN", "root");
define("DB_PASSWORD", "password");
define("DB_NAME", "eshop");


$conn = mysql_connect(DB_HOST, DB_LOGIN, DB_PASSWORD) or die("Ошибка соединения с сервером баз данных");

mysql_select_db(DB_NAME) or die(mysql_error());
-------------------------------- -------------------------------- -------------------
eshop_lib.inc.php =>

function save($author, $title, $pubyear, $price) {
$sql = "INSERT INTO catalog(
author,
title,
pubyear,
price
) VALUES(
'$author',
'$title',
$pubyear,
$price
)";
mysql_query($sql) or die(mysql_error());
}


// Пересохранение товаров из корзины в заказы
function resave($datetime) {
$goods = myBasket();
while ($good = mysql_fetch_assoc($goods)) {
$sql = "INSERT INTO orders(
author,
title,
pubyear,
price,
customer,
quantity,
datetime
) VALUES(
'" . $good["author"] . "',
'" . $good["title"] . "',
" . $good["pubyear"] . ",
" . $good["price"] . ",
'" . $good["customer"] . "',
" . $good["quantity"] . ", $datetime)";
mysql_query($sql) or die(mysql_error());

}
// Удаление данных из таблицы basket
$sql = "DELETE FROM basket WHERE customer='" . session_id() . "'";
mysql_query($sql) or die(mysql_error());
}

// Получение информации о заказах
function getOrders() {
// Получение заказчиков из log-файла
$orders = file(ORDERS_LOG);

$allorders = array();

foreach ($orders as $order) {
list($name, $email, $phone, $address, $customer, $date) = explode("|", $order);

$orderinfo = array();

$orderinfo["name"] = $name;
$orderinfo["email"] = $email;
$orderinfo["phone"] = $phone;
$orderinfo["address"] = $address;
$orderinfo["customer"] = $customer;
$orderinfo["date"] = $date;
// Товары из заказов:
$sql = "SELECT * FROM orders
WHERE customer='".$orderinfo["customer"]."' AND datetime=".$orderinfo["date"];
$result = mysql_query($sql) or die(mysql_error());
$orderinfo["goods"] = $result;
$allorders[] = $orderinfo;
}
return $allorders;
}
-------------------------------- -------------------------------- -------------------
Если зак комментировать функции Getorders() и resave () - скрипт встает и ничего не делает, хотя я не вызывал этих функций.


Что за фигня?

Страниц (2): « 1 [2]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB