за что все мои сообщения то удалили? от .:EnoT:. Тема php существует для вопросов по php, для вопросов по html есть другая тема. Для начала нужно смотреть название темы в которую пишешь. Все вопросы в личку. от Isis Enot, сообщения лучше не удалять, а переносить в соотв.тему
Назрел вопрос: Есть предположим 3 инпута типом радио. Обьявляю переменную с цифрой. И в зависимости от цифры должен быть выбран соответствующий инпут (т.е. checked="checked") пример: PHP: <?php $num = 2; ?> <input type="radio" name="name" value="1"/>Инпут 1 <input type="radio" name="name" value="2"/>Инпут 2 <input type="radio" name="name" value="3"/>Инпут 3 В данном примере инпут номер 2 должен быть выбран. Т.е. PHP: <input type="radio" name="name" value="1"/>Инпут 1 <input type="radio" name="name" value="2" checked="checked"/>Инпут 2 <input type="radio" name="name" value="3"/>Инпут 3 как реализовать? Полтора часа ломаю голову, не могу понять как сделать =\ пробовал так, но это извращенство: PHP: <?php $num = 2; for($i=0;$i<3;$i++) { $a = ''; if($i == $num) { $a .= 'checked="checked"'; } echo ' <input type="radio" name="name" value="'.$i.'" '.$a.'/>Инпут '.$i.'<br/>; } ?> но цикл в данном случае не катит. Точнее очень нежелателен.
А почему цикл нежелателен. Тебе все равно прийдется выводит <input в форму... поэтому циклом и выводи как написал...
Во первых, не checked=checked, а просто checked. если не хочешь циклами - вот те пример: $num = 2; $arr = array('1'=>'','2'=>'','3'=>''); $arr[$num]='checked'; echo "<input type='radio' name='name' value='1' {$arr[1]}/>Инпут 1"; echo "<input type='radio' name='name' value='2' {$arr[2]}/>Инпут 2"; echo "<input type='radio' name='name' value='3' {$arr[3]}/>Инпут 3";
Именно checked="checked", т.к. checked указывать без параметра неправилньо, да и валидатор ругатсья будет )) За код спасибо, буду пробовать
У меня такой вопрос: Предположим есть php скрипт, который выполняется очень долго. В процессе своей работы скрипт выводит некоторую информацию в браузер [echo]. Проблема в том, что при запуске скрипта окно браузера просто подвисает (либо информация выводится кусками), вне зависимости от того, запускаю ли я его на localhost'е или на сайте. Может быть существует какая-нибудь функция в php, чтобы в определенном месте программа синхронизировала свою работу с браузером. Или есть другое решение? Заранее спасибо.
Чтобы скрипт выводил сразу сообщения в браузер, нужно писать: PHP: ob_flush(); flush(); При этом ob_start не надо использовать.
Зависит от того, используется html или xhtml. В xhtml все булевы атрибуты должны быть записаны в развернутой форме, т.е. checked="checked", selected="selected", причем значение должно быть только checked|selected и т.д., т.е. если значение будет 1, то валидатор точно будет ругаться.
пытаюсь залогинится к tak.ru PHP: <?php $packet="POST /enter.php HTTP/1.0\r\n"; $packet.="Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/pdf, application/x-shockwave-flash, */*\r\n"; $packet.="Accept-Language: ru\r\n"; $packet.="Content-Type: application/x-www-form-urlencoded\r\n"; $packet.="Host: web.tak.ru\r\n"; $packet.="Content-Length: 52\r\n"; $packet.="Pragma: no-cache\r\n"; $packet.="Connection: Keep-Alive\r\n\r\n"; $packet.="login=freetest&password=ANTICHAT&Submit=++OK++&z=enter_form"; $ock=fsockopen("web.tak.ru",80); fputs($ock,$packet); $html=''; while (!feof($ock)) { $html.=fgets($ock); } fclose($ock); echo $html; ?> login-freetest pass-ANTICHAT В чем ошибка?
Точку забыл. <?php $packet.="POST /enter.php HTTP/1.0\r\n"; $packet.="Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/pdf, application/x-shockwave-flash, */*\r\n"; $packet.="Accept-Language: ru\r\n"; $packet.="Content-Type: application/x-www-form-urlencoded\r\n"; $packet.="Host: web.tak.ru\r\n"; $packet.="Content-Length: 52\r\n"; $packet.="Pragma: no-cache\r\n"; $packet.="Connection: Keep-Alive\r\n\r\n"; $packet.="login=freetest&password=ANTICHAT&Submit=++OK++&z=enter_form"; $ock=fsockopen("web.tak.ru",80); fputs($ock,$packet); $html=''; while (!feof($ock)) { $html.=fgets($ock); } fclose($ock); echo $html; ?>
Скрипт работает, смотри заголовки, которые возвращает сервер. А он возвращает редирект на map.php и в кукисы пишет PHPSESSID. То есть логин успешен, просто надо перейти на map.php, а не читать содержание страницы.