2012-04-05 3 views
0

J'ai un système pour les utilisateurs de demander un permis de conduire. Cependant, lors du codage de ce système, j'ai rencontré un problème, et le problème auquel je suis confronté est que je ne sais pas comment passer une valeur d'un formulaire depuis l'application passer la page du processeur, passer la page du questionnaire médical et enfin à utiliser dans la page du processeur médical. Dans mon exemple,Une meilleure façon de transmettre des valeurs de la page 1 à la page 3?

La Présentation Mise en page:

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

La principale question:

Quelle est la meilleure façon de transférer une valeur $selectedPermit=$_POST['cat']; de apply_now.php à medical_question_now.php?

L'explication:

J'ai une forme de cases à cocher dans apply2.php et après avoir cliqué sur soumettre, il sera relié à apply_now.php.

Dans apply_now.php (page de traitement php), j'ai pu récupérer la valeur sélectionnée dans la case à cocher et effectuer un traitement ici. par exemple. Si l'utilisateur n'a pas rempli de questionnaire médical au cours des 3 dernières années, il les amènera à la page du questionnaire médical sans insérer de données dans la base de données. Si ils ont fait le questionnaire médical avant, il ira directement à la page de succès.

Dans le questionnaire médical, il y a 23 questions et chaque réponse sera stockée dans la base de données via la page medical_questionnair_now.php. Medical_question_now.php (page de traitement php) consiste en une requête pour insérer les réponses au questionnaire médical dans la base de données, cependant, je voudrais insérer la valeur qui a été récupérée de la case à cocher dans apply2.php. Success.php est juste une page pour leur dire congrats.

Mon idée actuelle: Je pense qu'il y a 2 façons de ramener les données.

  1. Combinez apply_now.php avec medical_question.php ensemble.

  2. Utilisez une entrée cachée, ce qui signifie que la page du processeur doit être exposée aux utilisateurs. Après quelques recherches, j'ai découvert que SESSION peut m'aider à y parvenir, mais quelqu'un a une idée de comment je peux utiliser SESSION pour le faire? (Peut me donner une explication grossière pour la séance afin que je puisse l'essayer)

J'espère rester avec php pour une meilleure fin compréhension, mais si vous les gars pense qu'il ya un meilleur javascript() qui peut aider à ce qui est facilement compréhensible, s'il vous plaît me guider ... je veux apprendre de nouvelles choses.Merci

Une autre question

Une autre question que je voudrais poser est de savoir si sur ma page de processeur php, je voudrais remplacer l'écho avec alerte(); puis-je ceci:

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'); 
     } 

au lieu de ceci:

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

Merci beaucoup pour votre aide ... Je l'ai beaucoup appris ici. Merci Merci d'avance.

+0

session d'utilisation en php –

Répondre

1

Utilisation de session

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

Sur une autre utilisation de la page:

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

question 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 

    } 

Cordialement

+0

Merci pour le conseil ... noté ... je vais utiliser l'écho à l'avenir dans un tel cas à nouveau ... merci – Hubert

4

Je vous suggère de lire réellement la documentation PHP sur gestion de la session pour savoir comment utiliser $_SESSION: http://us3.php.net/manual/en/book.session.php

Un extrait rapide de l'introduction:

soutien

session de PHP est un moyen de préserver certaines données à travers les accès suivants. Cela vous permet de créer des applications plus personnalisées et d'augmenter l'attrait de votre site Web.

Un identifiant unique est attribué à un visiteur accédant à votre site Web. Il s'agit de l'identifiant de session appelé . Ceci est stocké dans un cookie du côté de l'utilisateur ou est propagé dans l'URL. Le support de session vous permet de stocker des données entre les demandes dans la matrice superglobale $ _SESSION . Lorsqu'un visiteur accède à votre site, PHP vérifie automatiquement (si session.auto_start est définie sur 1) ou votre requête (explicitement via session_start() ou implicitement via session_register()) si un identifiant de session spécifique a été envoyé avec la demande. Si tel est le cas, l'environnement enregistré antérieur est recréé.

+0

désolé mais comment stocker u un résultat de tableau dans session? C'est possible? Parce que le résultat de la case à cocher serait un tableau – Hubert

1

Je suis d'accord avec la méthode des sessions. Par exemple, si vous voulez obtenir un message d'erreur à partir d'une page de recherche et le renvoyer à l'index principal, vous pouvez le faire sur la page de recherche où la déclaration d'erreur doit être:

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

ensuite sur l'indice Page .php, quelque chose comme ceci:

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

Ensuite, echo $ error où vous souhaitez le message apparaisse. Il définit la variable sur la page, puis supprime la session, donc si vous deviez afficher l'erreur, puis actualiser la page, le message d'erreur n'existerait plus.

Questions connexes