Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Открыть страницу через php

Сообщения:  [1-5] 

 
 автор: cheops   (01.10.2009 в 00:15)   письмо автору
 
   для: Tegis   (30.09.2009 в 23:54)
 

Да, конечно, вы можете, например, прервать PHP-вывод таким образом
<? $dec 1
if (
$dec 1)  

?>
<script language="JavaScript"> 
var closeafter = 10; // Время в секундах, через которое страница сама закроется 
doclose(); 
function doclose() { 
    if(closeafter == 10) { 
        window.close(); 
    } else { 
        closeafter--; 
        setTimeout("doclose()", 1000); 
    } 

</script> 
<?php

else 
{ echo();} 

?>

>Или можно связать переменные с js?
Просто подставляйте вместо JS-переменных - PHP-переменные, а JS-переменные передавайте через GET-параметры.

  Ответить  
 
 автор: Tegis   (30.09.2009 в 23:54)   письмо автору
 
   для: cheops   (30.09.2009 в 22:28)
 

Работает, спасибо.
А можно ли каким не будь оброзом вставить в php код js скрипт например

<? $dec 1;
if (
$dec 1
{
<
script language="JavaScript">
var 
closeafter 10// Время в секундах, через которое страница сама закроется
doclose();
function 
doclose() {
    if(
closeafter == 10) {
        
window.close();
    } else {
        
closeafter--;
        
setTimeout("doclose()"1000);
    }
}
</script>
}
else
{ echo();}

?>

В этом и вопрос.. можно ли.. и как?
Или можно связать переменные с js?

  Ответить  
 
 автор: Tegis   (30.09.2009 в 22:38)   письмо автору
 
   для: cheops   (30.09.2009 в 22:28)
 

так
<? 
if (isset($_GET['path'])) {$path $_GET['path'];}
if (isset(
$_GET['linck'])) {$linck $_GET['linck'];}
header("Content-Disposition: attachment; filename=\"$linck\"");   
header("Content-Type: application/octet-stream; name=\"$linck\"");   
header("Content-Length: ".filesize($path.$linck)); ?> 

этаж самая капризная функция из всех что я видел)))

щас попробую сделать так...
<?php
  $accept 
"Наверное тут как то нужно открыть download2.php."
if (isset($_GET['path'])) {$path $_GET['path'];}
if (isset(
$_GET['linck'])) {$linck $_GET['linck'];}
header("Content-Disposition: attachment; filename=\"$linck\"");   
header("Content-Type: application/octet-stream; name=\"$linck\"");   
header("Content-Length: ".filesize($path.$linck)); ?> 
;
?>[/code]

  Ответить  
 
 автор: cheops   (30.09.2009 в 22:28)   письмо автору
 
   для: Tegis   (30.09.2009 в 22:04)
 

Загрузка обязательно должна быть в новом окне? Может просто содержимое файла download2.php поместить после строки
<?php
  $accept 
"Наверное тут как то нужно открыть download2.php.";
?>

  Ответить  
 
 автор: Tegis   (30.09.2009 в 22:04)   письмо автору
 
 

Добрый вечер.
Помогите пожалуйста решить задачку...
Допустим у меня есть файл
akkt.php
В нём есть ссылка на файл
download.php
при нажатии на эту ссылку передаются параметры get
На странице
download.php
находится форма и она проверяет capcha. Но мне при нужно что бы при правильном вводе кода анти спам(capcha) открывалась новая страница и пошла закачка файла..
Как это сделать? Вот полны код.

///////////////////////////////////////// download.php


<? 

session_start
();

if(isset(
$_GET['submit'])) {
    
    if(!empty(
$_GET['code'])) {
    
        if(
$_GET['code'] == $_SESSION['rand_code']) {
        
            
// send email
            
$accept "Наверное тут как то нужно открыть download2.php.";
        
        } else {
        
            
$error "Вы ввели не верный код.";
        
        }
        
    } else {
    
        
$error "Вы не ввели код.";
    
    }

}


include(
'blocks/bd.php');
if (isset(
$_GET['title'])) {$title $_GET['title'];}
if (isset(
$_GET['executor'])) {$executor $_GET['executor'];} else{echo "<p>Этот файл не найден на сервере!</p>"; exit();}
if (isset(
$_GET['linck'])) {$linck $_GET['linck'];} else{echo "<p>Этот файл не найден на сервере!</p>"; exit();}
$result mysql_query("SELECT name_folder,name FROM executor WHERE id=$executor",$db);
if(
$result) {
$myrow mysql_fetch_array($result);
$executor2 $myrow['name_folder']; 
$path "gtr/".$executor2."/";

} else {}


?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title><?php echo "Скачать gtr ".$myrow['name']." - ".$title?></title>
<link href="style.css" rel="stylesheet" type="text/css">
<meta name="description" content="<?php echo "Скачать gtr ".$myrow['name']." - ".$title?>">
<meta name="keywords" content="<?php echo "Скачать gtr ".$myrow['name']." - ".$title?>">
</head><body>
<div id='safety'><div id='safety_top'><h3 class='safety'><?php echo "Скачать  ".$myrow['name']." - ".$title?></h3></div><div id='safety_booton'>
<?php if(!empty($error)) echo '<div class="error">'.$error.'</div>'?>
<?php 
if(!empty($accept)) echo '<div class="accept">'.$accept.'</div>'?>
  <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get" enctype="multipart/form-data">
    <label><img src="captcha.php"/><br>
    Введите код безопасности.
    <input type="text" name="code" id="safety_text_field"/>
    <input name="executor" type="hidden" value="<?= $executor ?>">
    <input name="title" type="hidden" value="<?= $title ?>">
    <input name="linck" type="hidden" value="<?= $linck ?>">
      </label><br><input type="submit" name="submit" value="Скачать" id="safety_button"/>
    </form>
  </div></div>
  
</body>
</html>


А вот что нужно открыть при правильном вводе кода:

/////////////////////download2.php

<? 
if (isset($_GET['path'])) {$path $_GET['path'];}
if (isset(
$_GET['linck'])) {$linck $_GET['linck'];}
header("Content-Disposition: attachment; filename=\"$linck\"");   
header("Content-Type: application/octet-stream; name=\"$linck\"");   
header("Content-Length: ".filesize($path.$linck)); ?>

  Ответить  

Сообщения:  [1-5] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования