需要使用PHP将检查框数据从一个页面传送到另一个页面

时间:2014-04-12 22:57:19

标签: php

我是php的新手,并不清楚如何将我的信息从第一页传送到下一页,然后在填写完联系信息后将其提交到我的电子邮箱。

我需要脚本按如下方式工作:

步骤1:用户单击他们想要存储在数组中的字段的输入复选框

前:

        < input type="checkbox" name="Sound[]" value="item1" > item1

然后点击我写成的按钮

       < input type="image" name="Submit"  class="" alt="" src="images/contact1.png" border="0" > 

步骤2:他们点击的复选框中的信息需要转移到下一页,他们将填写他们的联系信息。姓名电子邮件等等。

例如:

     <tr>
     <td valign="top">
      <label for="telephone">Telephone Number *</label>
     </td>
     <td valign="top">
      <input  type="text" name="telephone" maxlength="30" size="30" style="margin-bottom: 10px;">
     </td>
    </tr>

步骤3。按下按钮后,所有这些信息都应发送到我的电子邮箱,以便我与他们联系:D

   <tr>
     <td colspan="2" style="text-align:center;">
      <input type="image" name="Contact" class="contactbutton" alt="" src="images/contact.jpg"/>
     </td>
    </tr>

我可以从输入中提取信息,但不知道如何进入下一页! 我可以在同一个PHP脚本中完成所有操作吗?或者每个页面是否需要不同的PHP脚本?

请帮忙!

谢谢保罗

4 个答案:

答案 0 :(得分:0)

you can do it with a form and send it to the page2.php. value will be stored in 
$_POST['S'] for the checkbox


<form action="page2.php" method="post">

<input type="checkbox" name="S" value="item1" > item1
<input type="SUBMIT" >

</form>

------------------
page2.php

echo($_POST['S']); // will be item1 

答案 1 :(得分:0)

     $_SESSION array is better. to use it you need to put session_start(); at start of   
     every page that will use your $_SESSION variable i.e 

    session_start();

    if(isset($_POST['S'])){
    $_SESSION['h'] = $_POST['S'];

    echo($_SESSION['h']); } //output value in checkbox
    ?>
    <html><body>
    <form method="post">
    <input type="checkbox" name="S" value="item1" > item1
    <input type="SUBMIT" value="item1" > 


   Once this script is run you can accesS value in $_SESSION['h'] in other pages.  
   the data will be deleted when you close browser. 

----------------------------------

page2.php
<?php
session_start();

if(isset($_SESSION['h'])){ //check if $_SESSION['h'] has been set a value

echo  $_SESSION['h']; //output value stored in var
}
?>

答案 2 :(得分:0)

您最终仍需要使用POST数据来获取页面中的复选框状态。

第1页:

<?php
    session_start();
    // If postdata is received then redirect to next page
    if(isset($_POST['Sound'])) {
        $_SESSION['Sound'] = $_POST['Sound'];
        header('Location: http://www.example.com/page2.php');
        exit;
    }
?>
<form method="post" action="page1.php">
    Sound? <input type="checkbox" name="Sound" value="item1"><br>
    <input type="submit">
</form>

第2页:

<?php
    session_start();
    // If postdata is received then redirect to next page
    if(isset($_POST['telephone']) && isset($_POST['email'])) {
        $_SESSION['telephone'] = $_POST['telephone'];
        $_SESSION['email'] = $_POST['email'];
        header('Location: http://www.example.com/page3.php');
        exit;
    }
?>

<form method="post" action="page2.php">
    <!-- If you want to output the previously saved data in a disabled item -->
    Sound? <input type="checkbox" name="Sound" value="item1" disabled="disabled" <?php if($_SESSION['Sound'] == 'Yes') echo('checked="checked"'); ?>>

    Telephone: <input type="text" name="telephone" value=""><br>
    Email: <input type="email" name="email" value=""><br>
    <input type="submit">
</form>

依此类推,等等你的下一页

答案 3 :(得分:0)

这不包括通过PHP生成电子邮件的代码,但是打算向您展示如何使用表单输入/复选框选择并将值存储到SESSION ARRAY。请注意,在此示例中:表单通过将action =“”留空来提交给自己,但是正常会提交到外部PHP文件以进行解析/处理。

另外,如果不是由$ _POST ['user']专门设置,我选择创建一个随机数来表示表单的访问者

<?php session_start();
if (!isset($_SESSION['user'])) {$_SESSION['user']=rand(10,700);}
if (isset($_POST['user'])) {$id=$_POST['user'];} else {$id=$_SESSION['user'];}
?>

<form action="" method="post">
Sound 1:<input name="cb1" type="checkbox" value="sound1"><br>
Sound 2:<input name="cb2" type="checkbox" value="sound2"><br>
Sound 3:<input name="cb3" type="checkbox" value="sound3"><br>
<input type="submit" name="submit" value="submit"><br><br>

<?php


if (isset($_POST['submit']) && $_POST!=="") {
    foreach($_POST as $key => $value) {
    $_SESSION['visitor']['sounds'][$id]=array(
      'selects'=>$_POST['cb1'].",".$_POST['cb2'].",".$_POST['cb3']
                                            );
                                      };

echo "For user ID:".$id." We echo the comma delimited stored SESSION array: ".$_SESSION['visitor']['sounds'][$id] ['selects'];
echo "<br><br>";
// Option 2 Explodes the comma delimited ['selects'] field to handle each choice seperately

$choice = explode(",",$_SESSION['visitor']['sounds'][$id] ['selects']);

echo "For an alternative, we EXPLODE the stored 'selects' field of the SESSION ARRAY and can then echo each out seperately"."<br><br>";

echo "User ".$id." Option 1 value was: ".$choice[0]."<br>";
echo "User ".$id." Option 2 value was: ".$choice[1]."<br>";
echo "User ".$id." Option 3 value was: ".$choice[2]."<br>";

echo "<br><br>";

echo "A last example we loop through the EXPLODED values and echo only those that were selected (ie: had a value)"."<br>";

foreach ($choice as $key => $value ) { if ($value!=="") {echo "Selection: ".$value."<br>";}   }

                                 }
?>