2012-06-07 3 views
-1

У меня есть это, чтобы вызывать php-файлы из html.Отправка переменной filename в php требуется из html

<div id="readings"> 
     <?php require("readenglish.php"); ?> 
     <?php require("readfrench.php"); ?> 
     <?php require("readspanish.php"); ?> 

    </div> 

Было бы легко получить дату из файла php, но я должен отправить дату на стороне клиента. Я хотел бы добавить строку с датой на стороне клиента к имени файла.

<div id="readings" style="position: relative; top: -380px; width:100%; height:100%; overflow:hidden; font: 0.9em arial, sans-serif;"> 
     <?php require("readenglish.php?date="+datestring); ?> 
     <?php require("readfrench.php?date="+datestring); ?> 
     <?php require("readspanish.php?date="+datestring); ?> 

    </div> 

Это можно сделать? Мне нужно вычислить дату в javascript. Было бы хорошо, если бы мне не пришлось идти в аякс. Для этого потребуется полностью изменить структуру кода.

+0

Вы, конечно, не сможете это сделать с помощью Javascript. – nickb

+0

Может использоваться миллисекунд с 1970 года? –

+0

вы пытаетесь вызвать javascript (клиентскую) в то время, когда html даже не отображен/отправлен клиенту. Невозможно. –

ответ

1

1/ вы НЕ «вызов PHP от HTML», добавьте контент PHP в файл, и когда это PHP разбирается сервер будет посылать HTML клиенту: HTML является результатом PHP процесса

2/ Получение даты на стороне клиента означает, что если ваш клиент изменил свою дату на 1990 год, вы уверены, что получили запрос от 90-х годов, а дата вашего сервера соответствует другим датам, которые он написал в своих журналах.

3/ Если вам действительно нужна дата клиента, ваш единственный выбор - использовать Aj точечные запросы, параметры GET в URL-адресах или HTML-формы с данными POST (или GET); и во всех этих случаях вам нужно будет заполнить данные объектом даты Javascript

Решение A: имеет JS в начале вашей страницы, которая перезагружается с датой, если она не была предоставлена. Что-то вроде:

<?php if(empty($_REQUEST['date'])) { ?> 
    <script type='text/javascript'> 
    var d=new Date(); 
    window.location.href+='?date='+d.toISOString(); 
    </script> 
    <?php die('Reloading with parameters...'); ?> 
<?php } ?> 

Вы можете адаптировать это решение, чтобы заполнить форму и представить все это динамически с помощью JS, если вы предпочитаете этот путь, но это больше к типу ...

раствор Б: использование Ajax для извлечения и вставки readxxx.php с переданным аргументом даты, но вы не хотите (хотя я не понимаю, почему это «потребовало бы полного изменения структуры кода»)

решение C (мой любимый):, если вы используете PHP 5.1+, вы можете использовать $_SERVER['REQUEST_TIME'], это даст вам время сервера, на котором запущен запрос клиента (т. был получен сервером)

раствора D: использовать (I) кадры, построенные JS, с датой в качестве параметра в атрибуте SRC (, что потребует полного изменения структуры коды ^^)

Надеюсь это поможет.

Смежные вопросы