本帖最后由 fozzainter 于 2011-08-23 13:45:44 编辑

解决方案 »

  1.   

    刚经过了一次新的尝试
    <?php 
    echo $_POST['sex'];
    $sex1=$_POST['sex'];
    echo $sex1;
    ?>
    $sex1取到了值,但放到处理邮件的php页面中$body="$sex1"好像取到的是空值
      

  2.   

    $body="性别,$sex1"; 这个写法貌似不规范的,应该是能得到值得,这样写更好。$body="性别{$sex1}";问下楼主发邮件的时候是直接提交form表单并发邮件吗,如果form表单都没提交,又怎么会有$_POST["sex"]呢。
      

  3.   


    我其他的值都是这样去过来得,type=text 类型的都能直接取过来我是把这个php的表单提交到处理邮件的php文件中弄的,只是radio/checkbox这两个类型的值,不知道为什么取不到。
    我先去试下你的方法。
      

  4.   

    $sex1=$_POST['sex'];
    取到sex的值之后可以:
     1.$body="性别:{$sex1}";
    像楼上写的那样。
    也可以
     2.$body="性别:".$sex1;
    两种写法都可以,跟是不是在邮件中没有关系吧,邮件内容在发送之前都是要经过解释的。
      

  5.   


    试了一下还是不行,我尝试把所有的取值都按你的方式来写,但是还是$sex、$zixun1[]取不到,其他的用你这种规范的方式可以取到
      

  6.   

    大家再帮着看看吧  谢谢了 PS:问下,你们用邮件类取值时,都没用取过radio/checkbox中的值吗? 我在百度上搜,基本没有这样的问题发生过,前几页,还有几个是我的帖子
      

  7.   

    帖上部分代码           我在一个其他论坛问得时候,他说我从contact.php页面提交到contactus.php的时候,根本就没有提交数据
    可是我其他部分 type="text" 类型的值都能正常取到,比如说姓名之类的东西,但是这种radio/checkbox类型的不知道为什么取不到
    麻烦看下,谢谢
    html页面 让用户进行输入 
    <form action="contact.php" method="post" name="form1"> 
    <tr> 
                <td>       性别</td> 
                <td><input type="radio" name="sex" value="男" checked/>男         
                <input type="radio" name="sex" value="女" />女</td> 
                </tr> 
    <input type="submit" name="sub"> 
    </form> contact.php页面  获取用户输入的值,并进行确认,禁止更改 
    <form action="contactus.php" method="post" name="form2"> 
    <tr> 
    <td>       性别</td> 
    <td> 
    <?php 
    echo $_POST['sex']; 
    $sex1=$_POST['sex'];                 
    echo $sex1;  //这步能够取到值   
    ?> 
    </td> 
    </tr> 
    <input type="submit" value="发送" style="width:80px;height:43px" name="sub1" /> 
    </form> contactus.php 
    <?php 
    //ok的邮箱发送。 
    include "smtp.class.php"; 
    //$smtpserver = "SMTP.163.com"; //您的smtp服务器的地址 
    $smtpserver="smtp.163.com"; 
    $port =25; //smtp服务器的端口,一般是 25 
    //$smtpuser = ""; //您登录smtp服务器的用户名 
    //$smtppwd = ""; //您登录smtp服务器的密码 
    $mailtype = "HTML"; //邮件的类型,可选值是 TXT 或 HTML ,TXT 表示是纯文本的邮件,HTML 表示是 html格式的邮件 
    //$sender = "";   //发件人,一般要与您登录smtp服务器的用户名($smtpuser)相同,否则可能会因为smtp服务器的设置导致发送失败 
    $smtp  =   new smtp($smtpserver,$port,false,$smtpuser,$smtppwd,$sender);   //第三个值为false时,可匿名登录发送邮件,将$smtpuser、$smtppwd注释掉 
    //$smtp->debug = true; //是否开启调试,只在测试程序时使用,正式使用时请将此行注释 
    $to = ""; //收件人暂时匿掉了 
    //准备使用的邮箱 
    $subject = "咨询"; 
    $body=" 名字:{$firstname}.{$familyname}<br> 
                   名字拼音:{$firstnamepy}.{$familynamepy}<br> 
                   咨询人性别:{$sex1}<br>             
                   资讯种类:{$zixun1}<br> 
                   资讯内容:{$zixun}<br> 
                电子邮件:{$email}"; 
    //目前取不到性别(radio类型)、资讯种类的值(checkbox类型) 
             
    $send=$smtp->sendmail($to,$sender,$subject,$body,$mailtype); 
    ?> 邮件类是这个http://www.lantou.net/title.aspx?id=46
      

  8.   

    html到contact的时候,提交了数据。contact.php页面提交到contactus.php的时候,并没有提交到数据。
    你可以<input type="hidden" name="sex" value="<?=$sex1;?>"/>
    把你上个页面提交的数据提交到发送邮件的页面。或者
    通过<a href="contactus.php?sex=<?=$sex;?>">
    把你的数据通过get方式传给mail页面(contactus.php)同时在contactus中使用$sex=$_GET['sex'];
    取到值。ps:个人感觉你的contact.php是没有必要的,如果你不需要用户确认联系信息的话。可以直接把html的form 提交到contactus。php
      

  9.   

    非常感谢, 性别和咨询种类的取值都已经获得
    麻烦看下我的理解对不对,
    之前在contact.php里中,没有name=""东西,所以就没提交
    <input type="hidden" name="sex" />之后等于有了明确的提交  传得就是$sex里面的值刚开始学习,之前还没用过到过hidden
    用了之后。这个语句<a href="contactus.php?sex=<?=$sex;?>">起到的是什么作用,不用添加什么东西吗? 我现在在contact.php这个页面中没有用到这个语句,就可以正常传值了, 会不会有问题?
      

  10.   

    contact.php页面 获取用户输入的值,并进行确认,禁止更改  
    <form action="contactus.php" method="post" name="form2">  
    <tr>  
    <td> 性别</td>  
    <td>  
    <?php  
    echo $_POST['sex'];  
    $sex1=$_POST['sex'];   
    echo $sex1; //这步能够取到值   
    ?>  
    </td>  
    </tr>  
    <input type="submit" value="发送" style="width:80px;height:43px" name="sub1" />  
    </form>  会向 contactus.php 提交什么?
      

  11.   


    就是说,你可以通过form表单的post或者get方式传值(像前面的<form action="post">),也可以通过参数的get方式传值(例如contact.php?sex=<?=$sex;?>,这时候就不需要表单提交,而是通过参数形式传递值的)。
      

  12.   


    谢谢, 就是说不用表单提交的时候,就可以用<a href="">这个提交  这是是get形式的