HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 08.03.2009, 03:18
_SEREGA_
Banned
Регистрация: 28.03.2008
Сообщений: 138
С нами: 9537463

Репутация: 184
По умолчанию

Я так себе понимаю синтаксис но не врубаюсь куда пихать код, я хостинг на hut.ru зарегал

может посоветуете нормальный хостинг (бесплатный конечно) с полноценным пхп?
Должно было окошко с текстом появиться?

Последний раз редактировалось _SEREGA_; 08.03.2009 в 03:26..
 
Ответить с цитированием

  #2  
Старый 08.03.2009, 13:14
initab
Новичок
Регистрация: 25.01.2009
Сообщений: 4
С нами: 9101818

Репутация: 1
По умолчанию

Цитата:
Сообщение от _SEREGA_  
Я так себе понимаю синтаксис но не врубаюсь куда пихать код, я хостинг на hut.ru зарегал

может посоветуете нормальный хостинг (бесплатный конечно) с полноценным пхп?
Должно было окошко с текстом появиться?
Нет. Команда echo просто выведет в экран браузера данные, которые ты ей указал в параметрах. То есть результатом твоей программы будет:
Код:
<html>
<head>
<title>Тестируем PHP</title>
</head>
<body>
Hello, world!
</body>
</html>
Именно это прилетит в браузер (можешь посмотреть HTML код в браузере). Соответственно, ты увидишь только фразу "Hello, world!".

Насчет фришного хостинга: загугли "Бесплатный хостинг PHP". Из личного опыта: tut.su, ayola.net - бесплатные, но постят рекламу, а также следят за тем, что ты у них размещаешь.
Для разработки программ на php лучше подними у себя web-сервер с php. Это не так сложно. Зато получишь полный доступ ко всем настройкам php (очень важно при разработке программ) и не будешь мучаться с заливкой файлов.
 
Ответить с цитированием

  #3  
Старый 08.03.2009, 03:56
Failure
Участник форума
Регистрация: 21.09.2008
Сообщений: 148
С нами: 9282050

Репутация: 102
По умолчанию

да твой хостинг пхп скрипты держит
создаешь файл Index.php а не html
в нем пишешь
Код:
<?
phpinfo();
?>
 
Ответить с цитированием

  #4  
Старый 08.03.2009, 05:46
imajo.ati
Участник форума
Регистрация: 21.02.2008
Сообщений: 255
С нами: 9589849

Репутация: 177
По умолчанию

есть ли различия в работе функции stream_socket_accept
в версиях php под win и unix ?

я не могу найти, в чём проблема:
после первого принятого соединения в unix версии php, функция stream_socket_accept всегда возвращает false на новые соединения до тех пор, пока не закроется единственное первое.
но клиент показывает, что соединение установлено. значит функция устанавливает соединение но не возвращает handle.

наглядно так:
клиент 1 коннектится - его функция обрабатывает корректно
клиент 2 коннектится - функция устанавливает соединение но возвращает false и я не могу получить handle сокета этого нового юзера.
так же и с последующими.


в win всё норм работает - то есть принимает исправно все соединения после первого.


версия php 5.2.8 и там и там
 
Ответить с цитированием

  #5  
Старый 08.03.2009, 11:56
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
С нами: 9410786

Репутация: 2731


По умолчанию

Велемир, если капча не очень сложная - перебирают попиксельно.
 
Ответить с цитированием

  #6  
Старый 08.03.2009, 12:43
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
С нами: 9497186

Репутация: 1304


По умолчанию

imajo.ati Смотря как именно реализовано. Следующий код у меня нормально работает и на винде и на никсах
PHP код:
#!/usr/local/bin/php
<?php
$port 
9050;
$sock stream_socket_server('tcp://0.0.0.0:'.intval($port), $errno$errstr);
$clients = array($sock);

while (
true
{
 
$read $clients;
 if (
stream_select($read$write NULL$except NULL5) < 1)
 continue;

 if (
in_array($sock$read)) 
 {
  
$clients[] = $newsock stream_socket_accept($sock);
  
fwrite($newsock"Welcome to server\r\n");
  
$ip stream_socket_get_name($newsocktrue);
  echo 
"New client connected: {$ip}\n";
  
$key array_search($sock$read);
  unset(
$read[$key]);
 }

 foreach (
$read as $read_sock
 {
  
$data = @fgets($read_sock1024);
  if (
$data === false
  {
   
$key array_search($read_sock$clients);
   unset(
$clients[$key]);
   echo 
"client disconnected.\n";
   continue;
  }

  
$data trim($data);

  if (!empty(
$data)) {
   foreach (
$clients as $send_sock
   {
    if (
$send_sock == $sock || $send_sock == $read_sock)
    continue;

    
fwrite($send_sock$data."\r\n");
   }
  }
 } 
}
fclose($sock);
?>
 
Ответить с цитированием

  #7  
Старый 08.03.2009, 14:28
VaTTka
Познающий
Регистрация: 10.12.2008
Сообщений: 36
С нами: 9167200

Репутация: 47
По умолчанию

Знаю что тема заезженная, но на форуме по поиску не нашел. Как проверить поля на соответствие?
Тоесть чтоб в поле e-mail вводили мыло, и т.п. Чтобы поля не были пустыми. Вроде слышал что нужен AJAX скрипт. Подскажите пожалуйста.
п.с. насчет этого никто не поможет? http://forum.antichat.ru/showpost.php?p=1155867&postcount=9314
 
Ответить с цитированием

  #8  
Старый 08.03.2009, 15:00
initab
Новичок
Регистрация: 25.01.2009
Сообщений: 4
С нами: 9101818

Репутация: 1
По умолчанию

Цитата:
Сообщение от VaTTka  
Знаю что тема заезженная, но на форуме по поиску не нашел. Как проверить поля на соответствие?
Тоесть чтоб в поле e-mail вводили мыло, и т.п. Чтобы поля не были пустыми. Вроде слышал что нужен AJAX скрипт. Подскажите пожалуйста.
п.с. насчет этого никто не поможет? http://forum.antichat.ru/showpost.php?p=1155867&postcount=9314
Делается это вот так:
Код:
<HTML>
<head>
<SCRIPT LANGUAGE="JavaScript">
function checkIt() {

//Проверка поля mail формы form1
if (document.forms.form1.mail.value != "") {
} else {
alert("Не заполнено поле \"Мыло\" в форме. \n\nПожалуйста, введите мыло.");
document.forms.form1.mail.focus();
return false;
}

//Сюда можно вставить проверку других полей

return true;
}
</SCRIPT>

</head>
<body>
<form action="" method="GET" name="form1">
Мыло:  <input type="text" name="mail" value="" size="30" />
<input type="submit" value="Отправить" onclick="return checkIt()"/>
</form>
</body>
</HTML>
Поясню, как это работает:
При нажатии кнопки отправить вызывается функция ChekIt(), если она возвращает True, то данные отправляются, в противном случаи - нет.
В функции ChekIt() необходимо проверить каждое поле на "заполненность":
Код:
if (document.forms.form1.mail.value != "") {
} else {
alert("Не заполнено поле \"Мыло\" в форме. \n\nПожалуйста, введите мыло.");
document.forms.form1.mail.focus();
return false;
}
В том порядке, в котором ты хочешь, чтобы возвращались сообщения об ошибках, если не заполнено несколько полей. Этот кусок кода проверяет, заполнено ли поле mail, и, если нет, сообщает об ошибке, переводит курсор в это поле и возвращает False, чтобы форма не отправлялась на сервер. Для обработки других полей скопируй этот кусок кода столько раз, сколько необходимо. Только не забудь исправить имя поля (в ДВУХ местах) и поправить текст сообщения.
Ну и в конце функции, если все поля успешно заполнены, то возвращаем true.

Последний раз редактировалось initab; 08.03.2009 в 17:05..
 
Ответить с цитированием

  #9  
Старый 08.03.2009, 14:40
spamoney
Участник форума
Регистрация: 26.12.2006
Сообщений: 107
С нами: 10196899

Репутация: 27
По умолчанию

Здравствуйте, помогите правильно составить регулярку, что бы если строка более N-го количества символов (допустим более 40), то эта строка обрезается по последний пробел, пробывал сам, вот что получилось:

Код:
function cut ($str, $dlina='40') {
if (preg_match('#^([\s\S]{'.$dlina.'}[^\!\.\?]*)[\.\!\?]#i',strip_tags($str),$match)) $code = $match[1];
else if (preg_match('#^([\s\S]{'.$dlina.'}[^\ \&nbsp;]*)[\ \&nbsp;]#i',strip_tags($str),$match)) $code = $match[1];

return $code; 
    }


$text='Исследование программных продуктов, защит программного обеспечения, низкоуровневое программирование';
echo "Символов до: ".strlen(strip_tags($text))."<br />";
$text=cut($text);
echo "$text<br />";
echo "Символов после: ".strlen(strip_tags($text))."<br /><br /><br />";


$text='Исследование программных продуктов, защитатников';
echo "Символов до: ".strlen(strip_tags($text))."<br />";
$text=cut($text);
echo "$text<br />";
echo "Символов после: ".strlen(strip_tags($text))."<br />";
но функция cut(); работает только если текст более 40 символов и после этих 40 символов есть пробел, вот код выполнения:

Код:
Символов до: 99
Исследование программных продуктов, защит
Символов после: 41


Символов до: 48

Notice: Undefined variable: code in script.php on line 8

Символов после: 0
А нужно что бы было так:
Код:
Символов до: 99
Исследование программных продуктов, защит
Символов после: 41


Символов до: 48
Исследование программных продуктов
Символов после: 34
 
Ответить с цитированием

  #10  
Старый 08.03.2009, 15:55
VaTTka
Познающий
Регистрация: 10.12.2008
Сообщений: 36
С нами: 9167200

Репутация: 47
По умолчанию

initab,
со вторым полем проблема, не проверят поле password. Изменил все как положено..
Код:
if (document.forms.password.password.value != "") {
} else {
alert("Не заполнено поле \"Пароль\" в форме. \n\nПожалуйста, введите свой пароль."); // выводит сообщение, если поле Subject не заполнено
document.forms.password.password.focus();
return false;
}

Последний раз редактировалось VaTTka; 08.03.2009 в 16:07..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5421 21.04.2026 07:37
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.