最近公司要求改网站,是台湾那边的.一个用php开发的网站.要求功能是别人在下载我的附件时候要求填写个人信息,类似注册的,但是不用注册,就填写信息而已.然后把信息发送到指定的邮箱.
我想到的是用session保存状态,就是说填写一次后其他都不用再填写了.然后关了网页再进入就要重新填写.
现在碰到2个问题,session保存不了状态,我试过在网页开头加session_start()(是这么拼写的吧.)和不加,都无法保存登陆状态,要么就是加了session_start后session一直存在,要么就是一直无法保存session..
还有就是发送邮件的功能.我在本地测试能连接上对方的邮件服务器,发送了邮件出来,然后我把功能加到网站上去就不行了.发送不了邮件.然后这个网站本来就有邮件功能的.可以发送的.我联系网站的设计人员他们说邮件功能是好的.我就想是不是防火墙设置的白名单问题?让网站无法连接上我们这边的邮件服务器来发邮件.
session对方也说他们的session是可以使用的.但是网站上没有使用到session,就无法知道到底能不能用.
本人php就学了1个礼拜的样子,还不是很了解,本地功能都已经实现了.但移到网站就不行,请哪位大神来教教我
Q409551830 没多少分了.先加上吧.

解决方案 »

  1.   

    《细说PHP》一书里讲session的部分貌似有这个例子  你看下
      

  2.   

     session 要记录他的session_id 
    //session 结合cookie 
    //创建
    setcookie(session_name(),session_id(),time() + $lifeTime, "/");
    $_SESSION['ihefe_user']=$uname;//摧毁
    $_SESSION = array();    
    if (isset($_COOKIE[session_name()])) //  删除实际的session:
    {
    setcookie(session_name(), '', time()-42000, '/');
    }
    session_destroy();// 删除服务器端session文件
      

  3.   


    echo "<pre/>";
    print_r($_SESSION);
    print_r($COOKIE);
    //看看这个基本上就可以跟踪他们的信息状态
      

  4.   

    登录成功后
    session_start();
    $_SESSION['ihefe_user']=$uname;其他页
    session_start();
    print_r($_SESSION['ihefe_user']);
    session_start();//每个需要的页都要加,加载页最前邮件的问题可能和服务器配置有关!不用mail函数发,用其他的试试!
      

  5.   


    session_start() 每个页面都加了.还是没有.然后刚才听别人说是要销毁后再写入.我在本地不销毁也可以成功,是不是服务器php.ini里面有配置.
    发邮件的话,我是网上下了个发邮件的类,phpmailer.连的smtp的服务器.在本机可以,服务器上不行.
      

  6.   

    error_reporting(E_ALL);
    ini_set('display_errors','On');
    在没有效果的文件头部加上。看是否有错误
      

  7.   

    session_start()之前不能有任何的输出。
      

  8.   

    session_start();都需要加上,此外关于SESSION的相关设置都需要进行一些设置才可以生效
      

  9.   

    session_start() ;不能echo  print print_r 之类的输出。 也不能又html代码在他之前输出比如<html>
    </html>
    <?php  session_start() ; //这样是不对 ?>///////////或者<?php echo "输出";?>
    <?php  session_start() ; //这样也是不对 ?>
      

  10.   

    当开启session时,
    <?php
        session_start();
    ?> session_start()前面不要有任何东西。
      

  11.   

    那如果说在A页面用include(B)引用B.然后B里面有用session,然后A页面在include(B)前有输出的话,session_start也是会无效吗?
      

  12.   


    如果A页面用include(B)  ,你只要在A页面开启session_start()就可以  B也能访问$_SESSION,你可以看成A和B是1体
      

  13.   

    那我在A没有开启,B开启,A里面有输出了.那这句话还有用吗
      

  14.   

    如果在A里顶部include(B)就可以, B启用session_start前面也不能有输出;也就是不管你怎么包含文件只要session_start前面没输出就好
      

  15.   

    在页面上,session应该是成功的吧。echo一下。如果echo有值,值是注册的信息,就可以了。建议不要用那个邮件功能。下载phpmailer,配置一下,发送过去就可以了。phpmailer支持绝大部分邮箱,一般是够用的。
      

  16.   

    貌似在其它页面使用session状态信息时,要先重置下变量,避免全局变量的影响session_start();
    $admin = false;
    if (isset($_SESSION["admin"]) && $_SESSION["admin"] === true)