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

Форум MySQL

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

 

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

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

тема: Реакция на несуществующий в базе данных ID
 
 автор: Demonik   (14.10.2009 в 13:27)   письмо автору
 
 

Скажите как сделать как к примеру здесь http://photoshop-master.ru/lessons.php?rub=100 если категория с id`om 100 не сушествует в mysql то ему выводится текст 'Неверный запрос! Проверьте URL!' ?

  Ответить  
 
 автор: Aidaho   (14.10.2009 в 13:34)   письмо автору
 
   для: Demonik   (14.10.2009 в 13:27)
 

можно например вот так:
$res = mysql_query('select Id from baza where id='".$_GET['rub']."'');
$rub = myqsl_fetch_row($res);
if($rub['0'] == '0') {
echo "Нема такого...";
} else {
//все остальное
}

  Ответить  
 
 автор: Diplex   (14.10.2009 в 13:34)   письмо автору
 
   для: Demonik   (14.10.2009 в 13:27)
 

<? 
$query 
mysql_query("SELECT * FROM `tbl` WHERE `id` = '".$_GET['rub']."'");
if(
$query) {

$nums mysql_num_rows($query);

if (
$nums 0)
{
echo 
'всё ок';
} else { 
echo 
'id нет'
}


?>

  Ответить  
 
 автор: serjinio   (14.10.2009 в 15:01)   письмо автору
 
   для: Demonik   (14.10.2009 в 13:27)
 

то ему выводится текст 'Неверный запрос! Проверьте URL!' ?
Вообще то надо отдавать 404 ошибку...

  Ответить  
 
 автор: root   (14.10.2009 в 15:27)   письмо автору
 
   для: serjinio   (14.10.2009 в 15:01)
 

>то ему выводится текст 'Неверный запрос! Проверьте URL!' ?
>Вообще то надо отдавать 404 ошибку...

а одно другому мешает?
http://www.opera.com/serjinio/ :)

  Ответить  
 
 автор: Diplex   (14.10.2009 в 15:43)   письмо автору
 
   для: serjinio   (14.10.2009 в 15:01)
 

> Вообще то надо отдавать 404 ошибку

Изъезженная тема, все давно уже пришли к выводу, что нужно пользователю человеческим образом объяснить, что не так и дать пути, как выйти из ситуации... А ошибка 404 для многих непонятна, хоть и постоянно на неё налетают, но считают, что сайт недоступен и забывают про него.

  Ответить  
 
 автор: Trianon   (14.10.2009 в 18:05)   письмо автору
 
   для: Diplex   (14.10.2009 в 15:43)
 

Во-первых, одно другого не исключает.
Во-вторых, не надо расписываться за всех.
В третьих, не надо строить интернет для дебилов.
По естественной вполне причине. Если чего-то делают для дебилов, потом среди пользователей этого чего-то никого, кроме дебилов, не остается. И этот процесс запустить куда легче, чем остановить.

  Ответить  
 
 автор: Diplex   (14.10.2009 в 19:46)   письмо автору
 
   для: Trianon   (14.10.2009 в 18:05)
 

У каждого своё мнение, а лично я, запарился с Вами спорить...

  Ответить  
 
 автор: serjinio   (14.10.2009 в 18:41)   письмо автору
 
   для: Diplex   (14.10.2009 в 15:43)
 

Посмотрите ответ.....
http://www.opera.com/serjinio/ 404 Not Found

  Ответить  
 
 автор: Diplex   (14.10.2009 в 19:48)   письмо автору
 
   для: serjinio   (14.10.2009 в 18:41)
 

Ну? Загрузилась страница, где человеку не выпячивают ошибку 404... что не так, именно про это я и говорю, что надо так делать...

  Ответить  
 
 автор: Demonik   (27.10.2009 в 15:52)   письмо автору
 
   для: Diplex   (14.10.2009 в 19:48)
 

Спасибо за код

  Ответить  
 
 автор: Demonik   (25.05.2010 в 16:23)   письмо автору
 
   для: Demonik   (27.10.2009 в 15:52)
 

Не охота создавать новую тему решил спросить здесь:

Как сделать адрес типа http://---/id1 а не http://---/index.php?id=1 ?

К примеру такой код

<?php

$link 
mysql_connect("localhost""root""пароль");
mysql_select_db("База");

$qu mysql_query("SELECT id,userlog FROM user");
$r mysql_fetch_array($qu);

if(
$_GET['c'] == $r['id'])
{
    echo 
"Ваше имя: ".$r['userlog']."";
}

?>


Захажу по адресу http://---/index.php?id=1

Выводит 'Ваше имя: Demonik(к примеру)'

а как сделать также но только с адресом /id1

?
Надеюсь вы поняли что мне нужно может кто кодом помочь...
Может это можно сделать как нибуть через mod_rewrite

  Ответить  
 
 автор: Trianon   (25.05.2010 в 16:48)   письмо автору
 
   для: Demonik   (25.05.2010 в 16:23)
 

>Не охота создавать новую тему решил спросить здесь:
Зря

>$qu = mysql_query("SELECT id,userlog FROM user");
>$r = mysql_fetch_array($qu);
>if($_GET['c'] == $r['id'])

>Захажу по адресу http://---/index.php?id=1
>Выводит 'Ваше имя: Demonik(к примеру)'

Оно такого почти наверняка не выведет. if не выполнится.
Это единственное, что можно сказать по теме.

  Ответить  
 
 автор: Demonik   (26.05.2010 в 07:34)   письмо автору
 
   для: Trianon   (25.05.2010 в 16:48)
 

Почему зря ?

Почему if не выполнится ? потому что в if прописано if($_GET['c']..... а адрес ?id=1 а не ?c=1

  Ответить  
 
 автор: Trianon   (26.05.2010 в 08:49)   письмо автору
 
   для: Demonik   (26.05.2010 в 07:34)
 

>Почему зря?
Потому что темы ищут [в т. ч. и] по заголовкам в соотв. разделах.
и вопрос, заданный где-то в другой теме в поисковом смысле становится офтопиком.

>Почему if не выполнится ?
а откуда такая уверенность, что первой вытащенной из таблицы строкой будет строка с id=1 ?

  Ответить  
 
 автор: Demonik   (26.05.2010 в 14:36)   письмо автору
 
   для: Trianon   (26.05.2010 в 08:49)
 

строку id=1 я на писал как пример

  Ответить  
 
 автор: Trianon   (26.05.2010 в 19:17)   письмо автору
 
   для: Demonik   (26.05.2010 в 14:36)
 

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

  Ответить  
 
 автор: oliss   (25.05.2010 в 18:37)   письмо автору
 
   для: Demonik   (25.05.2010 в 16:23)
 

http://---/index.php?id=1 ====> http://---/id1/

RewriteBase /
RewriteRule ^id([1-9]{1,})/$ index.php?id=$1 [L]

  Ответить  
 
 автор: Trianon   (25.05.2010 в 18:52)   письмо автору
 
   для: oliss   (25.05.2010 в 18:37)
 

во-первых, стрелка в другую сторону.
во-вторых, нолик обделили вниманием.
в третьих, корм таки не в коня.

  Ответить  
 
 автор: oliss   (27.05.2010 в 00:05)   письмо автору
 
   для: Demonik   (14.10.2009 в 13:27)
 

Вам же выше написали решение
$query = .....id,....,userlog..............    WHERE `id` = '".intval($_GET['id'])."'" );

if( mysql_num_rows($query) > 0) {
  $rw= mysql_fetch_assoc($query);
  echo 'Ваше имя: '.$rw['userlog']; 
}
else  ' С таким ID в базе  юзер не зарегистрирован....'; 

  Ответить  
 
 автор: Demonik   (27.05.2010 в 16:47)   письмо автору
 
   для: oliss   (27.05.2010 в 00:05)
 

и зачем мне этот код ?

Мне нужно изменить адрес а не проверять есть ли юзер в базе

тоесть адрес был

такой: http://127.0.0.1/index.php?id=1 ====> стал такой: http://127.0.0.1/id1/

  Ответить  
 
 автор: Trianon   (27.05.2010 в 17:55)   письмо автору
 
   для: Demonik   (27.05.2010 в 16:47)
 

>и зачем мне этот код ?
Зачем этот вопрос в этом разделе?
Какое отношение к SQL он имеет?

>Мне нужно изменить адрес а не проверять есть ли юзер в базе
В поиск по mod_rewrite в регулярных выражениях.

  Ответить  
 
 автор: Demonik   (27.05.2010 в 18:02)   письмо автору
 
   для: Trianon   (27.05.2010 в 17:55)
 

Эта тема первоначально создавалась в PHP разделе...

Всё вроде нашол -> http://softtime.ru/forum/read.php?id_forum=5&id_theme=73392&page=1

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

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