PHPвопросы по PHP
#4
Отправлено 07.09.2005, 17:56:17
может кому-нибудь интересно, обсудить PHP?
может есть у кого вопросы или есть что сказать...
просто странно что в этом форуме отстуствуют топы об PHP...
А что именно о ПХП вы хотите обсудить?
Если у кого нибудь появится вопрос он спросит ...
а так этот топик можно удалить
#7
Отправлено 16.09.2005, 18:20:51
на линки поставить, типа "a href=\"values.php?fc=id_раздела"
а запрос:
<?php
$r="select * from db where where Id = $fc" ;
$resu = mysql_query($r);
while ($row= mysql_fetch_array($resu))
{
$t_text=$row['text'];
echo ("".$t_text."");
}
?>
примерно разобрался, но чет все собрать не могу...
Короче три линка, и в зависимости от них, меняется текств таблице. Все это на одной странице
Возможно?
#8
Отправлено 16.09.2005, 20:31:11
Текст меняется в какой таблице? Почему вместо $_GET['fc'] или $_REQUEST['fc'] используешь $fc? Или это не весь кусок кода? В SQL-запросе все "опасные" данные надо закавычивать и перед этим проверять.хочу чтоб на одной странице в зависимости от линка делались запросы
на линки поставить, типа "a href=\"values.php?fc=id_раздела"
а запрос:
<?php
$r="select * from db where where Id = $fc" ;
$resu = mysql_query($r);
while ($row= mysql_fetch_array($resu))
{
$t_text=$row['text'];
echo ("".$t_text."");
}
?>
примерно разобрался, но чет все собрать не могу...
Короче три линка, и в зависимости от них, меняется текств таблице. Все это на одной странице
Возможно?
#9
Отправлено 16.09.2005, 23:09:20
Если моя интерпретация верна, следующее должно работать:
<a href="values.php?fc=1">Link 1</a> <a href="values.php?fc=2">Link 2</a> <a href="values.php?fc=3">Link 3</a> <?php mysql_connect('localhost','root',''); mysql_select_db('test_database'); $query = mysql_query("SELECT * FROM test_table WHERE id='".mysql_escape_string($_REQUEST['fc'])."'"); if ( $row=mysql_fetch_assoc($query) ) echo $row['text']; mysql_free_result($query); ?>
#10
Отправлено 18.09.2005, 13:18:54
Почему вместо $_GET['fc'] или $_REQUEST['fc'] используешь $fc?
патамушта лама
Если моя интерпретация верна, следующее должно работать:
<a href="values.php?fc=1">Link 1</a> <a href="values.php?fc=2">Link 2</a> <a href="values.php?fc=3">Link 3</a> <?php mysql_connect('localhost','root',''); mysql_select_db('test_database'); $query = mysql_query("SELECT * FROM test_table WHERE id='".mysql_escape_string($_REQUEST['fc'])."'"); if ( $row=mysql_fetch_assoc($query) ) echo $row['text']; mysql_free_result($query); ?>
Дядька, ты лучший!
У меня пару вопросов, можно?
WHERE id='".mysql_escape_string($_REQUEST['fc'])."'");Почему нельзя просто
where Id = $fcи для чего
"'"
#11
Отправлено 18.09.2005, 14:50:14
http://www.google.co...q=sql injectionУ меня пару вопросов, можно?
WHERE id='".mysql_escape_string($_REQUEST['fc'])."'");Почему нельзя простоwhere Id = $fcи для чего"'"
#14
Отправлено 19.09.2005, 22:42:50
Почему нельзя просто
where Id = $fc
Потому что "современные" рекоммендации по программированию PHP и настройки php.ini "по умолчанию" по причинам связанным с безопасностью предполагают настройку register_globals=Off поэтому параметры запроса как "глобальные" переменные не прописываются.
Помещаются они в "суперглобальных" $_GET или $_POST в зависимости от типа запроса или всё это вместе в $_REQUEST.
и для чего
"'"
Поскольку 'fc' передается с запросом, то есть хотя мы и ожидаем 1, 2 или 3, "недображелатели" могут "сфабриковать" запрос и отправить что-то другое. Это может быть не только цифра но и что-то другое. Поэтому чтобы получить корректный SQL надо поместить это значение между ' и '.
#16
Отправлено 06.10.2005, 12:30:55
такая тема:
<?php $query = mysql_query("SELECT * FROM news WHERE id= (...рандом...)"); if ( $row=mysql_fetch_assoc($query) ) echo $row['title']; echo $row['text']; mysql_free_result($query); ?>
не пололучается...
Монстры РНР хелп...плз...
#17
Отправлено 06.10.2005, 14:15:55
Скачай мануал по РНР.Хочу random, не получается....
такая тема:<?php $query = mysql_query("SELECT * FROM news WHERE id= (...рандом...)"); if ( $row=mysql_fetch_assoc($query) ) echo $row['title']; echo $row['text']; mysql_free_result($query); ?>
не пололучается...
Монстры РНР хелп...плз...
#19
Отправлено 06.10.2005, 16:01:43
Хочу random, не получается....
Один из способов:
<?php // Get news count $query = mysql_query("SELECT COUNT(*) FROM news"); $row = mysql_fetch_row($query); mysql_free_result($query); // Seed RND generator with the current time srand(time()); $offset = rand(0,$row[0]-1); $query = mysql_query("SELECT * FROM news LIMIT $offset,1"); if ( $row=mysql_fetch_assoc($query) ) { echo $row['title']; echo $row['text']; } mysql_free_result($query); ?>
#20
Отправлено 06.10.2005, 17:59:50
Вы используете 2 запроса. Здесь мне кажется одним можно вполне обойтись.Хочу random, не получается....
Один из способов:<?php // Get news count $query = mysql_query("SELECT COUNT(*) FROM news"); $row = mysql_fetch_row($query); mysql_free_result($query); // Seed RND generator with the current time srand(time()); $offset = rand(0,$row[0]-1); $query = mysql_query("SELECT * FROM news LIMIT $offset,1"); if ( $row=mysql_fetch_assoc($query) ) { echo $row['title']; echo $row['text']; } mysql_free_result($query); ?>
Количество пользователей, читающих эту тему: 2
пользователей: 0, неизвестных прохожих: 2, скрытых пользователей: 0