Forum Webscript.Ru
Программирование => PHP => Тема начата: Художник от 10 Октября 2003, 15:33:44
-
Допишите если не трудно...
Не могу закончить уже месяц...
function out_news_sc()
{
$this->sql_query="SELECT n_id, n_name, n_lead, n_sc, n_com FROM tbl_news WHERE n_id=$id";
$this->sql_execute();
if($this->sql_err) return(11);
while(list($id, $name, $lead, $sc, $com )=mysql_fetch_row($this->sql_res))
{
$this->out_news_sc.="$name
\\n$lead\\n
$sc
\\n
$com
\\n";
}
return(0);
}
А вот и сообщение об ошибке:
Notice: Undefined variable: id in z:\\home\\localhost\\module\\out.class on line 47
Буду очень признателен
-
[OFF]угу, сейчас все бросят свои дела и будут дописывать неизвестно что, неизвестно кому, да ещё "дадом" (с) Сова[/OFF]
-
хмм... интересно что ты понял из того что я написал ?
я же не прошу тебя дописать весь проект =)
я лиш прошу помочь...
я просто не знаю как сделать чтоб он не выдовал ошибку...
вот и все...
ну если все таки тебе не трудно будет помочь мне...
при помощи этой функции я выбираю новость по id и выставляю его на сайт...
-
Зря ты стал учить РНР по курепинскому курсу.
Он ужасен.
и копаться в его ошибках - противное занятие.
вместо $id" напиши ".intval($_REQUEST[\'id\'])
в точности так, как написано!
-
RomikChef
Спасибо что откликнулся...
теперь выводит мне :
Notice: Undefined index: id in z:\\home\\localhost\\module\\out.class on line 49
хотя незнаю правильно я тебя понял я написал твою строчку как ты просил меня... может мне теперь придется менять все мои $id на твою строчку ?
разъясни..
зарание благодарен...
-
Да, меняем все взад :)
$id" возвращаешь на место, а в начале скрипта пишешь
if (isset($_REQUEST[\'id\'])) $id=intval($_REQUEST[\'id\']); else $id=0;
-
Так, уже становится интересней...
теперь у меня пустой экран... но все же это больше радует.. чем когда он ругается на меня =)
я отладил наш скрипт и он мне показал что наш $id=0 при любом исходе =)
или может я не так понял ?
-
что отладил - это молодец.
при любом - это при каком? ты передаешь ему id?
я не очень знаю, что такое этот курепинскрий скрипт, и как там передаются переменные, но учти, что внутри функций переменные остального скрипта не видны.
так что, если $id не видно внутри функции, надо ее как-то туда передать.
а если невидна, то ты ее просто не передаешь.
Да, а id - это чило или нет?!
-
Странно до меня дошло то что ты мне сказал... =) правдо не спервого раза... =)
ты прав эта переменная находится в другом скрипте(функции)...
как я понял у нас 2 пути...
1) Передать переменную как ты мне сказал..
2) По моим рассуждениям "чайника" объявить переменную $id глобальной..
только вот незнаю как это на деле сделать... =)(чайник)
а на счет $id да это число... (int) - если не ошибаюсь
-
сделай глобальной - так будет проще.
-
Для полного поянения:
вот функция которая отбирает из базы данных заголовок и лид новостей... и потом указывает ссылку на новости...(она работает безошибачно)
function out_news_list()
{
$this->sql_query="SELECT n_id, n_name, n_lead FROM tbl_news ORDER BY n_id DESC LIMIT 10";
$this->sql_execute();
if($this->sql_err) return(11);
while(list($id, $name, $lead)=mysql_fetch_row($this->sql_res))
{
$this->out_news_list.="$name$lead
\\n
";
}
return(0);
=) может теперь тебе будет легче разобратся
-
Пасибо ! если что буду знать к кому оброщатся...
удачи !!
-
Что то у меня ввобще не клеется может посмотриш мой исходник ?
-
усталя очень за сегодня.
Только с работы пришел.
Может быть, ты не будешь хвататься целиком за сайт, а удешь делать постепенно?
-
Доброе время суток...
так что мое предложение остается в силе ?
или ты занят ?
если что напиши мне на мыло... demu@bk.ru
или еще проще.. Icq: 277565876
-
Мое предложение тоже остается в силе - чтобы ты попробовал разбираться сам и задавать конкретные вопросы :-))))))
И вообще.
с какой стати я далжен копаться в курепинском коде?
иди к нему на сайт и там спрашивай.
-
не плохо получаятся =))
с какой стати я далжен копаться в курепинском коде?
иди к нему на сайт и там спрашивай...
_________________________________________________________
Хорошо вот тебе конкретный вопрос я ее объявляю глобальной в начле скрипта...
а она мне все равно выдает $id=0 =))
тут надеюсь ты мне поможеш ?
-
RomikChef, а
if (isset($_REQUEST[\'id\'])) $id=intval($_REQUEST[\'id\']); else $id=0;
это не есть переливание из пустого в порожнее?
Я так понял, что как не было id так и нету до сих пор, хоть её и глобальной сделали, а она ни хрена не isset.
-
Вот теперь я окончательно запутался =)
может сейчас все и прояснится...
if (isset($_REQUEST[\'id\'])) $id=intval($_REQUEST[\'id\']); else $id=0;
Почему у меня сра,атывает левая часть.... вернее else $id=0;
от сюды вывод что оператор If не срабатывает...
что теперь скажите господа асы PHP =)
-
RomikChef
поправишь, если я где-то неправ...
Mog.
Художник
Курепинский курс не читал и читать не собираюсь... но все таки:
попробуйте вот это написать русскими словами:
if (isset($_REQUEST[\'id\'])) $id=intval($_REQUEST[\'id\']); else $id=0;
Если элемент массива $_REQUEST с именем id определен (имеет значение), то тогда значение переменной $id равно целочисленному значению ячейки массива $_REQUEST с именем val
иначе
значение переменной $id равно нулю.
Художник
А теперь попробуй своему скрипту передать значение id. И пойми для чего предназначен массив $_REQUEST.
Для того чтобы ты не сильно напрягался это делать со своим скриптом, создай файл phpinfo.php
phpinfo();
?>
И вызови его вот так:
http://myserver/phpinfo.php
и вот так:
http://myserver/phpinfo.php?id=1234567890
В том, что тебе выведет твой скрипт в обоих случаях попробуй найти строчку:
_REQUEST["id"]
и почувствуй разницу.
Откуда ему взяться $_REQUEST[\'id\'], если ты его никак не передаешь?
-
Всем огромное спасибо за уаствие в моем долгом и нудном для меня раледования...
Еслиб я мог я бы щ всех собрал бы и занялся бы любовь с каждым из вас =))) (От радости)
наконец то до меня дошло как передовать переменные !!!
и извените если я что то лишнее сказал....
-
К стати ключевым моментом для меня было вот это строчка из
http://faq.phpclub.net/register_globals
Во всех руководствах по РНР написано, что даные, полученные из формы, или переданные по ссылке, вот так: script.php?peremennaya=znachenie&variable=value
автоматически становятся переменными PHP.
$znachenie и $variable
это для таких чайников как я !!!
-
К стати Ребята у меня возник вопрос как думаете не совершаю ли я ошибку сохраняя данные(текст) в самой базе... а не в файлах...
-
Художник:
всех собрал бы и занялся бы любовь с каждым
Эстет... лучше не надо....
Художник:
сохраняя данные(текст) в самой базе... а не в файлах
В некоторых рассылках, кажется даже в рассылке на php.net есть хорошие слова:
do not spoof anyone\'s topics, что по-русски означает, что-то типа:
не угоняйте чью-то тему.
Для непонятливых объясняю, ты в начале задал вопрос, тебе на него ответили (помогли решить проблему, пытались ответить). Теперь у тебя есть еще вопрос, так вот хорошей практикой для тебя будет не задавать все свои вопросы в одной ветке, ибо новым вопросом ты меняешь тему ветки (треда) и сам у себя угоняешь тему (spoof topic). Второе, что следует сделать перед тем как задать вопрос, подумать, а что если эту проблему уже кто-то решал и поискать решения других людей самому!!! форум предназначен не для того чтобы задавать ВСЕ свои вопросы, он предназначен для того, чтобы после многих часов попыток решить свою проблему, после прочтения многих статей и публикаций, после ночной отладки кода в случае, если ты все таки не нашел решения, задать нормальный осмысленный вопрос...
Если ты чего-то не знаешь, обратись к поиску по форуму, поиску в яндексе, поиску в гугле, поиску в phpfaq. Пойми что ты хочешь, если ты стоишь на пороге выбора, то попробуй найти все за и против обоих альтернатив!!! и ИМХО, прежде чем лезть в дебри, изучи основы. А то про базы данных начинаешь разговаривать, не зная, как скрипту данные передать. В конце концов, если все таки решил задать вопрос, то научись это правильно делать, для этого начать новый топик тебе не повредит.
[off]Извините за оффтопик...[/off]
-
Знаееш...я стобой полностью согласен... !