Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中发送变量文件名需要从html_Php_Javascript_Html - Fatal编程技术网

在php中发送变量文件名需要从html

在php中发送变量文件名需要从html,php,javascript,html,Php,Javascript,Html,我有这个从html调用php文件 <div id="readings"> <?php require("readenglish.php"); ?> <?php require("readfrench.php"); ?> <?php require("readspanish.php"); ?> </div> 从php文件中获取日期很容易,但我必须发送客户端日期。我想在

我有这个从html调用php文件

    <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计算日期。如果我不用去阿贾克斯那就好了。这需要完全更改代码结构。

1/您不“从HTML调用PHP”,而是将PHP内容添加到文件中,当解析此PHP时,服务器将向客户端发送HTML:HTML是PHP过程的结果

2/获取客户端日期意味着,如果您的客户端将其日期更改为1990年,您将认为您收到了90年代的请求,而您的服务器的日期与它在其日志中记录的其他日期一致

3/如果您真的需要客户机的日期,您唯一的选择就是使用Ajax请求、获取URL中的参数或包含POST(或GET)数据的HTML表单;在所有这些情况下,您都需要使用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 } ?>

var d=新日期();
window.location.href+='?date='+d.toISOString();
如果您喜欢这种方式,您可以调整此解决方案以填充表单并使用JS动态提交所有表单,但它更适合于键入

解决方案B:使用Ajax检索和插入带有日期参数的readxxx.php,但您不想这样做(尽管我不明白为什么“需要完全更改代码结构”)

解决方案C(我的最爱):如果您使用的是PHP5.1+,您可以使用
$\u SERVER['REQUEST\u TIME']
,它将为您提供服务器启动客户端请求的时间(即服务器接收到的时间)

解决方案D:使用(i)JS构建的框架,日期作为src属性中的参数(这需要完全更改代码结构^^)


希望这能有所帮助。

答案很简单:饼干

您当然不能使用Javascript。可以使用1970年以来的毫秒吗?您正在尝试在html尚未呈现/发送到客户端时调用Javascript(客户端)。不可能。您可以在PHP文件中包含一些JavaScript来获取客户端日期。