2012-04-05 78 views
0

我有一个系统供用户申请驾驶证。然而,在对这个系统进行编码时,我遇到了一些问题,而我现在面临的问题是我不知道如何从应用程序的表单中传递值通过处理器页面,通过医疗问卷页面,最后用于医疗处理器页面。在我的例子,是否有更好的方法将值从页面1传递给页面3?

概览布局:

apply2.php> apply_now.php> medical_question.php> medical_question_now.php> success.php

的主要问题:

将apply_now.php中的$selectedPermit=$_POST['cat'];值转换为medical_question_now.php的最佳方式是什么?

的解释:

我在apply2.php一个复选框形式和在点击提交,就会链接到apply_now.php。

在apply_now.php(php处理器页面)中,我能够检索复选框中选定的值并在此处执行一些处理。例如。如果用户在过去3年没有完成医疗调查问卷,则将其带入医疗问卷页面,而不会将任何数据插入数据库。如果他们在此之前完成了医疗调查问卷,它将直接进入成功页面。

在医疗问卷中,有23个问题,每个答案将通过medical_questionnair_now.php页面存储在数据库中。

medical_question_now.php(一个php处理器页面)包含将医疗问卷答案插入到数据库中的查询,但是,我想插入从apply2.php中的复选框检索到的值。

Success.php只是一个页面,告诉他们恭喜。

我目前的想法: 我认为有2种方式可以将数据带过来。

  1. 将apply_now.php与medical_question.php结合在一起。

  2. 使用隐藏输入,这意味着处理器页面必须全部暴露给用户。

  3. 经过一番研究,我发现SESSION可以帮助我实现它,但任何人都知道我如何使用SESSION来做到这一点? (可以给我SESSION粗略的解释,所以我可以尝试一下)

我希望能坚持使用PHP为了更好的理解的目的,但如果你们认为有更好的JavaScript(),可以帮助这是容易理解,请引导我...我想学习新的东西。由于

另一个问题

我想问另外一个问题是,如果我的PHP处理器页面上,我想换成用警惕回声();我可以去这样的:

if($missing1=='1' or $missing2=='1') 
     { 
      echo '<script>alert("Sorry. You did have not met the Pre-Requisites for '.$permit .'");</script>'; 
      header ('Location:s_apply2.php'); 
     } 

,而不是这样的:

if($missing1=='1' or $missing2=='1') 
     { 
      echo"Did not meet pre-requisites for $permit"; 
     } 

非常感谢你的帮助......我有很多从这里了解到。感谢提前致谢。

+0

使用session在PHP – 2012-04-05 06:07:40

回答

1

使用会话

session_start(); 
$selectedPermit = $_POST['cat']; 
$_SESSION['selectedPermit'] = $selectedPermit; 

在另一页使用:

session_start(); 
echo $_SESSION['selectedPermit']; 

的Javascript问题:

if($missing1=='1' or $missing2=='1') 
    { 
     echo '<script>alert("Sorry. You did have not met the Pre-Requisites for '.$permit .'");\n"; 
     echo 'location.href="s_apply2.php";</script>'; 
     // header ('Location:s_apply2.php'); use javascript instead of header function 

    } 

问候

+0

感谢您的建议...注意到...我将在这种情况下再次使用回声...谢谢 – Hubert 2012-04-05 13:27:39

4

其实我建议您阅读会话的PHP文档处理如何使用$_SESSIONhttp://us3.php.net/manual/en/book.session.php

从引进快速摘录:在PHP

会话支持由一种方式来保护跨越后续访问的某些数据 。这使您可以构建更多自定义的 应用程序,并增加您网站的吸引力。

访问您的网站的访问者被分配了一个唯一的ID,即 所谓的会话ID。这可以存储在用户 一侧的cookie中或者在URL中传播。

会话支持允许您在$ _SESSION超全局数组中的请求之间存储数据。当访问者访问您的站点时,PHP 将自动检查(如果session.auto_start设置为1)或 您的请求(明确地通过session_start()或通过 session_register())隐式地检查特定会话ID是否已经发送 请求。如果是这种情况,则先前保存的环境是 重新创建。

+0

抱歉,您是如何保存数组结果会议?可能吗?因为复选框的结果将是一个数组 – Hubert 2012-04-05 06:55:00

1

我同意会话方法。该指数

session_start(); 
$_SESSION['error'] = "Error! You have done something wrong!"; 
header('Location: index.php'); 

然后:例如,如果你想从搜索页面得到一个错误信息,并发送回主索引,你可以这样做在搜索页面上的任何地方错误的说法应该是.php页面,如下所示:

session_start(); 
$error = $_SESSION['error']; 
session_destroy(); 

然后,echo $ error您希望消息出现在哪里。它在页面上设置变量,然后删除会话,因此如果要显示错误并刷新页面,错误消息将不再存在。