|
|
|
| Есть ссылка такого вида index.php?link=c4ca4238a0b923820dcc509a6f75849b
c4ca4238a0b923820dcc509a6f75849b - это id зашифрованное в md5.
id имеет ввид 1,2,3,4,5...
Теперь надо чтобы при запросы данной ссылке, шёл запрос в базу данных и по зашифрованному мною id(c4ca4238a0b923820dcc509a6f75849b) нашёл в базе данных поле id(1)(там он незашифрованный).
Можно это сделать посредством пхп? | |
|
|
|
|
|
|
|
для: AxelX
(21.12.2008 в 12:12)
| | Тему случайно, не так назвал :) | |
|
|
|
|
|
|
|
для: AxelX
(21.12.2008 в 12:12)
| | и не в том разделе!)
попробуй так:
<?
$_GET['link'] = addslashes($_GET['link']);
$_MS = mysql_query('SELECT * FROM `tbl` WHERE MD5(`id`) = "'.$_GET['link'].'" LIMIT 1');
?>
|
| |
|
|
|
|
|
|
|
для: а-я
(21.12.2008 в 12:18)
| | Не выходит применить этот способ для сортировки.
Сортировку сделал очень просто, поэтому обязательно нужно хешировать в md5.
Сортировка выглядет следующим образом:
Есть ссылки:
index.php?sort=id
index.php?sort=id desc
По GET методу получаю переменную $sort и подставляю в запрос к базе данных.
$result = mysql_query('SELECT * FROM `base` ORDER BY $sort');
|
Всё работает.
Но такой способ небезопасный. Поэтому нужно хешировать в md5.
$result = mysql_query('SELECT * FROM `base` ORDER BY MD5("'.$sort.'")');
|
Так сортировка не работает. Ошибок никаких нету, просто несортируются. | |
|
|
|
|
|
|
|
для: AxelX
(21.12.2008 в 13:35)
| | Чтобы сортировать по id, в запросе должно быть написано ORDER BY id .
Сделали очень просто?
Теперь сделайте правильно. | |
|
|
|
|
|
|
|
для: Trianon
(21.12.2008 в 13:49)
| | Вниматеельнее прочитайте моё предыдущее сообщение.
id у меня подсталяется из ссылки например такого вида index.php?sort=id desc | |
|
|
|
|
|
|
|
для: AxelX
(21.12.2008 в 14:05)
| | Я очень внимательно прочел все Ваши предыдущие сообщения.
>id у меня подсталяется из ссылки например такого вида index.php?sort=id desc
И что?
Кто то мешает подставлять его не из ссылки? | |
|
|
|
|
|
|
|
для: Trianon
(21.12.2008 в 14:17)
| | Дело в том, что мне нужно сортировать не только по id. А ещё по нескольким полям из базы данных. И делать это надо прямо на сайте. | |
|
|
|
|
|
|
|
для: AxelX
(21.12.2008 в 14:55)
| | А что в этом случае меняется? Что Вам мешает сформировать запрос с сортировкой по нескольким полям? | |
|
|
|
|
|
|
|
для: BinLaden
(21.12.2008 в 14:58)
| | Когда делал, мне показалось самым лёгким, удобным делать так как, сделал я.
Можете поподробнее написать, как сделали бы Вы? | |
|
|
|
|
|
|
|
для: AxelX
(21.12.2008 в 15:08)
| | Я бы проверял поле (id, ...) и тип сортировки (ASC, DESC) по списку разрешенных значений:
<?php
$field = isset( $_GET['field'] ) ? (string) $_GET['field'] : 'id';
$sort = isset( $_GET['sort'] ) ? (string) $_GET['sort'] : 'asc';
if( !in_array($field, array('id', 'username', ...)) )
{
$field = 'id';
}
if( !in_array($sort, array('asc', 'desc')) )
{
$sort = 'asc';
}
$query = "SELECT ... ORDER BY {$field} {$sort};";
?>
|
| |
|
|
|
|
|
|
|
для: BinLaden
(21.12.2008 в 15:17)
| | Спасибо за разъяснения.
Сейчас ухожу, вечером попробую разобраться.
Сейчас просмотрел код, неочень понял. Пхп знаю ненастолько хорошо :) | |
|
|
|
|
|
|
|
для: AxelX
(21.12.2008 в 12:12)
| | MD5 ничего и никогда не шифрует. А хеширует. Это 2 разные вещи.
Зачем Вы вообще "шифруете" id? | |
|
|
|
|
|
|
|
для: BinLaden
(21.12.2008 в 12:19)
| | Всем спасибо за ответы!
Всё работает.
id шифровал для пробы. А понадобиться это для админки. | |
|
|
|