Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Помогите научиться программировать на PHP, с вашей помощью и заданий 
:(
    Опции темы
Redstuff
  Дата 2.7.2006, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Хочу изучить PHP, с Вашей помощью. Т.к. заданий нет, а придумать самому бывает очень сложно, а то никак навыки не закрепить. Или если есть у кого-нибудь какая-нибудь книга с заданиями выложите плиз.

Хотелось бы начать изучение с САМЫХ основ, чтобы закрепить материал, прочитанный из книг. (Переменные и типы данных; Выражения, операторы и управляющие конструкции) - вот с этого )).   

Это сообщение отредактировал(а) Redstuff - 2.7.2006, 20:39


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
PARROT
Дата 2.7.2006, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50





--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Redstuff
Дата 2.7.2006, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Был там )
Там сразу задания идут сложные, я хочу начинать с самого простого, с нуля, чтобы закрепить всё. Если есть такая возможность дайте задания, я сразу буду писать сдесь, а вы поправлять, если что-то не так. Заодно синтаксит выучу. 


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
HuKoLaU
Дата 3.7.2006, 01:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 30.4.2006
Где: Беларусь, г.Бобр уйск

Репутация: нет
Всего: нет



Там несильно сложные задания, да и что значит легкое, тебе будет это неинтерестно.
 Попробуй напиши запись и вывод сообщений.
  Форма: поле для ввода сообщения и кнопка отправить.
  Сообщение записывается в БД(или в файл, но лучше в БД).
  Потом выводятся все сообщения и форма.
   Простенькая гостевая smile  
PM MAIL ICQ   Вверх
Redstuff
Дата 3.7.2006, 20:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Пока сделал только, чтобы сохранял в файл.
guest.php
Код

<head>
  <title></title>
</head>
<body>
<form name="FormName" action="guest.php" method="get">
<input name="text" type="text" value="">
<input type="submit" value="Send" name="dogo" >
</form>
<?
$file = "guest.txt";
$fp = fopen($file, "a+");
@fwrite($fp, $_GET["text"]."\n");
fclose($fp);
$fh=fopen($file, "r");
while(!feof($fh)):
$line=fgets($fh, 4096);
$message= "<br> Сообщение: $line";
print $message;
endwhile;
fclose($fh);
?>
</body>
</html>
 


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
Redstuff
Дата 4.7.2006, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Не ужели все хорошо написал, что нагоняев не будет?
Жду тогда еще заданий. 


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
BobiKK
Дата 4.7.2006, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: 4
Всего: 16



Я, конечно, не профессионал, но выскажусь:
1) Данные я бы всё-таки передавал методом POST
2) Перед началом скрипта я бы проверял на какое-нибудь услвоие типа
Код

if (isset($_POST['text']) {
//ну и дальше скрипт добавления записей
}
// и потом скрипт отображения записей

3) Кажется, правильней писать $_GET['text'], a не $_GET["text"] 
PM MAIL   Вверх
Redstuff
Дата 4.7.2006, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Сам пример
guest.php
Код

<form name="FormName" action="guest.php" method="post">
<input name="text" type="text" value="">
<input type="submit" value="Send" name="dogo" >
</form>
<?php
  $file = "new2.txt";
  $fp = fopen($file, "a+");
  if(@$_POST['dogo']) {
    @fwrite($fp, $_POST['text']."\n");
    fclose($fp);
  }
  $fh=fopen($file, "r");
  while(!feof($fh)):
    $line=fgets($fh, 4096);
    if($line) {
      echo "Сообщение: ";
    }
    print $line."<br>";
  endwhile;
  fclose($fh);
?>
 


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
Platon
Дата 4.7.2006, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1801
Регистрация: 25.4.2006

Репутация: нет
Всего: 40



Redstuff, глянь на свою страничку. Прости, если что не так 
PM MAIL ICQ   Вверх
Redstuff
Дата 4.7.2006, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Platon, да понятное дело, не ставил я блокировку тегов и прочего, чем через формы можно наломать.
Ну на счет 2х дней я сомневаюсь, т.к. скриптов навалом в инете подобных ;)
Лучше бы поделу что-нибудь написал )) 


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
Platon
Дата 5.7.2006, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1801
Регистрация: 25.4.2006

Репутация: нет
Всего: 40



По делу? По делу если тока другому. Я сам не против научиться. Но хочу сразу начать с форума. И первой же преградой стала установка сервера. Локальный то понятно. А как ты сделал чтоб тебя добрая половина человечества видела? 
PM MAIL ICQ   Вверх
st1ng3r
Дата 5.7.2006, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 214
Регистрация: 4.5.2006
Где: Саратов

Репутация: 2
Всего: 11



Цитата

Хотелось бы начать изучение с САМЫХ основ,

Код

<?php
echo 'Hello World!'
?>

 smile 
А вообще качай учебники с гугла и сиди и читай, читай читай, но и думать тоже надо кстати! smile

Добавлено @ 10:23 
Цитата

А как ты сделал чтоб тебя добрая половина человечества видела?

Всмысле? smile  
--------------------
aka Crible  [.::My home page::.]-Мой FAQ на тему IRC!Я люблю BMX  
PM MAIL WWW ICQ   Вверх
Redstuff
Дата 5.7.2006, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



st1ng3r  Книг у меня МНОГО, вот токо ни в одной книжке нет заданий, которые надо было бы выполнить, только пару примеров. А как можно освоить нормально, прочитанный материал без выполнения различных заданий.

Самому трудно придумать и потом кто же проверит ). Поэтому и попросил выдавать задания. Я буду их делать и выкладывать, а ВЫ их проверять и давать советы.  

P.S. Довайте все-таки перейдем к заданиям. 

Это сообщение отредактировал(а) Redstuff - 5.7.2006, 11:24


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
Platon
Дата 5.7.2006, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1801
Регистрация: 25.4.2006

Репутация: нет
Всего: 40



Цитата(st1ng3r @  5.7.2006,  10:21 Найти цитируемый пост)
Добавлено @ 10:23 

Цитата

А как ты сделал чтоб тебя добрая половина человечества видела?



Всмысле?    


В том смысле как установить сервер у себя дома? Мне парили мозги что это обойдется в 10000-15000 руб. Но товарищ один сделал все бесплатно, щас он уехал и поделиться ценной инфой не может.

Добавлено @ 11:33 
А добрая половина человечества - это люди, сидящие в инете.

Добавлено @ 11:41 
Кстати чем тебе форум не нравится??? Отличная вещь!!! Многому учит! 
PM MAIL ICQ   Вверх
Redstuff
Дата 6.7.2006, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Будут еще задания?

И еще вопрос: чтобы запретить писать html код в формы нужно использовать регулярные выражения? 


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
BobiKK
Дата 6.7.2006, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: 4
Всего: 16



Цитата(Redstuff @ 6.7.2006,  10:37)
И еще вопрос: чтобы запретить писать html код в формы нужно использовать регулярные выражения?

Да, это было бы оптимальным решением.
Однако, на крайняк можно и использовать что-нибудь типа str_replace('', '<', $_POST['text'])

P.S. Задание (совсем простенькое):
Имеется три страницы. (1.php, 2.php, 3.php). Сайт многоязычный, скажем, на английском, немецком и русском. Данные для этих страниц берутся из соответсвующих файлов (1_rus.txt, 1_eng.txt и т.д.)
Надо сделать так, чтобы пользователь мог переключиться на другой язык, оставаясь в то же время на этой странице. Понятно объяснил? 
PM MAIL   Вверх
alligator
Дата 6.7.2006, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: 1
Всего: 1



Цитата(Redstuff @  6.7.2006,  11:37 Найти цитируемый пост)
И еще вопрос: чтобы запретить писать html код в формы нужно использовать регулярные выражения?  

Код

print htmlspecialchars("<a href="link"'>This is test</a>", ENT_QUOTES);
 
Для верности 
http://ru.php.net/manual/ru/function.htmlspecialchars.php 

Это сообщение отредактировал(а) alligator - 6.7.2006, 11:27
PM MAIL   Вверх
wil
Дата 6.7.2006, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 28.3.2006

Репутация: 1
Всего: 4



либо strip_tags() 
--------------------
 
PM MAIL WWW   Вверх
Redstuff
Дата 6.7.2006, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



BobiKK, задание не очень понятно (

Имеется ввиду такое:
1. Главный файл (он же шаблон), например index.php.
2. В него подключаем 3 файла: 1.php, 2.php, 3.php (require или include)
3. Условием проверяем какая ссылка нажата, т.е. какой файл надо подключать и из него брать переменные.
4. В каждом файле (*.php - забыл уточнить) содержаться переменные, для каждого языка (например для форм) и соответственно текстовые файлы куда будем писать данные.

Правильный ход мыслей?  

P.S. Хотя я вроде СОВСЕМ другое задание (см. выше) написал )  

Это сообщение отредактировал(а) Redstuff - 6.7.2006, 12:41


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
BobiKK
Дата 6.7.2006, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: 4
Всего: 16



В чем-то ход мыслей правильный.
Только вот в текстовых файлах не перменные хранятся, а просто шаблон, хтмл код. А 1.php, 2.php и т.д. - просто обработчики 
PM MAIL   Вверх
Redstuff
Дата 6.7.2006, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Пример

1.php
Код

<a href="1.php">РУССКИЙ</a> | <a href="2.php">АНГЛИЙСКИЙ</a>
<?php
require "rus.txt";
require "func.php";
?>


2.php
Код

<a href="1.php">RUSSIA</a> | <a href="2.php">ENGLISH</a>
<?php
require "eng.txt";
require "func.php";
?>


rus.txt (Аналогично eng.txt)
Код

<form name="FormName" action="1.php" method="post">
Сообщение: <input name="text" type="text" value=""><br>
<input type="submit" value="Отправить" name="send" >
</form>


func.php
Код

<?
$file = "guest.txt";
  $fp = fopen($file, "a+");
  if(@$_POST['send']) {
    @fwrite($fp, $_POST['text']."\n");
    fclose($fp);
  }
  $fh=fopen($file, "r");
  while(!feof($fh)):
    $line=fgets($fh, 4096);
    if($line) {
      echo date('H:m - m.d.y ')."<br>";
    }
    print $line."<br>";
  endwhile;
  fclose($fh);
?>


Правильно? Или имелось ввиду совсем другое? И есть ли у меня тут косяки (хотя думаю, что есть на 90%).

 


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
BobiKK
Дата 6.7.2006, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: 4
Всего: 16



Наверное, я несколько не так выразился. Если я нахожусь на странице 1.php и меняю язык, я по-прежнему должен находиться на странице 1.php 
PM MAIL   Вверх
Redstuff
Дата 6.7.2006, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



BobiKK, а зачем тогда 3 файла (в данном случае 2) php? 
Что в них находиться должно?
Я просто такого в инете даже не видел )
Если есть ссылка на сайт, который работает по такому принципу, выложи, чтобы я посмотрел работу хотя бы. 


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
BobiKK
Дата 6.7.2006, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: 4
Всего: 16



Да не обязательно много всяких 1.php. Достаточно одного. 
Ну а в качестве примера: www.estma.ee 
PM MAIL   Вверх
Platon
Дата 6.7.2006, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1801
Регистрация: 25.4.2006

Репутация: нет
Всего: 40



(поторопился) 

Это сообщение отредактировал(а) Platon - 6.7.2006, 15:06
PM MAIL ICQ   Вверх
Redstuff
Дата 6.7.2006, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



BobiKK , может какую-нибудь подсказочку, что использовать? 


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
BobiKK
Дата 6.7.2006, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: 4
Всего: 16



Да просто в адресе всегда передавать язык. А в скрипте уже проверять: if ($_GET['lang']) == 'rus' подключить то-то. if ($_GET['lang']) == 'eng' подключить другое  
PM MAIL   Вверх
Redstuff
Дата 6.7.2006, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Вот проблемка у меня как раз в том, что я не знаю как передать. 


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
BobiKK
Дата 6.7.2006, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: 4
Всего: 16



1.php?lang=rus
1.php?lang=eng и т.д. 
PM MAIL   Вверх
Redstuff
Дата 6.7.2006, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Пример

Код

<?
echo "<a href='1.php?lang=rus'>rus</a> | <a href='1.php?lang=eng'>eng</a>";
if ((@$_GET['lang']) == 'rus')
require "rus.txt";
else require "eng.txt";
require "func.php";
?>
 

Куда лучше сами ссылки пихать в php код или в html?
Код

-----
<a href='1.php?lang=rus'>rus</a> | <a href='1.php?lang=eng'>eng</a>
-----
<?php ----- ?>


И в данном случае POST не работает или это токо у меня на машине так настроено? 

Это сообщение отредактировал(а) Redstuff - 6.7.2006, 21:26


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
BobiKK
Дата 6.7.2006, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: 4
Всего: 16



Дык, передачи значение в ссылке и есть метод GET
По-поводу ссылок. А не лучше ли их формировать не статически а $_SERVER['PHP_SELF'] и $_SERVER['SERVER_NAME'] 
PM MAIL   Вверх
Redstuff
Дата 6.7.2006, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Код

$path=$_SERVER['PHP_SELF'];
echo "<a href='$path?lang=rus'>rus</a> | <a href='$path?lang=eng'>eng</a>";


Усек!

Если на этом задание выполнено, жду следующего. 


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
Redstuff
Дата 7.7.2006, 00:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



А что лучше использовать для вырезки html, php и другого кода, который можно передать через форму. strip_tags(), регулярные выражения или что-то еще?
 


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
BobiKK
Дата 7.7.2006, 08:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: 4
Всего: 16



Цитата(Redstuff @ 7.7.2006,  00:05)
А что лучше использовать для вырезки html, php и другого кода, который можно передать через форму. strip_tags(), регулярные выражения или что-то еще?

Смотря, какая задача стоит перед тобой. Если просто заменить теги в гостевой, подойдет htmlspecialchars(). Если надо проверить e-mail адрес или url, то только регулярки. А если работаешь с БД, то частенько надо будет пользоваться mysql_escape_string() 
PM MAIL   Вверх
Redstuff
Дата 7.7.2006, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Цитата(BobiKK @ 7.7.2006,  08:54)
Смотря, какая задача стоит перед тобой. Если просто заменить теги в гостевой, подойдет htmlspecialchars(). Если надо проверить e-mail адрес или url, то только регулярки. А если работаешь с БД, то частенько надо будет пользоваться mysql_escape_string()

Понятно.
Жду еще заданий  smile 


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
BobiKK
Дата 7.7.2006, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: 4
Всего: 16



Написать рекурсивную функцию для выставления прав 777 каталогам и 644 простым файлам. 
PM MAIL   Вверх
Redstuff
Дата 10.7.2006, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Код

function rule() {
  $dir=getcwd ()."\\dir";
  $dh  = opendir($dir);
  while (false !== ($filename = readdir($dh))) {
    $files[] = $filename;
    if (is_dir($filename)
      chmod($filename, 0777);
    else chmod($filename, 0644);
}
rule();


Выдает ошибку. Чо не так?

ОС: Win XP
PHP: 4.4.0.0
Сервер: IIS 


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
UzerPHp
Дата 10.7.2006, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 4.7.2006

Репутация: нет
Всего: нет



Брррр chmod использовать под Виндой извращение.... команда изначально заточена под Юникс.... 
есть возможность тести под Юниксовой машиной....
под Винды ограниченное использование... исполнение файла определяется расширением... и все файлы читаемые.... есть специльные режимы а 0777 не покатит( 
PM MAIL   Вверх
BobiKK
Дата 10.7.2006, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: 4
Всего: 16



Цитата(Redstuff @ 10.7.2006,  15:00)
Выдает ошибку. Чо не так?

В том, что нормальные хостинг-провайдеры мелкомягкой продукцией свои сервера не загрязняют.
Ставь unix 
PM MAIL   Вверх
Redstuff
Дата 10.7.2006, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



BobiKK, а так решение на твое задание правильно выполнил? Просто пока нет возможности поставить себе *nix систему. 


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
-=Ustas=-
Дата 10.7.2006, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



Цитата(Redstuff @  10.7.2006,  17:20 Найти цитируемый пост)
а так решение на твое задание правильно выполнил?

Неа, ты сервак этой функцией подвесишь и всё! 


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
BobiKK
Дата 10.7.2006, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: 4
Всего: 16



Нет, не подвесит. Там ведь рекурсии нету 
PM MAIL   Вверх
Redstuff
Дата 10.7.2006, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Код

if (is_dir($filename))

Ошибка была из-за скобки  smile 

Чтобы была рекурсия надо добавить:
Код

return $filename;

Да? 


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
BobiKK
Дата 10.7.2006, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: 4
Всего: 16



Нет. Надо внутри функции rule() вызвать её же 
PM MAIL   Вверх
Redstuff
Дата 10.7.2006, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Код

<?php
function rule() {
  $dir=getcwd ()."\\dir";
  $dh  = opendir($dir);
  while (false !== ($filename = readdir($dh))) {
    $files[] = $filename;
    if (is_dir($filename))
      chmod($filename, 0777);
    else chmod($filename, 0644);
  }
  rule();
}
?>


Так? 


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
BobiKK
Дата 10.7.2006, 23:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: 4
Всего: 16



Не-а.
Код

function rule($direcory)
{
$dh = opendir($directory);
while (false !== ($filename = readdir($dh)))
{
if ($filename != ".." && $filename != ".")
{
if (is_file($filename)) chmod($filename, 0644);
if (is_dir($filename))
{
chmod($filename, 0777);
rule($directory."/".$filename);
}
}
}
}
rule ("/tmp");
  

Это сообщение отредактировал(а) BobiKK - 10.7.2006, 23:25
PM MAIL   Вверх
st1ng3r
Дата 11.7.2006, 00:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 214
Регистрация: 4.5.2006
Где: Саратов

Репутация: 2
Всего: 11



Если автору топика интересно как же можно применить PHP то я думаю тут всё неплохо оговорено:
http://php.ru/manual/faq.using.html 
--------------------
aka Crible  [.::My home page::.]-Мой FAQ на тему IRC!Я люблю BMX  
PM MAIL WWW ICQ   Вверх
-=Ustas=-
Дата 11.7.2006, 09:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



Цитата(BobiKK @  10.7.2006,  20:05 Найти цитируемый пост)
Нет, не подвесит. Там ведь рекурсии нету  

Подвесил бы, если бы ошибку не допустил бы и поставил закрывающую скобку после вызова функции. Я это имел ввиду. 


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Redstuff
Дата 11.7.2006, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Готов учиться дальше  smile  


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
Mribo
  Дата 12.7.2006, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 9.7.2006

Репутация: нет
Всего: нет



Доброго времени суток. Тема мне интересна т.к. тоже учусь.
Есть проблема котору не могу никак решить.

Redstuff, Вам будет интересно в целях изучения. Ну, а у знающих прошу помощи.

Есть страница. На ней форма, к примеру два поля и кнопка. Есть другая страница. Там тоже самое. Нужно что бы при заполнении одной из них заполнялась другая тоже.  Еще не понятно.....

Код

<form action="1.php">
<input class=txt type=text name="name">
<input class=txt type=text name="surname">
<input class=but type=submit value="OK ">
</form>

Вторая форма такая же только скрипт иначе называется и лежит на другом сервере.
Нужно чтобы при заполении первой формы заполнялась вторая. Можно просто передать переменные скрипту $name и $surname и все выполнится, но хотелось бы решить вопрос иначе. Присвоить значения непосредственно компоненту формы и "программно" нажать OK второй формы. Т.е. программно заполнить поля value="Вася" value="Петров" ну чтобы текст был в поле ввода и нажать кнопку OK (программно)

Скажите возможно ли заполнять поля других страниц.

Спасибо.
 
PM MAIL   Вверх
Redstuff
Дата 21.7.2006, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Не могли бы дать какое-нибудь задание, чтобы в процессе его выполнения необходимо было сделат шаблонизатор. 


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
BobiKK
Дата 22.7.2006, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: 4
Всего: 16



Сделать шаблонизатор? В смысле написать свой парсер? 
PM MAIL   Вверх
Redstuff
Дата 22.7.2006, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Цитата(BobiKK @ 22.7.2006,  18:31)
Сделать шаблонизатор?


Надо сделать сайт, в котором дизайн одинаковый, разный токо контент.

Цитата(BobiKK @ 22.7.2006,  18:31)
В смысле написать свой парсер?


А что это? 


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
BobiKK
Дата 22.7.2006, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: 4
Всего: 16



Ну, вообще, писать собственный класс для работы с шаблонами - занятие не самое удачное. Конкретно в данном случае лучше испольовать готовые решения: FastTemplate, Smarty. Заодно и их код посмотреть, понять принцип работы 
PM MAIL   Вверх
Redstuff
Дата 22.7.2006, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Да мне ничего сложного собственно (это пока) не надо. Вот как я делаю:

template.php
Код

<html>
<head>
<title><?=$title?></title>
-------

<?echo $text;?>

-------
</html>


files.php
Код

<?php
$title="БЛАБЛА";
$text="КОНТЕНТ;";
include("template.php");
?>


Это не очень удобно (

Т.к. возникла потребность вставлять уже функции php, который обрабатывают что-то и только потом выводят в контент на страницах. 


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
w00w00
Дата 23.7.2006, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 19.7.2006
Где: Краснодар

Репутация: нет
Всего: нет



Redstuff Сначала надо выучить самые основы языка и тут же браться за более серьезные вещи,т.к в процессе написания будешь искать как сделать то или иное и знания тем самым будут накапливаться быстрее чем делать всякую мелочевку. Я конечно тоже начинающий и сразу взялся за гостевуху(кстати она еще не доделана и если надо могу дать исходники чтоб разобрался,посмотрел) и скажу чувствуется что потихоньку,но приходит опыт. Вобщем все вышесказанное ИМХО. 
PM MAIL ICQ   Вверх
Redstuff
Дата 23.7.2006, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



w00w00 , просто задания закончились (
Поэтому приходиться делать то, что необходимо. И еще, я начинал изучение во время создания сайта для фирмы.

Ладно хватит флеймить, помогите кто-нить лучше с шаблонами ) 


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
BobiKK
Дата 23.7.2006, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: 4
Всего: 16



Redstuff, то, что ты ту привел в пример, это не шаблоны.
Почитай на  phpclub.ru про шаблоны. 
PM MAIL   Вверх
Redstuff
Дата 25.7.2006, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



index.php?content=send
безопастны ли такие ссылки? я где-то читал, что можно подменить своей страницей. 


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
BobiKK
Дата 25.7.2006, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: 4
Всего: 16



В смысле подменить?
Если у тебя в скрипте тупо стоит include($_GET['content']); то можно подключить что угодно 
PM MAIL   Вверх
Redstuff
Дата 25.7.2006, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



include @$_GET['content'].".php"
ага, как это обойти? хотя токо что делал так:
http://site1/index.php?content=send
менял на:
http://site1/index.php?content=http://site2/hack.php
и ничего не выводило 


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
BobiKK
Дата 25.7.2006, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: 4
Всего: 16



1) Если ты вставлял именно такое значение в content, то инклюдился бы у тебя http://site2/hack.php.php smile
2) В php.ini возможно запрещено использование url в include, fopen и т.д.

В любом случае, включи вывод всех ошибок и посмотри, на что интерпретатор ругается.

Как избежать подключения нежелательного:
1) Не использовать в include переменные. Попытаться как-то это обходить
2) Проверять на допустимое значение. Скажем,
Код

if (file_exists("modules/".$_GET['content'])) include ("modules/".$_GET['content']);
  

Это сообщение отредактировал(а) BobiKK - 25.7.2006, 23:00
PM MAIL   Вверх
Redstuff
Дата 25.7.2006, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Цитата

1) Если ты вставлял именно такое значение в content, то инклюдился бы у тебя http://site2/hack.php.php 

да, без расширения работает.

Ну допустим переменные в некоторых страницах уберу, а как тогда обработать функцию?
У меня есть пару страниц, где выводиться много картинок, и все это делает такая функция:
Код

$dir=getcwd ()."/dir/";
$dh  = opendir($dir);
while (false !== ($filename = readdir($dh))) {
  $files[] = $filename;
  $a=basename($filename);
  if($a!='.' && $a!='..') {
    echo "<img src=dir/$a border=0><br>";
  }
}
 


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
BobiKK
Дата 25.7.2006, 23:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: 4
Всего: 16



А где в этой фунцкии переменные из  адресной строки? 
PM MAIL   Вверх
Redstuff
Дата 25.7.2006, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Значит такое можно инклюдить?

Добавлено @ 23:55 
Приведуы страниц:

index.php
Код

------
<tr>
<td><a class="mainlevel" href="index.php?content=file">Картинки</a></td>
</tr>

<tr>
<td><a class="mainlevel" href="index.php?content=rule">Правила</a></td>
</tr>

<tr>
<td><a class="mainlevel" href="index.php?content=contact">Контакты</a></td>
</tr>
------
<tr>
<td>
  <?
      @ include $_GET['content'].".php";
      echo @$text;
  ?>
</td>
</tr>
------


rule.php
Код

html текст, или просто текст...


file.php
Код

<?php
$dir=getcwd ()."/dir/";
$dh  = opendir($dir);
while (false !== ($filename = readdir($dh))) {
   $files[] = $filename;
   $a=basename($filename);
  if($a!='.' && $a!='..') {
  echo "<img src=dir/$a border=0><br>";
  }
}
?>
    

Это сообщение отредактировал(а) Redstuff - 26.7.2006, 00:00


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
BobiKK
Дата 26.7.2006, 08:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: 4
Всего: 16



Ну прежде, чем инклюдить, проверить, если такой файл. 
PM MAIL   Вверх
Закрытая темаСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.2004 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.