假设我只能在页面中使用html代码(称之为index.html)。
所以现在,我想用php检查一下(称之为userCheck.php)。
所以我希望html能够与php文件进行通信。
例如,像
当用户访问index.html时,它会检查userCheck.php,因此userCheck说是,然后可以继续查看它,否则它会重定向到userCheck.php。
是否有可能使用javascript或ajax?我是那两个人的新手。
谢谢
答案 0 :(得分:3)
你可以使用javascript从你的PHP中获取一些数据到你的html中。
使用jQuery的例子(把它放在你的html中):
<script type="text/javascript" charset="utf-8"> <!-- javascript in html -->
$(document).ready(function(){ // start here, if DOM is loaded
// request data from php script ...
// we expect the userCheck.php script to actually 'return' something,
// some data ...
$.get("userCheck.php", function(data){
alert("Data Loaded: " + data);
});
// or with some params to the php
// e.g. userCheck.php can handle username and favcolor parameters
$.get("userCheck.php",
{"username" : "lazy", "favcolor" : "FFFFFF" },
function(data){ alert("Data Loaded: " + data);
});
});
</script>
如果这对您来说都是全新的,请帮自己一个忙,阅读一些介绍性的书籍,这些书籍将为您提供有价值的见解 - some random book tips from O'Reilly,Google Tech Talk on jQuery
答案 1 :(得分:2)
您希望设置Apache Handler,以便使用php解析扩展名为.html的文件。通过位于您的Web根目录中的简单.htaccess
文件执行此操作:
AddHandler application/x-httpd-php .html
您现在可以在.html页面中使用PHP。不需要额外的AJAX hackery,也不需要处理NoScript用户或JS微弱的浏览器。
答案 2 :(得分:1)
如果您的服务器不允许php文件,那么您无法直接执行此操作。您可能希望将您的php文件放在另一台支持php的服务器上,然后使用ajax调用它。但是你必须确保你的php服务器提供商允许这样做。
答案 3 :(得分:0)
不确定您究竟是在追求什么,但是您可以将页面命名为index.php,将所有html写入其中,并在需要时将PHP代码插入<?php ...code... ?>
? PHP运行在服务器端,可以有条件地呈现不同的HTML,具体取决于您的因素。
答案 4 :(得分:0)
JavaScript可用于通过JSON调用HTML页面并与之通信。
这是一个使用JQuery和选择链插件根据前一个下拉列表的选择填充下拉框的示例。
HTML页面:
$('#selectbox1').selectChain({
target: $('#selectbox2'),
url: 'selectlist.php',
data: { ajax: true }
}).trigger('change');
selectlist.php
if (@$_REQUEST['ajax']) {
$json = array();
if ((isset($_REQUEST['selectbox1'])) && ($_REQUEST['selectbox1'] != '')){
$results = mysql_query('SELECT * FROM table WHERE id="'.$_REQUEST['selectbox1'].'"') or die ("Error: ".mysql_error());
while($row = mysql_fetch_array($results)) {
$json[] = '{"id" : "' . $row['id'] . '", "label" : "' . $row['name'] . '"}';
}
}
echo '[' . implode(',', $json) . ']';
}
答案 5 :(得分:0)
1)使用Notepad或TextEdit打开程序输出的HTML文件
2)选择全部并复制内容
3)创建一个名为yourPageNameTemplate.php的文件并粘贴到其中。假装看起来像这样:
<html>
<body>
<form method="post">
<input type="text" name="user_name" value="" />
<input type="submit" name="submit" value="submit" />
</form>
</body>
</html>
4)创建一个名为yourPageName.php的文件,并在其中添加如下内容:
<?php
if(isset($_POST['submit']) && isset($_POST['user_name']))
{
echo 'Thanks for submitting the form!';
}
else
{
include 'yourPageNameTemplate.php';
}
?>
这应该工作得很好。 现在,如果您想添加一些错误检查,向您的模板发送一条错误消息,我们可以非常简单地完成。
5)像这样编辑yourPageNameTemplate.php:
<html>
<body>
<?=$form_error_message?>
<form method="post">
<input type="text" name="user_name" value="<?=$form_user_name?>" />
<input type="submit" name="submit" value="submit" />
</form>
</body>
</html>
6)像这样编辑yourPageName.php:
<?php
$form_error_message = '';
$form_user_name = '';
if(isset($_POST['user_name']) && strlen($_POST['user_name']) < 5)
{
$form_error_message = 'User Name must be at least 5 characters long';
$form_user_name = $_POST['user_name'];
}
if(isset($_POST['submit']) && empty($form_error_message))
{
echo 'Thanks for submitting the form!';
//it would be better to include a full 'thank you' template here, instead of echoing.
}
else
{
include 'yourPageNameTemplate.php';
}
?>