if( (int)$id!=0 ) { Работаем с базой (можно еще проверку на больше 0), все зависит от того по какому критерию береться id } не факт, могут быть случаи когда id - пустой
Можно поинетерсоваться какие? На сколько я знаю id - это иденефикатор который является Primary key и не может быть ни пустым ни повторятся. + ко всему если передается через строку браузера, то самое вероятное, что кто-нить пошлет левые цифры
ребят, у меня руки из задницы растут, ну делаю что то не так : (( проверкa эта echo "'$id'"; id не вывелся, вместо него двое кавычек я три дня только как начал читать книгу, пытаюсь сделать что то, но много ошибок постоянно ( PHP: <?php include ("blogs/bd.php"); /*Соединяемся с базой данных*/ if (isset($_GET['id'])) {$id =(int) $_GET['id'];} $result = mysql_query("SELECT * FROM lessons WHERE id='$id'",$db); $myrow = mysql_fetch_array($result); ?> -=Static=- Это если поставить твое творение
от это типичный пример бажного кода: script.php PHP: <? $id = $_GET["id"]; if( (int)$id!=0 ) { echo "SELECT * FROM `lessons` WHERE id=".$id.";"; } ?> Теперь обратимся к скрипту вот так: Code: script.php?id=1+union+select+1,2/* в результате видим: SELECT * FROM `lessons` WHERE id=1 union select 1,2/*;
например форма из нескольких чекбоксов, можно выбрать 1 значение, а можно и не одного, при отправке - проверяеться, если есть id(был выбран) - выполняется код, если нет выполняеться другой да с десяток сожно придумать Или мне нельз я тогда называть чекбокс великим именем id ? id - ты можешь использовать, как захочешь, или это где-то в спецификации прописано, что id - это Primary key, а если, я вообще без MySql( и др) работаю?
А ты как обращаешся к скрипту???? О.о У меня предчуствие что если он у тя называется script.php то ты к нему обращаешся просто http://site.com/script.php а надо: http://site.com/script.php?id=1
Я ж не говорил, что это объязательно. ID - от слова Identeficator. И принятно так называть примари ключ. Вообще ограничений на прострнство имен нет, но если ты не индус, и слышал об этике программирования, то id юзаешь как примари кей, если с базой канешн работаешь.
вот с этого: HTML: <?php include ("blogs/bd.php"); /*Соединяемся с базой данных*/ $result = mysql_query("SELECT id,title,meta_d,meta_k,text FROM settings WHERE page='lessons'",$db); $myrow = mysql_fetch_array($result); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta name="description" content="<?php echo $myrow['meta_d']; ?> "> <meta name="keywords" content="<?php echo $myrow['meta_k']; ?> "> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <title><?php echo $myrow['title']; ?></title> <link href="style.css" rel="stylesheet" type="text/css"> </head> <body> <table width="690" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="main_border"> <?php include ("blogs/header.php"); ?> <tr> <td><table width="690" border="0" cellspacing="0" cellpadding="0"> <?php include ("blogs/lefttd.php"); ?> <td valign="top"> <p><?php echo $myrow['text']; ?> </p> <?php $result = mysql_query ("SELECT id,title,date,description,author FROM lessons",$db); $myrow = mysql_fetch_array ($result); do { printf ("<table align='center' class='lesson'> <tr> <td class='lesson_title'><p class ='lesson_name'><a href='view_lesson.php?=%s'>%s</a></p> <p class ='lesson_adds'>Дата добавления: %s</p> <p class ='lesson_adds'>Автор: %s</p></td> </tr> <tr> <td>%s</td> </tr></table><br>", $myrow["id"], $myrow["title"],$myrow["date"],$myrow["author"],$myrow["description"]); } while ($myrow = mysql_fetch_array ($result)); ?> </td> </tr> </table></td> </tr> <?php include ("blogs/footer.php"); ?> </table> </body> </html> мне надо попасть на это HTML: <?php include ("blogs/bd.php"); /*Соединяемся с базой данных*/ if (isset($_GET['id'])) {$id =(int) $_GET['id'];} $result = mysql_query("SELECT * FROM lessons WHERE id='$id'",$db); $myrow = mysql_fetch_array($result); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta name="description" content="<?php echo $myrow['meta_d']; ?>"> <meta name="keywords" content="<?php echo $myrow['meta_k']; ?>"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <title><?php echo $myrow['title']; ?></title> <link href="style.css" rel="stylesheet" type="text/css"> </head> <body> <table width="690" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="main_border"> <?php include ("blogs/header.php"); ?> <tr> <td><table width="690" border="0" cellspacing="0" cellpadding="0"> <?php include ("blogs/lefttd.php"); ?> <td valign="top"> <p><?php echo $myrow['text']; ?> </p> </td> </tr> </table></td> </tr> <?php include ("blogs/footer.php"); ?> </table> </body> </html> по идее id подставляет автоматически начиная с 1, итак циклично, пока не закончится ссылки получаются такие: http://localhost/phpsite/view_lesson.php?=1 http://localhost/phpsite/view_lesson.php?=2 http://localhost/phpsite/view_lesson.php?=3 три вставки у меня в бд, три новости на странице они отлично отображаются но как перехожу в полное описание так ничего из этого: ["id"], ["title"],["date"],["author"],["description"] не показывает токль страничка, оформленная и все
Врунишка, сравни МОЙ пост и то что ты привел в пример конкретно "SELECT * FROM `lessons` WHERE id=".$id.";";
)))))) Существование переменно проверяется функцие isset() а пустота имебщейся переменной функцией is_empty(). Я не заметил в твоем примере пустой переменной.
А зачем ты от меня что-то добавляешь??? Может пойдешь в военкомате от меня подпись еще добавишь? вот тибе и фантазия ил знания не допускают, что следующая строка может быть $object = new Object($id); или id будет записано как и (int)id, ах да 5 символов лишних если я использую $id = $_GET['id'], это пример или например если юзер зарегистрирован, то подст его id, если нет то 0, это тоже пример все извини избавлю себя от переливания воды из пустого в порожне мда и так нафлудили
Прально, ибо пофик) Есть более благородной занятие чем обсуждать, кто бы что бы написал если бы.... сори за оффтоп