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

Форум PHP

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

 

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

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

тема: Notice: Undefined variable: id in
 
 автор: savx   (29.05.2008 в 01:23)   письмо автору
 
 

<?php
$db=mysql_connect("localhost","roma","1234");
mysql_select_db("phpsite",$db);
if (isset($_GET['id'])) {$id = $_GET['id'];}
$result=mysql_query ("SELECT * FROM preim WHERE id='$id' ",$db);
$myrow=mysql_fetch_array($result);
?>

и в браузере выдаёт ошибку: Notice: Undefined variable: id in z:\home\localhost\www\phpsite\view_10.php on line 5 то есть в строке $result=mysql_query ("SELECT * FROM preim WHERE id='$id' ",$db); не определяется переменная.
Подскажите пожалуйста что изменить чтобы переменная определилась. Просто мой друг паралельно со мной делал тоже самое у себя и у него всё нормально. возможно у меня PHP устаревший? Всё выше написаное набирал в Adobe Dreamweaver CS3 а PHP и MySQL стоят старые может какойто конфликт? Подскажите как исправить или что добавить?

   
 
 автор: waptanet   (29.05.2008 в 02:17)   письмо автору
 
   для: savx   (29.05.2008 в 01:23)
 


<?php 
$db
=mysql_connect("localhost","roma","1234");
mysql_select_db("phpsite",$db);
if (!empty(
$_GET['id'])) {$id $_GET['id'];}
else 
$id 1;
$result=mysql_query ("SELECT * FROM preim WHERE id='$id' ",$db);
$myrow=mysql_fetch_array($result);
?>

   
 
 автор: Max Vasin   (29.05.2008 в 02:20)   письмо автору
 
   для: savx   (29.05.2008 в 01:23)
 

хм... а зачем условие if (isset($_GET['id'])) {$id = $_GET['id'];}?
а если не передалось id, что в него запичывается? может попробовать так @$id?;)
ЗЫ.
я обычно так делаю (привычка наверно%))
@$podrazdel=$_GET['p'];
$query = "SELECT count(*) FROM books WHERE `Podrazdel`='".$podrazdel."'"; 
$res = mysql_query($query) or die(mysql_error()); 


----
Regards, Max Vasin.

   
 
 автор: chexov   (29.05.2008 в 05:54)   письмо автору
 
   для: Max Vasin   (29.05.2008 в 02:20)
 

плохая привычка, это есть панацея, а не решение! @ сокрытие ошибок не есть хорошо ИМХО
Попробуйте так:

<?php 
$db
=mysql_connect("localhost","roma","1234");
mysql_select_db("phpsite",$db);
if (isset(
$_GET['id'])) 
  {
  
$result=mysql_query ("SELECT * FROM preim WHERE id='".$_GET['id']."' ",$db);
  
$myrow=mysql_fetch_array($result);
  }
else 
  {
  echo 
'Error! Empty ID';
  }
?>

   
 
 автор: savx   (29.05.2008 в 09:30)   письмо автору
 
   для: chexov   (29.05.2008 в 05:54)
 

Попробовал сделать как вы с казали теперь выскакивает Error! Empty ID значит ошибка остается

   
 
 автор: chexov   (29.05.2008 в 09:42)   письмо автору
 
   для: savx   (29.05.2008 в 09:30)
 

позвольте поинтересоваться, чем вам помочь если вы не передаете скрипту $_GET['id']? От сырости она не появится:) попробуйте передать скрипту параметр &id=1 в адресной строке

   
 
 автор: Zend72   (29.05.2008 в 20:33)   письмо автору
 
   для: savx   (29.05.2008 в 01:23)
 

Гыть

<?php 
 $db
=mysql_connect("localhost","roma","1234");
 
mysql_select_db("phpsite",$db);
 if (isset(
$_GET['id'])){$_GET['id'] = 1;}
 
$query "SELECT * FROM preim WHERE id=$_GET['id']";
 
$result=mysql_query ($query,$db);
 
$myrow=mysql_fetch_array($result);
?>

   
 
 автор: BinLaden   (30.05.2008 в 00:57)   письмо автору
 
   для: Zend72   (29.05.2008 в 20:33)
 

Ребята, а если вам всем сказать, что Вы тут место под SQL Injection протоптали, вы какие оправдания придумаете?:)

> if (isset($_GET['id'])){$_GET['id'] = 1;}
Юмор?

   
 
 автор: Zend72   (18.06.2008 в 15:15)   письмо автору
 
   для: BinLaden   (30.05.2008 в 00:57)
 

Так тут о безопасности речи и не шло...

   
 
 автор: mihdan   (18.06.2008 в 15:21)   письмо автору
 
   для: savx   (29.05.2008 в 01:23)
 

<?
$id 
= ((isset($_GET['id'])) && (preg_match('|[0-9]+|'$_GET['id']))) ? intval($_GET['id']) : null;
if (
$id) {
   
// тут весь остальной код
}
?>

   
Rambler's Top100
вверх

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