PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (11): [1] 2 3 4 5 6 7 8 9 ... » В конец
Найдено сообщений: 158
Agassi
Отправлено: 27 Февраля, 2009 - 19:52:57 • Тема: c++ и php • Форум: Программирование на PHP
Ответов: 7 Просмотров: 474
valenok пишет: Угадать в чём дело я не могу, проверять за тебя не собираюсь.
Yt Не надо гадать и не надо проверять,если дело имел с сокетами то сразу видна ошибка.
JustUserR пишет: Telnetом коннектились
ОНа сбой дает
JustUserR пишет: И файервол точно никого не блокирует?
Нет фаервола
(Добавление)
с++(сервер)
PHP:
скопировать код в буфер обмена
// sockets.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#pragma comment(lib, "ws2_32.lib")
int _tmain( int argc, _TCHAR* argv[ ] )
{
try
{
/*
инициализация библиотеки
*/
WSADATA wsadt;
int res = WSAStartup( MAKEWORD( 2, 2) , & wsadt ) ;
if ( res != 0 ) throw "Socket initializatoin failed" ;
/*
создание сокета
*/
SOCKET sckt;
sckt = socket( AF_INET, SOCK_DGRAM, IPPROTO_UDP ) ;
if ( sckt == INVALID_SOCKET ) throw "Socket creation failed" ;
/*
установить на сокете broadcast-flag
*/
BOOL flag = true ;
res
= setsockopt
( sckt
, SOL_SOCKET
, SO_BROADCAST
, ( char
* ) & flag
, sizeof ( BOOL
) ) ; if ( res != 0 ) throw "Set option error" ;
/*
привязка соката к адресу и порту
*/
sockaddr_in addrInfo;
addrInfo. sin_family = AF_INET;
addrInfo. sin_addr. s_addr = inet_addr( "127.0.0.1" ) ; //INADDR_BROADCAST;//inet_addr( "255.255.255.255" );
addrInfo. sin_port = htons( 3000 ) ;
/*
широковещательная передача данных
*/
char sendBuf[ ] = "LOL?" ;
while ( true )
{
int snd
= sendto
( sckt
, sendBuf
, sizeof ( sendBuf
) , 0
, ( sockaddr
* ) & addrInfo
, sizeof ( sockaddr_in
) ) ; snd = 0 ;
}
WSACleanup( ) ;
}
catch( char * err)
{
cout << err << endl;
WSACleanup( ) ;
}
return 0 ;
}
ПХп (клиент)
PHP:
скопировать код в буфер обмена
<?
/* Allow the script to hang around waiting for connections. */
/* Turn on implicit output flushing so we see what we're getting
* as it comes in. */
if ( ( $sock = socket_create ( AF_INET
, SOCK_DGRAM
, SOL_UDP
) ) === false ) { }
{
echo "невозможно подключится" ;
}
do {
if ( false === ( $buf = socket_read ( $sock , 3000
, PHP_NORMAL_READ
) ) ) {
break ;
}
echo "$buf \n " ;
} while ( true ) ;
?>
Проблема в этой строчке наверно,клиент сидит на чтени и не получает пакет от сервера
($sock = socket_create(AF_INET,SOCK_DGRAM,SOL_UDP))
Agassi
Отправлено: 26 Февраля, 2009 - 23:34:07 • Тема: c++ и php • Форум: Программирование на PHP
Ответов: 7 Просмотров: 474
valenok пишет: ужно сначала убедится что обе части работают
Проверял уже,работают.С++ код работает с своим клиентом и пхп тоже работает с своим сервером,ваше я код взял из книжки и тот и тот.Просто пхп чуток урезал и всё
Agassi
Отправлено: 26 Февраля, 2009 - 20:18:19 • Тема: c++ и php • Форум: Программирование на PHP
Ответов: 7 Просмотров: 474
Нужно соединить пхп и с++ через сокеты.
PHP:
скопировать код в буфер обмена
try
{
/*
инициализация библиотеки
*/
WSADATA wsadt;
int res = WSAStartup( MAKEWORD( 2, 2) , & wsadt ) ;
if ( res != 0 ) throw "Socket initializatoin failed" ;
/*
создание сокета
*/
SOCKET sckt;
sckt = socket( AF_INET, SOCK_DGRAM, IPPROTO_UDP ) ;
if ( sckt == INVALID_SOCKET ) throw "Socket creation failed" ;
/*
установить на сокете broadcast-flag
*/
BOOL flag = true ;
res
= setsockopt
( sckt
, SOL_SOCKET
, SO_BROADCAST
, ( char
* ) & flag
, sizeof ( BOOL
) ) ; if ( res != 0 ) throw "Set option error" ;
/*
привязка соката к адресу и порту
*/
sockaddr_in addrInfo;
addrInfo. sin_family = AF_INET;
addrInfo. sin_addr. s_addr = inet_addr( "127.0.0.1" ) ; //INADDR_BROADCAST;//inet_addr( "255.255.255.255" );
addrInfo. sin_port = htons( 3000 ) ;
/*
широковещательная передача данных
*/
char sendBuf[ ] = "LOL?" ;
while ( true )
{
int snd
= sendto
( sckt
, sendBuf
, sizeof ( sendBuf
) , 0
, ( sockaddr
* ) & addrInfo
, sizeof ( sockaddr_in
) ) ; snd = 0 ;
}
WSACleanup( ) ;
}
catch( char * err)
{
cout << err << endl;
WSACleanup( ) ;
}
return 0 ;
Не могу понять де имено ошибка??И ваше сокеты могут соединится между собойй??
Agassi
Отправлено: 02 Февраля, 2009 - 21:42:31 • Тема: Кодировка • Форум: HTML, Дизайн & CSS
Ответов: 0 Просмотров: 1098
Тут проблема с кодировкой
Создал страницу на php.Сохранил файл в Win. ANSI
поставил внутри
И кажись всё норм.В Опере чудесно открывается.
А в IE Mazila начинают матами показывать
Хотел спросить,как можна зделать,чтоб этого небыло и вообше сушествует автовыбор состороны сервера.ИЛи токо клиент может таккую штуку ставитть
МОжет с помошью джаваскрипта можна скрипт авто выбора кодировки зделать???
Agassi
Отправлено: 01 Февраля, 2009 - 22:56:56 • Тема: Скрипт входа по паролю • Форум: SQL и Архитектура БД
Ответов: 11 Просмотров: 56
PHP:
скопировать код в буфер обмена
<?PHP
define ( "FROM_LOGINOUT" , TRUE ) ;
require_once ( "config.php" ) ;
require_once ( "db.php" ) ;
$EnterMessage = "" ;
function quer( $query )
{
{
$_SESSION [ 'login' ] = $row -> Name ;
$_SESSION [ 'pass' ] = $row -> Pass ;
}
else
{ $Message = '<p align="center">Ошибка при вводе логина и пароля</p>' ;
echo $Message ;
}
}
function _EntryForm( $mess )
{
echo "<table align='center'><form name='entry' action='' method='post'><tr> <td align='right'> логин: </td> <td align='left'> <input name='login' type='text' value=''> </td></tr><tr> <td align='right'> пароль: </td> <td align='left'> <input name='password' type='password' value=''> </td></tr><tr> <td colspan='2' align='center'> <input type='submit' value='вход' id='submit'> </td></tr></table></form>" ;
}
if ( isset ( $_POST [ 'login' ] ) && isset ( $_POST [ 'password' ] ) ) {
$_POST [ 'password' ] = preg_replace ( "/" , "" , $_POST [ 'password' ] ) ;
$EnterMessage = quer( "select Name,Pass from user where Name like('" . $_POST [ 'login' ] . "') and Pass like('" . $_POST [ 'password' ] . "');" ) ;
}
if ( ( ! isset ( $_SESSION [ 'login' ] ) ) && ( ! isset ( $_SESSION [ 'pass' ] ) ) ) { _EntryForm( $EnterMessage ) ;
}
else
{
include "ading.php" ;
}
?>
?>
config.php
PHP:
скопировать код в буфер обмена
<?PHP
header ( "HTTP/1.0 404 Not Found" ) ; }
$dbhost = "localhost" ; // database host
$dbuser = "***" ; // your database username
$dbpass = "***; // your databse password
$dbname = "****** "; // name of database
?>
db.php
ПОпадаем сюда-после правильно ввода логина и пароля
(Добавление)
НАсчёт html сборку-это уже у каждоого свой
Agassi
Отправлено: 01 Февраля, 2009 - 22:33:52 • Тема: помогите новичку • Форум: Программирование на PHP
Ответов: 8 Просмотров: 345
ЗА это время,которые вы ждали ответа,лучше бы книжку открили и сразу бы понятно было как это зделать
Agassi
Отправлено: 31 Января, 2009 - 18:10:35 • Тема: Специфичечкий вывод данных из базы • Форум: SQL и Архитектура БД
Ответов: 12 Просмотров: 86
<?
@mysql_connect("localhost","root","root") or die('Database connection error');
@mysql_select_db("user") or die('Database error!');
@mysql_query ("set names=cp1251");
error_reporting(E_ALL);
$query1="select *from user";
$str="";$str_str="";
$last_v="";
$result1=mysql_query($query1);
while($row=mysql_fetch_array($result1))
{
if($last_v != $row['v'])
{
$r=rand(1, 2);
if($r===1)
$str_str.=$str;
else
$str_str=$str.$str_str;
$str='<br>'.$row['v'];
}
$str.=$row['o'];
$str.=$row['r'];
$last_v = $row['v'];
}
$r=rand(1, 2);
if($r===1)
$str_str.=$str;
else
$str_str=$str.$str_str;
echo $str_str;
?>
Вот тебе код который работает.А куда ты уже сам выбери.Изначально написал без проверки,думал сам добёшь,главное мысль тебе обяснил((,но оказалось мало
Страниц (11): [1] 2 3 4 5 6 7 8 9 ... » В конец
Powered by ExBB FM 1.0 RC1. InvisionExBB