我的用法是这样的首先是用户登录界面,用户输入争取的用户名后,写Session,然后替转到下一个页面(htm),在页面中这样调用一个用来检查Session中内容的PHPCheckLonin.php:
<script   language="javascript" src="checklogin.php">
</script>
但是在这用情况下PHP不执行,即使代码精简到只有两句话:
<?php
echo "test";
session_start();
?>
但是如果我通过在页面上添加一个按钮来到永PHP就没有问题:
<form name="form" method="post" action="checklogin.php">
<input name="login" type="submit" class="loginbotton" value=" 登  录" >
</form>
是我调用的时机不对吗?如果是要想实现我的页面加载前判断登录用户该怎么办?

解决方案 »

  1.   

    不明白php文件为什么还要写成<script language="javascript" src="checklogin.php">
    直接include("checklogin.ph"); 不行吗?
      

  2.   

    <script language="javascript" src="checklogin.php">
    </script>这样写也能执行php吗?要在php文件里面引用
    require "checklogin.php"
      

  3.   

    include("checklogin.ph"); 
    不是PHP中用的吗?我是在Htm文件中调用的Php文件,应该怎么写?
      

  4.   

    在PHP中引用我知道,但是问题是我现在要在Html文件中引用???
      

  5.   

    你一个静态页面包含PHP代码 web服务器应该是把这个页面当成静态来直接输出 它是不会执行你静态页面里面的php代码
      

  6.   

    在html里不能调用php文件。 为什么要在html里面调用呢? 可在php中调用然后把php伪静态 别人看到的就变成html了
      

  7.   


    有href,src之类的标签, 但不能是<script><style>这些, 也可以是<iframe>
      

  8.   

    我知道大家的意思是应该完全使用PHP,但是我本身就不懂网页编程,现在是没办法硬着头皮弄一点,我已经写了很多Html代码,现在只是想用一点点PHP,要是因为这个把所有代码都移植到PHP代价太大,而且我以不会啊!
      

  9.   

    如果要这样子引用 你用echo "document.write" 具体的 你看看下面的
    http://topic.csdn.net/u/20070430/13/360461bb-0ea1-42b3-9a1a-24eba83fa052.html
      

  10.   

    我这样用也是可以的:
    <script>
    function MyTest()
    {
    window.location.href = "checklogin.php";
    }
    </script>
    <body bgcolor="#008080" onload=MyTest();>
    但是这样用缺点是,如果是非法用户登录,他会先看到要浏览的页面然后才跳转到其它页面。我就是想让他看不到要浏览的页面才有此一问。
      

  11.   

    这个方法对我恐怕不行,我的网页上有好多代码,我总不能都用document.write来输出吧!
      

  12.   

    <?php
    echo "test";
    session_start();
    ?>--><?php
    session_start();
    echo "test";
    ?>
      

  13.   

    script language="javascript" src="checklogin.php">
    </script>这样用是可以的...!!!!!
    但是在这用情况下PHP不执行,即使代码精简到只有两句话:
    下面的错误了.
    <?php
    echo "test";//在session_start();之前不能有任何的输出!!
    session_start();
    ?>javascript调用是否成功,你可以在调用的PHP文件中:
    <?
    echo "alert('ok')";
    ?>
    试一下,页面运行后能弹出对话框则说明调用没有问题,是你PHP代码的问题
      

  14.   

    session_start();前是可以有输出的,我在上面也写了,用按钮提交的方式就可以执行。
      

  15.   

    把session_start()放到最前面试试,呵呵。引用php文件用include或者require,你那种写法是调用js的,不过你也可以把指向php页面的路径写道js中,你上面调用js就好了
      

  16.   

    echo "test";本来就是我为了测试后加上去的,有没有都不执行的。
      

  17.   

    测试了一下,使用script调用好像PHP文件不管用
      

  18.   

    没道理Html和PHP不能交互的啊!
      

  19.   

    两个办法. 直接 用户打开的页面判断后输出session_start();if($_SESSION['user_login'])
    {
     输出已经登录页面或者 跳转
    }
    else
    {
    输出未登录页面
    }还有就是一个静态页面里面用 <script src="check.php"></script>check.php 内容 和 上面代码相似 不过 里面输出换成if($_SESSION['login'])
    {
    echo 'document.write("你好,xxx")';
    }
    else
    {
    echo 'document.write("<a href=\'login.php\'>点击登录</a>");';
    }
      

  20.   

    两种方法我基本都试过了:
    1.直接把PHP代码写到body里,但不执行;
    2.把session_start();去掉可是根本读不到Session了。
      

  21.   

    现在的问题是PHP已经执行了,但是执行完成之后原来的HTML页面没有被加载:
    <?php
    session_start();
    if(isset($_SESSION['username']))
    {
    @mysql_connect("localhost", "root","test") //选择数据库之前需要先连接数据库服务器
    or die("数据库服务器连接失败");
    @mysql_select_db("user") //选择数据库user
    or die("数据库不存在或不可用");
    //获取Session
    $username = $_SESSION['username'];
    //执行SQL语句获得userflag的值
    $query = @mysql_query("select userflag from users "
    ."where username = '$username'")
    or die("SQL语句执行失败");
    $row = mysql_fetch_array($query);
    //判断当前数据库中的权限信息与Session中的信息比较,如果不同则更新Session的信息
    if($row['userflag'] != $_SESSION['userflag'])
    {
    $_SESSION['userflag'] = $row['userflag'];
    }
    //根据Session的值输出不同的欢迎信息 
    if($_SESSION['userflag'] == 1)
    {
    //echo "欢迎管理员".$_SESSION['username']."登录系统";
    }
    if($_SESSION['userflag'] == 0)
    {
    //echo "欢迎用户".$_SESSION['username']."登录系统";
    }
    //echo '<a href="logout.php" mce_href="logout.php">注销</a>';
    }
    else
    {
    echo "您没有权限访问本页面, 请与管理员联系!";
    }
    ?>
    谁知道,这段PHP执行完成后如何让HTML继续加载???
      

  22.   

    据我了解,HTML本身就是静态文件,不能再做验证,
    验证也是通过JS来进行的,所以楼主的这个用法有点不对
    要是想说让没有登陆用户不能直接查看这个页面的话,那还是做个验证页面吧
    也就是这个验证页面,只是验证,然后判断跳到哪个页面,而不能在显示内容的页面前再加上JS判断跳到别的页面
      

  23.   

    这用方法对付从登录界面开始的用户没问题,但是那种直接输入网址的就不行了,比如:
    http://192.168.1.1/test.html
    我需要禁止这种情况下的访问???
      

  24.   

    知道了,我用读写Cookie的方式对付用了,虽然不太好!
    谢谢各位了!
      

  25.   

    登陆验证不能放到<script>标签里的,使用html静态页不使用ajax是不能验证的。 你应该在所有页面include验证的php文件,在<?php >代码后打印或include相应的html。<script>标签里的php输出是相当于JS执行的。不会打印出HTML