Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » PHP

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71

Открыть новую тему     Написать ответ в эту тему

ManderX



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
поставил PHP и APACHE.  
написал index.html:  
<html><body> <form action=test.php> Name: <input type=text name="name"><br>  
Year: <input type=text name="year"><br> <input type=submit value="ГОТОВО"> </form>  
</body></html>  
И test.php в том же каталоге:  
echo "$name i $year";  
выполняю, говорит, что переменыее undefined  
в чём трабла??? и ещё гдя взять extensions???




Цитата:
 
Внимание!
 
Эта тема будет закрыта, поэтому по конкретным вопросам по PHP
создаём новые темы, либо используем существующие (один вопрос — одна тема)

Кто-нибудь пытался что-то в этих сeмидесяти страницах найти?
 
В этой теме только отвечаем на оставшиеся без ответа вопросы...

 
 

Всего записей: 84 | Зарегистр. 11-06-2002 | Отправлено: 05:36 11-06-2002 | Исправлено: Svarga, 04:17 23-07-2003
milka



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
Спасибо.

Всего записей: 131 | Зарегистр. 26-07-2001 | Отправлено: 06:05 10-07-2003
woffer

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
djelektronik

Цитата:
нужно не пропустить а выводить содержимое в ячейку таблицы  

так без разницы

Код:
 
if ($line[0] == "#") {
 выводишь заголовок
}
else {  
echo'  
<tr>  
<td class=preis>'.$st.'</td>  
<td class=preis>'.$name.'</td>  
<td class=preis>'.$preis.',-</td>  
<td class=preis>'.$info.'</td>  
</tr>';  
}
 

 
ps или я чего то недопонял ?

Всего записей: 935 | Зарегистр. 11-10-2002 | Отправлено: 07:38 10-07-2003 | Исправлено: woffer, 08:12 10-07-2003
djelektronik

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
woffer не понял
 
еще раз говорю
те строки ето модели компутеров
одной фирмы
чеб каждый раз фирму не писать я ее пишу один раз
и помечаю знаком #
после нее идут сами модели
 
все ето надо выводить в таблицу
причем фирму надо выводить в одну ячейку сверху
 
фирм и моделей в файле будет несколько
дык вот я не могу понять как мне выхватывать строку начинающуюся на #
и еще потом остальное чеб работало

Всего записей: 2530 | Зарегистр. 28-06-2001 | Отправлено: 07:56 10-07-2003
woffer

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
djelektronik да понял, понял. Так я же тебе тут это самое и написал
 
<?  
$tmp = file("preis.txt");  
foreach ($tmp as $line)  
{  
  if ($line[0] == "#") {  // если строка начинается с #
   выводишь заголовок в ячейку сверху (html не пишу тебе виднее как выводить)
  }  
  else {   // если строка не начинается с # - выводим  
  list($st, $name, $preis, $info) = split(':', $line);  // парсим строку  
  // далее выводим данные  
echo'  
<tr>  
<td class=preis>'.$st.'</td>  
<td class=preis>'.$name.'</td>  
<td class=preis>'.$preis.',-</td>  
<td class=preis>'.$info.'</td>  
</tr>';  
  }  
}
?>
что конкретно не понятно ?  

Всего записей: 935 | Зарегистр. 11-10-2002 | Отправлено: 08:05 10-07-2003 | Исправлено: woffer, 08:11 10-07-2003
djelektronik

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
мда
чет я ступил тут
 
тока вот опять не пойму почему он так криво работает
 
вот че выводит
St&#252;ck Model Euro/St. Info  
 
#IBM      
 
2 TP600 P150MMX/48Mb/2.1Gb/11.3DSTN/AC/Fdd 155  
 
2 TP770x P166MMX/48Mb/3.0Gb/12.1TFT/AC/CD/FDD 165  
 
1 TP600 PII 266/64Mb/4.0Gb/13.3TFT/AC/CD/FDD 220  
 
#TOSHIBA      
 
2 TP770x PII300/64Mb/4.1-8.1Gb/14.1-13.7TFT/AC/CD/FDD 235  
 
5 TP600E PII300/64Mb/4-6.4Gb/13.3TFT/AC/CD/FDD 250  
 
2 TP570 PII300/64MB/4-6GB/12.1-13.3TFT/AC/CD/FDD 250  
 
19 TP600E PII366/64MB/6.4GB/13.3TFT/AC/CD/FDD 265  
 
8 TP570 PII366/64MB/6.4GB/13.3TFT/AC/CD/FDD 265  
 
выводит как надо вопщем тока вот #не могу убрать
 
 
 
вот че согласно мануалу
string substr ( string string, int start [, int length])
substr() returns the portion of string specified by the start and length parameters.
 
$rest = substr("abcdef", 1);    // returns "bcdef"
 
ну я че и делаю
foreach ($tmp as $line)
{
if (strstr($line[0],'#'))  
{
$firma = substr($line[0],1,strlen($line[0]));
$firma = '<tr><td>'.$firma.'</td></tr>';
}
list($st, $name, $preis, $info) = split(':', $line);
 
выкидываем первый символ согласно мануалу ..
 $firma = substr($line[0],1,strlen($line[0]));
 
и че не так?
 
Добавлено
ха ха
во ето он дает
работает тока если символ :
другие не берет ...
 
даже тут list($st, $name, $preis, $info) = split(':', $line); работает тока двоеточие
 
или ето такой кривой пхп под винды?
стока глюков уже нашел которых нету в юних версии
 
Добавлено
опять какой то глюк
 
не пойму почему так получаеца
 
вот база
#IBM
2:TP600 P150MMX/48Mb/2.1Gb/11.3DSTN/AC/Fdd:155:
2:TP770x P166MMX/48Mb/3.0Gb/12.1TFT/AC/CD/FDD:165:
1:TP600 PII 266/64Mb/4.0Gb/13.3TFT/AC/CD/FDD:220:      
#TOSHIBA
2:TP770x PII300/64Mb/4.1-8.1Gb/14.1-13.7TFT/AC/CD/FDD:235:
5:TP600E PII300/64Mb/4-6.4Gb/13.3TFT/AC/CD/FDD:250:
2:TP570 PII300/64MB/4-6GB/12.1-13.3TFT/AC/CD/FDD:250:
19:TP600E PII366/64MB/6.4GB/13.3TFT/AC/CD/FDD:265:
8:TP570 PII366/64MB/6.4GB/13.3TFT/AC/CD/FDD:265:
 
вот весь скрипт
 

Код:
<Table Width="100%" Border="0" CellSpacing="0" CellPadding="2">
 <Tr align="left" valign="middle">
 <Td width="5">St&uuml;ck</Td>
 <Td width="100%">Model</Td>
 <Td width="10">Euro/St.</Td>
 <Td width="50">Info</Td>
 </Tr>
<?
$tmp = file("preis.txt");
foreach ($tmp as $line)
{
if (strstr($line[0],"#"))  
{
$firma = substr($line[0],1,strlen($line[0]));
//$firma = substr($line[0],strpos($line[0],":")+1);
$firma = "<tr><td><b>".$firma."</b></td></tr>";
}
list($st, $name, $preis, $info) = split(':', $line);
 
 echo "$firma
<tr>
<td class=preis>$st</td>
<td class=preis>$name</td>
<td class=preis>$preis</td>
<td class=preis>$info</td>
</tr>";
}
?>
</Table>

 
а вот вывод в хтмл
 

Код:
 
<Table Width="100%" Border="0" CellSpacing="0" CellPadding="2">
 <Tr align="left" valign="middle">
 <Td width="5">St&uuml;ck</Td>
 <Td width="100%">Model</Td>
 <Td width="10">Euro/St.</Td>
 <Td width="50">Info</Td>
 </Tr>
<tr><td><b></b></td></tr>
<tr>
<td class=preis>#IBM
</td>
<td class=preis></td>
<td class=preis></td>
<td class=preis></td>
</tr><tr><td><b></b></td></tr>
<tr>
<td class=preis>2</td>
<td class=preis>TP600 P150MMX/48Mb/2.1Gb/11.3DSTN/AC/Fdd</td>
<td class=preis>155</td>
<td class=preis>
</td>
</tr><tr><td><b></b></td></tr>
<tr>
<td class=preis>2</td>
<td class=preis>TP770x P166MMX/48Mb/3.0Gb/12.1TFT/AC/CD/FDD</td>
<td class=preis>165</td>
<td class=preis>
</td>
</tr><tr><td><b></b></td></tr>
<tr>
<td class=preis>1</td>
<td class=preis>TP600 PII 266/64Mb/4.0Gb/13.3TFT/AC/CD/FDD</td>
<td class=preis>220</td>
<td class=preis>      
</td>
</tr><tr><td><b></b></td></tr>
<tr>
<td class=preis>#TOSHIBA
</td>
<td class=preis></td>
<td class=preis></td>
<td class=preis></td>
</tr><tr><td><b></b></td></tr>
<tr>
<td class=preis>2</td>
<td class=preis>TP770x PII300/64Mb/4.1-8.1Gb/14.1-13.7TFT/AC/CD/FDD</td>
<td class=preis>235</td>
<td class=preis>
</td>
</tr><tr><td><b></b></td></tr>
<tr>
<td class=preis>5</td>
<td class=preis>TP600E PII300/64Mb/4-6.4Gb/13.3TFT/AC/CD/FDD</td>
<td class=preis>250</td>
<td class=preis>
</td>
</tr><tr><td><b></b></td></tr>
<tr>
<td class=preis>2</td>
<td class=preis>TP570 PII300/64MB/4-6GB/12.1-13.3TFT/AC/CD/FDD</td>
<td class=preis>250</td>
<td class=preis>
</td>
</tr><tr><td><b></b></td></tr>
<tr>
<td class=preis>19</td>
<td class=preis>TP600E PII366/64MB/6.4GB/13.3TFT/AC/CD/FDD</td>
<td class=preis>265</td>
<td class=preis>
</td>
</tr><tr><td><b></b></td></tr>
<tr>
<td class=preis>8</td>
<td class=preis>TP570 PII366/64MB/6.4GB/13.3TFT/AC/CD/FDD</td>
<td class=preis>265</td>
<td class=preis>
</td>
</tr></Table>

 
почему строка </tr><tr><td><b></b></td></tr> пустая
а название фирмы ваще непонятно где и как вышло да еще в ячейке с класом...

Всего записей: 2530 | Зарегистр. 28-06-2001 | Отправлено: 13:12 10-07-2003
HMAN



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ASteel
В том то и дело, что задан краткий формат даты - а php конвертит в свой с "-" и временем

Всего записей: 162 | Зарегистр. 17-01-2003 | Отправлено: 14:06 10-07-2003
ASteel



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
djelektronik
Короче.
Все дело в перце (С)Nemiroff
Это работает.

Код:
 
<Table Width="100%" Border="0" CellSpacing="0" CellPadding="2">  
 <Tr align="left" valign="middle">  
 <Td width="5">St&uuml;ck</Td>  
 <Td width="100%">Model</Td>  
 <Td width="10">Euro/St.</Td>  
 <Td width="50">Info</Td>  
 </Tr>  
<?  
$tmp = file("preis.txt");
foreach ($tmp as $line)  
{  
if (strpos($line,"#")!==false)
{  
$firma = str_replace("#","",$line);
$firma = "<tr><td colspan=4><b>".$firma."</b></td></tr>";
echo $firma;
}
else
{
list($st, $name, $preis, $info) = split(':', $line);  
echo "
<tr>  
<td class=preis>$st</td>  
<td class=preis>$name</td>  
<td class=preis>$preis</td>  
<td class=preis>$info</td>  
</tr>";  
}
}  
?>  
</Table>
 

 
Почему, я сам не понял.
 
Добавлено
HMAN

Ты читаешь из БД дату.
А потом ПХП её куда-то конвертит?
 
По подробнее, плс.  
Формат ячейки какой? (date,datetime,timestamp) ?
как ты её читаешь из ПХП?
И что потом ты с ней вытворяешь?

----------
С сегодняшнего дня прошу считать меня растаможенным (C) Splin

Всего записей: 310 | Зарегистр. 29-01-2002 | Отправлено: 17:45 10-07-2003 | Исправлено: ASteel, 17:48 10-07-2003
burewar



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть у меня вопрос по пхп и прокси.
Я тут давненько спрашивал про коннект к http хосту, через http прокси. Я этим я разобрался.
Вот примерная картина:
Код:
$query = "GET http://localhost:66/admin/ HTTP/1.0\r\n". //Формируем заголовок, который "скушает" прокси
         "Host: localhost:66\r\n".
 "User-agent:PHP\r\n".
 "\r\n";
 
$fp = fsockopen(127.0.0.1, 81); //Открывыем соединение с прокси
fputs($fp,$query); //отдаём прокси "кушать" вышеприведённый заголовок
 
while (!feof($fp)) {
$s = fgets($fp,1024); //Выводим всю полученную муть
echo $s;
}

Тепрь вопрос. Весь код, который выше - прекрасно работает (если я случайно не допустил ошибку) с http хостом (http://localhost:66/admin/).
А мне требуется переделать этот код на общение с smtp сервером. Для меня всё оказывается очень запутанно.
 
Если я сформирую заголовок, как:
Код:
$query = "Host: localhost:25\r\n\r\n";
то прокси делает соединение с смтп сервером и получает от него
Цитата:
<220 qqq.org Simple Mail Transfer Service Ready
>HOST: localhost:25
<503 Error
Это мне кажется странно, но далее ещё страннее...
 
А если заголовок сформировать, как
Код:
$query = "helo localhost.net\r\nHost: localhost:25\r\n";
, прокси тоже спокойно соединяется с смтп и отправляет ему уже
Цитата:
<220 qqq.org Simple Mail Transfer Service Ready
>[b]HELO localhost.net
<250 qqq.org
, это уже ближе к общению прокси и смтп сервака, но как далее мне проверять ответы от смтп, через прокси.
Т.е. приведу пример правильного общения смтп сервера и клиента:
Цитата:
<220 qqq.org Simple Mail Transfer Service Ready
>HELO localhost.net
<250 qqq.org
>MAIL FROM: <admin@qqq.org>
<250 Ok
>RCPT TO: <user@qqq.org>
<250 Ok
>DATA
<354 send the mail data, end with .
Где "> ..." клиент, а "< ..." - сервер.

Всего записей: 207 | Зарегистр. 26-12-2001 | Отправлено: 17:58 10-07-2003 | Исправлено: burewar, 18:10 10-07-2003
woffer

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ASteel опередил
 
djelektronik

Цитата:
выкидываем первый символ согласно мануалу ..  
 $firma = substr($line[0],1,strlen($line[0]));

 
так надо
  $firma = substr($line,1,strlen($line)-1);  
или так
 $firma = substr($line,1);  
 
 

Всего записей: 935 | Зарегистр. 11-10-2002 | Отправлено: 18:00 10-07-2003 | Исправлено: woffer, 18:14 10-07-2003
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
burewar

Цитата:
Если я сформирую заголовок, как:  
Код:$query = "Host: localhost:25[b]\r\n\r\n";  
то прокси делает соединение с смтп сервером и получает от него  
Цитата:<220 qqq.org Simple Mail Transfer Service Ready  
>[b]HOST: localhost:25[b]  
<503 Error  
Это мне кажется странно, но далее ещё страннее...

Ничего странного нет.. Директива Host есть в http, но ее нет в smtp протоколе..
http://www.codenet.ru/webmast/smtp.php
Также не нужны для smtp никакие user-agent и тому подобное..


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 18:02 10-07-2003 | Исправлено: Cheery, 18:04 10-07-2003
burewar



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery, я об этом думал, но тогда можешь предложить пример работы с прокси и с смтп (поп3, прочие наглядные примеры)?
 
 
Добавлено

Цитата:
Также не нужны для smtp никакие user-agent и тому подобное..  

Я это знаю, но мне нужно обращение к смтп, через прокси...

Всего записей: 207 | Зарегистр. 26-12-2001 | Отправлено: 18:04 10-07-2003
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
burewar

Цитата:
 
Цитата:Также не нужны для smtp никакие user-agent и тому подобное..  
 
Я это знаю, но мне нужно обращение к смтп, через прокси...

И что ? Для прокси это тем более не нужно!!
 
Первоначально устанавливаешь коннект через проксю с smtp сервером.. А дальше передаешь только smtp комманды.. Также и для pop3..
 
Вот тебе пример, как работать с smtp
http://www.phpguru.org/smtp.html
Вот POP3
http://www.thewebmasters.net/php/POP3.phtml
Вот как с проксей..
http://www.phpbuilder.com/columns/benedetti20021219.php3
ЗЫ: только все, что там указано вот такого типа..

Цитата:
 
            $FPut .= "Proxy-Connection: Keep-Alive\r\n";
            $FPut .= "Pragma: no-cache\r\n";
            $FPut .= "Host: ".$URL."\r\n";
            $FPut .= "User-Agent: Proxy-Validator\r\n";
 

для SMTP и POP3 протокола не нужно использовать.
 
ЗЫЗЫ: и вот описание http запроса.. Чтобы видел разницу.
http://www.opennet.ru/docs/RUS/http/index.html

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 18:11 10-07-2003 | Исправлено: Cheery, 18:16 10-07-2003
burewar



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery, спасибо. Я думаю найду всё, что мне нужно
 
 
Добавлено
Простите меня если я такой тупой, но когда я урезал всё из примера (http://www.phpbuilder.com/columns/benedetti20021219.php3)
Но я получил практически тоже самое, что и у меня.

Код:
function Proxy()
{
$fp = fsockopen("127.0.0.1", 81, $errno, $errstr, $Timeout);
 
$FPut = ""; //Вот интересует меня, как сформировать заголовок к смтп??
$FPut .= "\r\n";
fputs($fp, $FPut);
fclose($fp);
}
Proxy();
 

 
Добавлено

Цитата:
ЗЫЗЫ: и вот описание http запроса.. Чтобы видел разницу.  
http://www.opennet.ru/docs/RUS/http/index.html  

 
Вот это я пропустил, видимо зря...

Всего записей: 207 | Зарегистр. 26-12-2001 | Отправлено: 18:14 10-07-2003
cycluk

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
moderator

Всего записей: 74 | Зарегистр. 07-07-2003 | Отправлено: 07:16 11-07-2003
M AIR J



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
сорри за ламерский вопрос, просто тока начал изучать пхп, как можно узнать скока прошло дней с определенной даты

----------
MJ

Всего записей: 215 | Зарегистр. 07-04-2003 | Отправлено: 13:07 11-07-2003
netAnn

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как UTF-8 прекодировать в win-1251 ?
utf8_decode($string) только в ISO Lation трансформирует, русский текст напроч теряеться (????? ??? вместо символов)

Всего записей: 9 | Зарегистр. 06-07-2003 | Отправлено: 16:40 11-07-2003
hamshen

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
netAnn

  1. напиши свой класс/функцию или этот
  2. используй mb_convert_encoding() (PHP 4 >= 4.0.6)
  3. используй iconv() (PHP 4 >= 4.0.5)



----------
Хорошие умирают молодыми, но плохие умирают уродливо.

Всего записей: 614 | Зарегистр. 22-04-2002 | Отправлено: 17:12 11-07-2003
ASteel



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
M AIR J
Вот пример из мана.

Код:
 
function date_diff($date1, $date2) {
 $s = strtotime($date2)-strtotime($date1);
 $d = intval($s/86400);  
 $s -= $d*86400;
 $h = intval($s/3600);
 $s -= $h*3600;
 $m = intval($s/60);  
 $s -= $m*60;
 return array("d"=>$d,"h"=>$h,"m"=>$m,"s"=>$s);
}
 


----------
С сегодняшнего дня прошу считать меня растаможенным (C) Splin

Всего записей: 310 | Зарегистр. 29-01-2002 | Отправлено: 17:37 11-07-2003
netAnn

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
hamshen
- Благодарю. А зачем тогда convert_cyr_characters, если ести эти функции?

Всего записей: 9 | Зарегистр. 06-07-2003 | Отправлено: 17:54 11-07-2003
hamshen

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
netAnn
convert_cyr_characters() оперирует кириллическими кодировками. А utf-8 - это нечто другое. К тому же она входит в состав ядра, а те две - в состав модулей.

----------
Хорошие умирают молодыми, но плохие умирают уродливо.

Всего записей: 614 | Зарегистр. 22-04-2002 | Отправлено: 18:07 11-07-2003
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71

Компьютерный форум Ru.Board » Интернет » Web-программирование » PHP


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru