RE: Вопросы по PHP (для новичков)
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
RE: Вопросы по PHP (для новичков) - 2010-02-19 07:58:37.360000
|
|
|
Parano1d
Сообщений: 423
Оценки: 0
Присоединился: 2008-05-21 13:40:17.093333
|
настрой конфиг, чтобы все ошибки выводились, тогда будешь знать, где ошибся в синтаксисе. а то так у тебя никаких ошибок не выводилось
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-02-21 15:51:14.390000
|
|
|
Эллурн
Сообщений: 83
Оценки: 0
Присоединился: 2008-12-27 21:46:32.516666
|
Не думаю, что ошибка "поймалась" бы: я написал <php? …….. ?> 8| Так что php код не выполнялся просто))
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-02-21 18:00:36.720000
|
|
|
Эллурн
Сообщений: 83
Оценки: 0
Присоединился: 2008-12-27 21:46:32.516666
|
Подскажите, пожалуйста, как можно реализовать такую возможность: У меня на сайте есть новостной блок (выводятся в ячейки таблицы, элементы: время создания, заголовок новости, краткое описание, картинка новости). Как можно сделать, чтобы рядом с каждой новостью была ссылка типа "Читать далее" (просто не могу придумать, каким образом осуществить выборку из таблицы мускула). Новостной блок заполнятеся следующим образом: <?php
for ($i=0; $i<10; $i++) {
$link=mysql_connect('localhost', 'root');
$db=mysql_select_db('orinews', $link);
$query="SELECT max(id) FROM orinews.main";
$result=mysql_query($query);
$max=mysql_result($result, 0)-$i;
$query="SELECT date, name, short_maintence, image_id FROM orinews.main
WHERE id=".$max;
$result=mysql_query($query);
$new=mysql_fetch_row($result);
$news_date=$new[0];
$news_name=$new[1];
$news_short_maintance=$new[2];
$news_img_id=$new[3];
$query="SELECT img FROM orinews.images WHERE id=".$news_img_id;
$result=mysql_query($query);
if ($result != FALSE ) {
$new=mysql_fetch_row($result);
$news_img=$new[0];
print "<tr>";
print "<td align=left width=35%>";
Print"$news_date";
print "</td>";
print "<td align=right width=65%>";
print "$news_name";
print "</td>";
print "</tr>";
print "<tr><td height=20 colspan=2></td></tr>";
print "<tr>";
print "<td colspan=2>";
print "<img src=$img$news_img align=right>";
print "$news_short_maintance";
print "</td>";
print"</tr>";
print"<tr>";
print"<td height=30 colspan=2> </td></tr>";
print"<tr><td class=horisline colspan=2></td></tr>";
}
}
?> З. Ы. Все приведенные данные (за исключением картинки) хранятся в одной таблице (main). Кроме приведенных полей, в ней из необходимого здесь есть еще поле maintance, в котором хранится полный текст новости (который я хочу выводить вместо поля short_maintance по ссылке "читать далее")
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-02-22 10:11:57.043333
|
|
|
Papa James
Сообщений: 438
Оценки: 0
Присоединился: 2009-12-07 13:36:18.370000
|
выбирай поле id, сделай просто ссылку на страницу, где будет полная новость и передавай ей ид новости <a href="fullnews.php?id=1">Читать далее</a>
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-02-22 21:45:28.010000
|
|
|
Эллурн
Сообщений: 83
Оценки: 0
Присоединился: 2008-12-27 21:46:32.516666
|
Мда, самое все гениальное просто :D Спасибо большое, для меня реально по жизни большая проблема - увидеть то, что лежит перед носом)))
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-02-22 21:59:10
|
|
|
Эллурн
Сообщений: 83
Оценки: 0
Присоединился: 2008-12-27 21:46:32.516666
|
Еще вопрос: есть переменная, задаваемая в ссылке (четыре варианта): <a href=index.php?p=news&cat=all>- Все новости</a> <br><br>
<a href=index.php?p=news&cat=abc>- Новости abc</a> <br><br>
<a href=index.php?p=news&cat=def>- Новости def</a> <br><br>
<a href=index.php?p=news&cat=hij>- Новости hij</a> <br><br> Собственно, если ее не существует, то появляются эти ссылки
<?php
if(!$cat) {
?> Если же она существует (пользователь перешел по одной из упомянутых ссылок), то идет проверка:
if ($cat="all") $cat="123";
elseif($cat="abc") $cat="AND paths.path=('abc' OR 'main')";
elseif($cat='def') $cat="AND paths.path=('def' OR 'main')";
elseif($cat='hij') $cat="AND paths.path=('hij' OR 'main')"; В результате, при переходе по любой ссылке, $cat присваивается значение "123". Собственно, вопрос: почему при любом значении $cat, ей присваивается значение "123"?
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-02-23 13:25:24.250000
|
|
|
Эллурн
Сообщений: 83
Оценки: 0
Присоединился: 2008-12-27 21:46:32.516666
|
Очередной вопрос нуба =) Можно ли в качестве ответа на запрос мускулу вывести не одну строку, а массив строк? И, если да, то как с ними работать? Заранее огромное спасибо :)
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-02-23 17:21:14.070000
|
|
|
Papa James
Сообщений: 438
Оценки: 0
Присоединился: 2009-12-07 13:36:18.370000
|
Потому что у тебя всегда выполняется условие if ($cat="all") $cat="123"; quote:
Очередной вопрос нуба =) Можно ли в качестве ответа на запрос мускулу вывести не одну строку, а массив строк? И, если да, то как с ними работать? Заранее огромное спасибо Непонятно, что именно требуется. поконкретней объясни ситуацию
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-02-24 12:49:00.496666
|
|
|
Merovingian
Сообщений: 59
Оценки: 0
Присоединился: 2008-12-29 13:55:36.936666
|
Здравствуйте, подскажите мне пожалуйста: Нужно написать штуковину такую для работы с файлом. Т.е. осуществлять запись, презапись в файл. Допустим я хочу редактировать какой-то файл, эта штуковина мне файл этот открывает, читает его содержимое и выводит в textarea , я редактирую в ней, а потом нажимаю кнопочку "сохранить" и содержимое файла меняется и сохраняется. Подскажите как сделать. Никогда не работал с файлами, как-то обходился.
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-02-24 13:37:39.180000
|
|
|
Papa James
Сообщений: 438
Оценки: 0
Присоединился: 2009-12-07 13:36:18.370000
|
fopen(), считываешь содержимое в в переменную, fclose(), выводишь эту переменную внутри textarea. По кнопочке "Сохранить" - fopen(), записываешь содержимое textarea в файл, закрываешь файл. Ничего сложного. Инструкцию по работе с файлами найдешь в гугле
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-02-24 15:22:53.286666
|
|
|
Merovingian
Сообщений: 59
Оценки: 0
Присоединился: 2008-12-29 13:55:36.936666
|
<?
$file= fopen ("file.php", "r");
while (!feof($file))
{
$text = fgets ($file, 1024);
echo ($text)
}
?> Вот так? Ничего не выводит
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-02-24 15:51:07.350000
|
|
|
AdReNaL1Ne
Сообщений: 8027
Оценки: 350
Присоединился: 2005-09-11 06:38:05
|
Если file.php не на твоём сервере - то ничего и не будет выводиться, да и к тому же у тебя точки с запятой в выводе нет
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-02-24 15:53:26.480000
|
|
|
Merovingian
Сообщений: 59
Оценки: 0
Присоединился: 2008-12-29 13:55:36.936666
|
file.php лежит в той же папке что и файл с этим кодом.
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-02-24 16:19:34.006666
|
|
|
Merovingian
Сообщений: 59
Оценки: 0
Присоединился: 2008-12-29 13:55:36.936666
|
<?
$file= fopen ("http://site.ru/sitemap.xml", "r");
while (!feof($file))
{
$text = fgets ($file, 1024);
}
printf("
<form action='1.php' method='post'>
<textarea name='text' rows='30' cols='30'>%s</textarea>
<input type='submit' name='submit' />
</form>"
, $text);
?> Вот что получилось, если не в textarea , то выводит нормально через echo , а в тектовой области пишет </urlset> Может что-то не то с форматом вывода? Чет я не рубаю сам… наверное совсем заучился…(
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-02-24 16:40:56.340000
|
|
|
Merovingian
Сообщений: 59
Оценки: 0
Присоединился: 2008-12-29 13:55:36.936666
|
Или он последнюю строчку выводит… надо как-то в цикле сделать
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-02-24 17:17:43.320000
|
|
|
Merovingian
Сообщений: 59
Оценки: 0
Присоединился: 2008-12-29 13:55:36.936666
|
<form action='obrabotchik.php' method='post'>
<textarea name='text'>
<?
$file= fopen ("http://mysite.ru/sitemap.xml", "r");
while (!feof($file))
{
$text = fgets ($file, 1024);
echo $text;
}
?>
</textarea>
<br>
<input type='submit' name='submit' value="Обновить" />
</form> И теперь еще одын вопрос, как мне создать obrabotchik.php?
if(isset($_POST['text']))
{
$test=$_POST['text'];
if(empty($text))
{
unset($text);
exit("Облом!");
}
Здесь нужно как-то $text записать в файл sitemap.xml? для меня это пока что магия....
}
else
exit("Облом!");
?>
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-02-24 17:44:18.283333
|
|
|
Papa James
Сообщений: 438
Оценки: 0
Присоединился: 2009-12-07 13:36:18.370000
|
По первому коду - echo за телом цикла, переменной text присваивай значение так - $text .= fgets($file, 1024); Чтобы записать в файл открой его в режиме записи (w вместо r) и fwrite($file,$text)
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-02-24 17:50:21.460000
|
|
|
Merovingian
Сообщений: 59
Оценки: 0
Присоединился: 2008-12-29 13:55:36.936666
|
Спасибо большое , я и забыл про такую конструкцию $text .= fgets($file, 1024);
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-02-24 17:56:48.060000
|
|
|
Parano1d
Сообщений: 423
Оценки: 0
Присоединился: 2008-05-21 13:40:17.093333
|
в php есть такие замечательные функции как http://ru.php.net/manual/en/function.file-get-contents.php http://ru.php.net/manual/en/function.file-put-contents.php они делают то же самое, что и fopen() + fwrite()/fread() + fclose(). удобнее вызывать одну функцию вместо трёх. только в php5 эти функции
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-02-24 18:22:15.676666
|
|
|
Merovingian
Сообщений: 59
Оценки: 0
Присоединился: 2008-12-29 13:55:36.936666
|
ну я не знаю прям….. <form action='obrabotchik.php' method='post'>
<textarea name='text' rows='35' cols='80'>
<?
$file= fopen ("http://mysite.ru/sitemap.xml", "r");
while (!feof($file))
$text .= fgets($file, 1024);
echo $text;
?>
</textarea>
<br>
<input type='submit' name='submit' value="Обновить!"/>
</form> А вот obrabotchik.php: <?
if(isset($_POST['text']))
{
$text=$_POST['text'];
if(empty($text))
{
unset($text);
exit("<p>Облом!</p>");
}
$file = fopen ("http://mysite.ru/sitemap.xml", "w");
fwrite($file,$text);
}
else
exit("<p>Облом!</p>");
?> Не работает((( Сообщения exit'ов не пишет, но файл не переписывается.
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-02-24 19:18:50.766666
|
|
|
horiz
Сообщений: 892
Оценки: 0
Присоединился: 2008-11-03 18:33:09.006666
|
Что-то я не догнал. С каких пор это можно записывать файлы через web? http://mysite.ru/sitemap.xml Может, путь на сервере указать?:D
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-02-24 20:20:46.463333
|
|
|
Merovingian
Сообщений: 59
Оценки: 0
Присоединился: 2008-12-29 13:55:36.936666
|
а почему нельзя?
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-02-24 20:22:37.860000
|
|
|
Merovingian
Сообщений: 59
Оценки: 0
Присоединился: 2008-12-29 13:55:36.936666
|
ну ладно, попробую путь на сервере)) Я же с файлами никогда не работал вот и не знаю:D
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-02-24 20:27:32.183333
|
|
|
Merovingian
Сообщений: 59
Оценки: 0
Присоединился: 2008-12-29 13:55:36.936666
|
а он и так пашет, только не записывает, читает норм. Просвяти дурака)
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-02-25 00:54:29.796666
|
|
|
Merovingian
Сообщений: 59
Оценки: 0
Присоединился: 2008-12-29 13:55:36.936666
|
Ладно, спасибо, horiz уже разобрался.
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-03-05 14:19:22.783333
|
|
|
Samid
Сообщений: 926
Оценки: 0
Присоединился: 2004-06-02 04:21:11
|
Подскажите, как реализовать скрипт на php. Он должен считать html страничку и вернуть массив ссылок находящихся на ней.
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-03-05 14:29:40.070000
|
|
|
Sрam
Сообщений: 2863
Оценки: 372
Присоединился: 2009-01-16 15:23:43.276666
|
Непонял что ты хочешь?
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-03-05 14:31:34.870000
|
|
|
Pashkela
Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
|
<pre>
<?php
$a = get("http://forum.xakep.ru/default.aspx");
preg_match_all('#<a href="(.*)".*>.*</a>#U',$a, $res);
print_r ($res[1]);
function get($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208');
curl_setopt($ch, CURLOPT_COOKIE, "__utma=; __utmb=; __utmc=;__utmz=;");
$ss=curl_exec($ch);
curl_close($ch);
return $ss;
}
?>
</pre>
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-03-05 23:33:27.963333
|
|
|
Antivirus5
Сообщений: 1
Оценки: 0
Присоединился: 2010-03-05 23:29:16.040000
|
Люди ! сегодня зарегистрировался специально чтобы задать всего 1 вопрос , просьба ответить . по поводу темы - помощь в скрипте для накрутки wmlink . вот я сделал все как в той теме , даже в ручную перепечатал скрипт . но скрипт все ровно почемуто палит и переносит на главную страницу , вот сам скрипт - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <title>Новая страница</title> <script language="javascript"> function reload() {window.open ("http://click.wmlink.ru/UHUMAUZZWWRHNUAQFQMARZUWWRFU5Z","mywindow","status=1");} </script> </head> <body onclick="reload()"> </body> </html>
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-03-06 01:09:25.866666
|
|
|
AdReNaL1Ne
Сообщений: 8027
Оценки: 350
Присоединился: 2005-09-11 06:38:05
|
оО Саид Samid это ты?) Какие люди)
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-03-08 16:05:11.316666
|
|
|
Reiser
Сообщений: 15
Оценки: 0
Присоединился: 2010-03-06 18:24:13.120000
|
дайте скрипт защиты от скл иньекций и скриптик ограничении регистрации только 3 раза на mssql пожалуйста
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-03-08 17:21:20.336666
|
|
|
Sрam
Сообщений: 2863
Оценки: 372
Присоединился: 2009-01-16 15:23:43.276666
|
quote:
дайте скрипт защиты от скл иньекций http://ru.wikipedia.org/wiki/Внедрение_SQL-кода
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-03-08 21:28:38.836666
|
|
|
Эллурн
Сообщений: 83
Оценки: 0
Присоединился: 2008-12-27 21:46:32.516666
|
Пытаюсь написать запрос, который выберет мне из БД все записи, помеченные как "main" (поле main.path_id), у которых в поле main.expdate (тип DATE) дата больше текущей. Вот запрос, который я составил, результат по нему нулевой:
$query="SELECT main.name, main.maintance, images.img
FROM main, images
WHERE main.image_id=images.id AND main.path_id=
(SELECT paths.id FROM paths
WHERE paths.path='main')
AND main.expdate>'".date('d/m/Y').
"' ORDER BY main.id DESC";
print"$query";
$result=mysql_query($query);
do {
$news=mysql_fetch_row($result);
................
Подскажите, пожалуйста, что надо исправить? З. Ы. В БД, естественно, есть запись, которую он должен вывести.
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-03-08 21:40:16.610000
|
|
|
Sрam
Сообщений: 2863
Оценки: 372
Присоединился: 2009-01-16 15:23:43.276666
|
$query="SELECT * FROM tAbLeNaMeS WHERE main.image_id=images.id AND main.path_id= (SELECT paths.id FROM paths WHERE paths.path='main') AND main.expdate>'".date('d/m/Y'). "' ORDER BY main.id DESC"; Я конечно не асс в sql квире… но помойму 2-й SELECT уже лишний, попробуй сначала один запрос сделать, а потом на основе его другой…
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-03-08 21:47:00.286666
|
|
|
Эллурн
Сообщений: 83
Оценки: 0
Присоединился: 2008-12-27 21:46:32.516666
|
Второй запрос работает нормально вполне. У меня есть рабочий аналогичный запрос, где просто нет строчки AND main.expdate>'".date('d/m/Y'). Собственно, могу его показать:
$query="SELECT main.id, main.name, main.maintence, images.img
FROM orinews.main, orinews.images
WHERE main.image_id=images.id ".$cat.
"ORDER BY main.id DESC";
, где $cat= (к примеру) "AND main.path_id=(SELECT paths.id FROM paths
WHERE paths.path='site')"
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-03-10 20:14:48.030000
|
|
|
Merovingian
Сообщений: 59
Оценки: 0
Присоединился: 2008-12-29 13:55:36.936666
|
А что может произойти нехорошего если не закрыть соединение с БД?
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-03-12 10:59:26.330000
|
|
|
QunneD
Сообщений: 833
Оценки: 0
Присоединился: 2008-11-09 20:54:38.113333
|
quote:
А что может произойти нехорошего если не закрыть соединение с БД? Утечка информации?)
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-03-13 21:00:03.830000
|
|
|
tamegro
Сообщений: 3
Оценки: 0
Присоединился: 2010-02-21 23:53:51.540000
|
БД будет забита неиспользуемыми соединениями, и если нагрузка на ресурс достаточно серьезная, то у пользователей может не остаться свободных подключений.
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-03-18 17:39:51.870000
|
|
|
|WhAtS_oN!
Сообщений: 18
Оценки: 0
Присоединился: 2010-01-31 19:43:25.343333
|
Купил вот эту книгу http://www.ozon.ru/multimedia/books_covers/1001042135.jpg Прочитал все о html, css(нормально написано)…потом начал изучать php.Первые 10 страниц еще можно прочитать.Потом все больше и больше стало появлятся навязчевое чтение(всмысле вообще непонятно нафиг я это читаю).Книгу пришлось на время бросить и брать знания с php.su Самый дурацкий и смешной пример из книги: Автор пишет про метки(те, с помощью которых переменная может иметь большой обьем данных.К примеру: $a=<<<Metka1…Metka1).Сразу после этого, ну абсолютно не в тему, пишет: Если содержимое строки заключить в обратные кавычки, то это позволит запустить внешнюю программу и присвоить переменной результат ее работы: <html> <head> <title>Строки</title> </head> <body> <?php $X='dir'; echo "<textarea cols=70 rows=30>"; echo convert_cyr_string($X,"d","w");/* О кодировках он вообще пока что ничего не упоминал и соизволит рассказать о них только спустя 25 страниц */ echo "</textarea>"; ?> </body> </html> Данный код выведет содержимое папки C:\Apache2\htdocs.При выводе используется кодировка Dos(кодовая страница 866), поэтому русские буквы будут искажены.Чтобы избежать этого, мы преобразуем кодировку при помощи функции convert_cyr_string(). А вот теперь сиди и думай:че за кодировка?че еще за новая функция convert_cyr_string()?Причем тут какая-то кодовая страница 866? Вообщем о php очень криво написано.Хочу купить хорошую книгу:чтобы чтение было постепенное, а ни туда-сюда и желательно чтобы приводились примеры использования тех или иных функций/операторов и др.Подскажите пожалуйста какие-нибудь из личного опыта.
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-03-19 17:50:18.033333
|
|
|
|WhAtS_oN!
Сообщений: 18
Оценки: 0
Присоединился: 2010-01-31 19:43:25.343333
|
По-идее когда я введу имя должно высветиться "Hello, $name!", но когда ввожу остается таже самая форма: <?php if (isset($name)) {echo "Hello, $name!";} else {echo "<form><input type='text' name='name'><input type='submit' value='Ok'></form>";} ?> Какая может быть ошибка? P.s плз ответьте на вопрос на 31 странице
|
|
|
|
|