
08.03.2009, 03:18
|
|
Banned
Регистрация: 28.03.2008
Сообщений: 138
С нами:
9537463
Репутация:
184
|
|
Я так себе понимаю синтаксис но не врубаюсь куда пихать код, я хостинг на hut.ru зарегал
может посоветуете нормальный хостинг (бесплатный конечно) с полноценным пхп?
Должно было окошко с текстом появиться?
Последний раз редактировалось _SEREGA_; 08.03.2009 в 03:26..
|
|
|

08.03.2009, 13:14
|
|
Новичок
Регистрация: 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 (очень важно при разработке программ) и не будешь мучаться с заливкой файлов.
|
|
|

08.03.2009, 03:56
|
|
Участник форума
Регистрация: 21.09.2008
Сообщений: 148
С нами:
9282050
Репутация:
102
|
|
да твой хостинг пхп скрипты держит
создаешь файл Index. php а не html
в нем пишешь
|
|
|

08.03.2009, 05:46
|
|
Участник форума
Регистрация: 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 и там и там
|
|
|

08.03.2009, 11:56
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
С нами:
9410786
Репутация:
2731
|
|
Велемир, если капча не очень сложная - перебирают попиксельно.
|
|
|

08.03.2009, 12:43
|
|
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 = NULL, 5) < 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($newsock, true);
echo "New client connected: {$ip}\n";
$key = array_search($sock, $read);
unset($read[$key]);
}
foreach ($read as $read_sock)
{
$data = @fgets($read_sock, 1024);
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);
?>
|
|
|

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

08.03.2009, 15:00
|
|
Новичок
Регистрация: 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..
|
|
|

08.03.2009, 14:40
|
|
Участник форума
Регистрация: 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.'}[^\ \ ]*)[\ \ ]#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
|
|
|

08.03.2009, 15:55
|
|
Познающий
Регистрация: 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..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|