IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion :

redirection selon sexe

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 89
    Points : 40
    Points
    40
    Par défaut redirection selon sexe
    Bonjour,
    Je souhaiterais créer deux redirections différentes en fonction du sexe de la personne. J'utilises un script fonctionnant sur 2 fichier.
    Il y a le fichier php gérant l'inscription
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    if (me('id') != "") {
    		$tpl -> Zone("regform", "notallowed");
    		_fnc("reload", 3, "?L=users.desktop");
    	}
    	
    	if (isset($_SESSION["REG_ID"])) {
    		$tpl -> Zone("regform", "notallowed");
    		_fnc("reload", 0, "?L=registration.questionaire");
    	}
    
    	/* Handle Submit */
    	if (isset($_POST["Submit"]) || isset($_POST["Correct"])) {
    		
    		$errBreak = false;
    		
    		foreach ($_POST as $var => $val) {
    			$_SESSION["REGISTER"][$var] = $val;
    		}
    		
    		/* Check email address */
    		if (
    			!isset($_SESSION["REGISTER"]["email"]) 
    			|| $_SESSION["REGISTER"]["email"] == "" 
    			|| !preg_match($CONF["REGEXP_EMAIL"], $_SESSION["REGISTER"]["email"])) {
    			$tpl -> Zone("error", "email");
    		} else {
    			/* Check Cloned email addresses */
    			if (!$CONF["REGISTRATION_ALLOW_DUPLICATE_EMAIL"] && myNum(myQ("
    				SELECT `email` 
    				FROM `[x]users` 
    				WHERE `email`='{$_SESSION["REGISTER"]["email"]}'
    			")) > 0) {
    				$tpl -> Zone("error", "emailClone");
    				session_unregister("REGISTER");
    			} 
    			
    			else {
    				/* Check username */
    				if (
    					!isset($_SESSION["REGISTER"]["username"]) 
    					|| $_SESSION["REGISTER"]["username"] == "" || 
    					!preg_match($CONF["REGEXP_USERNAME"], $_SESSION["REGISTER"]["username"])
    					|| strlen($_SESSION["REGISTER"]["username"]) < $CONF["USERS_USERNAME_MIN_LEN"]
    					|| strlen($_SESSION["REGISTER"]["username"]) > $CONF["USERS_USERNAME_MAX_LEN"]) {
    					$tpl -> Zone("error", "username");
    					$tpl -> Zone("usernameerror", "lenerror");
    				}
    				
    				else {
    					/* Check username being in use */
    					if (myNum(myQ("
    						SELECT `username` 
    						FROM `[x]users` 
    						WHERE LCASE(`username`)='".strtolower($_SESSION["REGISTER"]["username"])."'")) > 0) {
    						$tpl -> Zone("error", "username");
    						$tpl -> Zone("usernameerror", "inuse");
    					} else {
    						/* Check Password form */
    						if (
    							!isset($_SESSION["REGISTER"]["password"]) 
    							|| $_SESSION["REGISTER"]["password"] == "" 
    							|| strlen($_SESSION["REGISTER"]["password"]) < $CONF["USERS_PASSWORD_MIN_LEN"] 
    							|| strstr($_SESSION["REGISTER"]["password"], " ")) {
    							$tpl -> Zone("error", "password");
    							$tpl -> Zone("passworderror", "lenghterr");
    						} else {
    							/* Check password against passcheck */
    							if (
    								!isset($_SESSION["REGISTER"]["passcheck"]) 
    								|| $_SESSION["REGISTER"]["passcheck"] != $_SESSION["REGISTER"]["password"]) {
    								$tpl -> Zone("error", "password");
    								$tpl -> Zone("passworderror", "nomatch");
    							} else {
    								/* Check verification code */
    								if (
    									!isset($_SESSION["REGISTER"]["code"]) || 
    									!isset($_SESSION["REGISTER"]["syscode"]) || 
    									$_SESSION["REGISTER"]["code"] != $_SESSION["REGISTER"]["syscode"]) {
    									$tpl -> Zone("error", "code");
    								} else {
    									/* Check age */
    									if (
    										!isset($_SESSION["REGISTER"]["bday"]) or
    										!isset($_SESSION["REGISTER"]["bmonth"]) or
    										!isset($_SESSION["REGISTER"]["byear"]) or
    										_fnc("age", $_SESSION["REGISTER"]["bmonth"]."/".$_SESSION["REGISTER"]["bday"]."/".$_SESSION["REGISTER"]["byear"]) < $CONF["USERS_MIN_AGE"]
    									) {
    										$tpl -> Zone("error", "age");
    									} else {
    										/* Form was correctly filled */
    										
    										if (!isset($_SESSION["REG_ID"])) {
    											
    											/* Set reference data */
    											if ($CONF["REGISTRATION_SAVE_REFERENCE"]) {
    												if ($CONF["REGISTRATION_REFERENCE:HTTP_REFERER"]) $refData = $_SERVER['HTTP_REFERER'];
    												else $refData = (isset($_GET["ref"])?$_GET["ref"]:NULL);
    											} else $refData = NULL;
    											
    											$user_settings["MAIL"]["NOTIFICATION"] = array(
    												"MESSAGES" => 1,
    												"EVENTS" => 1,
    												"BIRTHDAY" => 1,
    												"PROFILECOMMENT" => 1,
    												"CONTACTREQUEST" => 1,
    												"NUDGE" => 1
    											);
    											
    											/* Save to database */
    											myQ("
    												INSERT INTO `[x]users` 
    												(
    													`email`,
    													`birthdate`,
    													`gender`,
    													`username`,
    													`password`,
    													`country`,
    													`state`,
    													`city`,
    													`zipcode`,
    													`active`,
    													`registration_date`,
    													`registration_reference`,
    													`age`,
    													`settings`
    												)
    												VALUES
    												(
    													'{$_SESSION["REGISTER"]["email"]}',
    													'{$_SESSION["REGISTER"]["bmonth"]}/{$_SESSION["REGISTER"]["bday"]}/{$_SESSION["REGISTER"]["byear"]}',
    													'{$_SESSION["REGISTER"]["gender"]}',
    													'{$_SESSION["REGISTER"]["username"]}',
    													'".md5($_SESSION["REGISTER"]["password"])."',
    													'{$_SESSION["REGISTER"]["country"]}',
    													'{$_SESSION["REGISTER"]["state"]}',
    													'{$_SESSION["REGISTER"]["city"]}',
    													'{$_SESSION["REGISTER"]["zipcode"]}',
    													'".($CONF["REGISTRATION_AUTO_APPROVE"] && !$CONF["REGISTRATION_APPROVE_UPON_EMAIL_CHECK"]?"1":"0")."',
    													'".date("U")."',
    													'{$refData}',
    													'"._fnc("age", "{$_SESSION["REGISTER"]["bmonth"]}/{$_SESSION["REGISTER"]["bday"]}/{$_SESSION["REGISTER"]["byear"]}")."',
    													'".pk($user_settings)."'
    												)
    											");
    couplé avec le fichier tpl affichant la page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <td width="150" align="right" valign="top"><strong>[I Am A: {7550}]</strong> </td>
                    <td align="left" valign="top"><select name="gender" id="gender">
                        <LOOP genderoption>
                          <option value="{gender}">{gender}</option>
                        </LOOP genderoption>
                    </select></td>
                  </tr>
                  <tr>
                    <td width="150" align="right" valign="top"><strong>[Username: {7555}]</strong></td>
                    <td align="left" valign="top"><input name="username" type="text" id="username" maxlength="{username_maxlen}" />
                        <br />
                      [Username must be between {username_minlen} and {username_maxlen} characters. Spaces or special characters are not allowed. Username is not case sensitive. {7560}] </td>
                  </tr>
                  <tr>
                    <td width="150" align="right" valign="top"><strong>[Password: {7570}] </strong></td>
                    <td align="left" valign="top"><input name="password" type="password" id="password" />
                        <br />
    Seuleument voila, nulle part sur le fichier php (a part au niveau de l'enregistrement sur la base) je ne trouves de ligne de code concernant le sexe et comme dit je souhaites que lorsqu'il s'agit d'un homme il soit redirigé vers une page et une femme vers une autre page.

    Merci d'avance pour vos conseils.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 74
    Points : 85
    Points
    85
    Par défaut
    Apparemment, lors de l'insertion, tu utilise la variable $_SESSION['REGISTER']['gender'].
    Celle-ci existe déjà lors de l'arrivée sur cette page. Tu peux donc l'utiliser (dans un if) couplé avec la fonction header() pour faire la redirection.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 89
    Points : 40
    Points
    40
    Par défaut
    Citation Envoyé par _IpC_ Voir le message
    Apparemment, lors de l'insertion, tu utilise la variable $_SESSION['REGISTER']['gender'].
    Celle-ci existe déjà lors de l'arrivée sur cette page. Tu peux donc l'utiliser (dans un if) couplé avec la fonction header() pour faire la redirection.
    e seul endroit ou apparait cette ligne se trouve au niveau des données de la base
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    	/* Save to database */
    											myQ("
    												INSERT INTO `[x]users` 
    												(
    													`email`,
    													`birthdate`,
    													`gender`,
    													`username`,
    													`password`,
    													`country`,
    													`state`,
    													`city`,
    													`zipcode`,
    													`active`,
    													`registration_date`,
    													`registration_reference`,
    													`age`,
    													`settings`
    												)
    												VALUES
    												(
    													'{$_SESSION["REGISTER"]["email"]}',
    													'{$_SESSION["REGISTER"]["bmonth"]}/{$_SESSION["REGISTER"]["bday"]}/{$_SESSION["REGISTER"]["byear"]}',
    													'{$_SESSION["REGISTER"]["gender"]}',
    													'{$_SESSION["REGISTER"]["username"]}',
    													'".md5($_SESSION["REGISTER"]["password"])."',
    													'{$_SESSION["REGISTER"]["country"]}',
    													'{$_SESSION["REGISTER"]["state"]}',
    													'{$_SESSION["REGISTER"]["city"]}',
    													'{$_SESSION["REGISTER"]["zipcode"]}',
    													'".($CONF["REGISTRATION_AUTO_APPROVE"] && !$CONF["REGISTRATION_APPROVE_UPON_EMAIL_CHECK"]?"1":"0")."',
    													'".date("U")."',
    													'{$refData}',
    													'"._fnc("age", "{$_SESSION["REGISTER"]["bmonth"]}/{$_SESSION["REGISTER"]["bday"]}/{$_SESSION["REGISTER"]["byear"]}")."',
    													'".pk($user_settings)."'
    												)
    ");
    et nulle part ailleurs et étant novice en la matière, je ne vois pas trop comment faire

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 89
    Points : 40
    Points
    40
    Par défaut
    J'ais fait comme cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    /* Check age */
    									if (
    										!isset($_SESSION["REGISTER"]["bday"]) or
    										!isset($_SESSION["REGISTER"]["bmonth"]) or
    										!isset($_SESSION["REGISTER"]["byear"]) or
    										_fnc("age", $_SESSION["REGISTER"]["bmonth"]."/".$_SESSION["REGISTER"]["bday"]."/".$_SESSION["REGISTER"]["byear"]) < $CONF["USERS_MIN_AGE"]
    									) {
    										$tpl -> Zone("error", "age");
    									} else {
    										/* genre */
    										if ($_SESSION["REGISTER"]["gender"]=="male") { 
        											 header('Location:page_mec.php'); 
    											} 
    										else if ($_SESSION["REGISTER"]["gender"]=="cpl") { 
         											header('Location:page_cpl.php'); 
    											} 
    											else { 
         									header('Location:page_fille.php'); 
    										} else { 
    										/* Form was correctly filled */
    										
    										if (!isset($_SESSION["REG_ID"])) {
    											
    											/* Set reference data */
    											if ($CONF["REGISTRATION_SAVE_REFERENCE"]) {
    												if ($CONF["REGISTRATION_REFERENCE:HTTP_REFERER"]) $refData = $_SERVER['HTTP_REFERER'];
    												else $refData = (isset($_GET["ref"])?$_GET["ref"]:NULL);
    											} else $refData = NULL;
    											
    											$user_settings["MAIL"]["NOTIFICATION"] = array(
    												"MESSAGES" => 1,
    												"EVENTS" => 1,
    												"BIRTHDAY" => 1,
    												"PROFILECOMMENT" => 1,
    												"CONTACTREQUEST" => 1,
    												"NUDGE" => 1
    											);
    et sur le fichier tpl couplé avec ce fichier php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     <LOOP genderoption>
                          <option value="{gender}">{gender}</option>
                        </LOOP genderoption>
    Et maintenant j'ais une page blanche, je ne vois pas le problème

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 74
    Points : 85
    Points
    85
    Par défaut
    Ta vérification et tes redirections me paraissent correctes.
    Quel est ce fichier tpl ? parce que lorsque php rencontre header(), la redirection s'effectue immédiatement et t'envoie sur la page page_mec.php (ou fille ou cpl). Celles-ci affichent-elles quelque chose normalement ?
    Ton code php ici représente la page complète ?? parce que la je ne voit aucun appel à ton moteur de template, mis à part $tpl->Zone('error', 'age'); mais en aucun cas tu défini la variable gender appellée dans ton loop.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    if (
        !isset($_SESSION["REGISTER"]["bday"])
        or !isset($_SESSION["REGISTER"]["bmonth"]) 
        or !isset($_SESSION["REGISTER"]["byear"]) 
        or _fnc("age", $_SESSION["REGISTER"]["bmonth"]."/".$_SESSION["REGISTER"]["bday"]."/".$_SESSION["REGISTER"]["byear"]) < $CONF["USERS_MIN_AGE"]
    ) {
        $tpl -> Zone("error", "age");
    } else {
        /* genre */
        if ($_SESSION["REGISTER"]["gender"]=="male") { 
            header('Location:page_mec.php'); 
        } else if ($_SESSION["REGISTER"]["gender"]=="cpl") { 
    	header('Location:page_cpl.php'); 
        } else { 
         	header('Location:page_fille.php'); 
        } else { // ????????????????????????????????????
            /* Form was correctly filled */
            .......
    // Pas de fermeture ?
    De plus, il me semble qu'il y ai des petits problèmes dans ton code. Tu ne te serais pas emmelé les pinceaux dans tes if ?

  6. #6
    Membre éclairé
    Avatar de djayp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Points : 687
    Points
    687
    Par défaut
    Salut,

    je te conseille d'utiliser des switch plutot que des if imbriqués, ce sera plus clair. Sinon, je t'invite à poser ta question sur le forum php, tu auras certainement plus de réponses...

    A++

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 89
    Points : 40
    Points
    40
    Par défaut
    Le script se compose de plusiers dossiers. Il y a le dossier modules regroupant les fichiers php qui gèrent les fonctions et le dossier themes contenant les fichiers tpl gérant l'affichage.
    Par exemple pour l'inscription dans le dossier module on trouves le fichier register.php et dans le dossier theme, le fichier register.tpl et donc lors de l'inscription on remplis les différents champs (nom, age, genre, adresse mail, etc....) et en bas de page on valides en cliquant sur un bouton pour passer à l'étape 2 de l'enregistrement (questionnaire particulier) et c'est cela que j'aimerais qui se passe (si homme redirigé vers mec.php, si cpl vers cpl.php et si femme vers femme.php.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 89
    Points : 40
    Points
    40
    Par défaut
    Citation Envoyé par _IpC_ Voir le message
    Ta vérification et tes redirections me paraissent correctes.
    Quel est ce fichier tpl ? parce que lorsque php rencontre header(), la redirection s'effectue immédiatement et t'envoie sur la page page_mec.php (ou fille ou cpl). Celles-ci affichent-elles quelque chose normalement ?
    Ton code php ici représente la page complète ?? parce que la je ne voit aucun appel à ton moteur de template, mis à part $tpl->Zone('error', 'age'); mais en aucun cas tu défini la variable gender appellée dans ton loop.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    if (
        !isset($_SESSION["REGISTER"]["bday"])
        or !isset($_SESSION["REGISTER"]["bmonth"]) 
        or !isset($_SESSION["REGISTER"]["byear"]) 
        or _fnc("age", $_SESSION["REGISTER"]["bmonth"]."/".$_SESSION["REGISTER"]["bday"]."/".$_SESSION["REGISTER"]["byear"]) < $CONF["USERS_MIN_AGE"]
    ) {
        $tpl -> Zone("error", "age");
    } else {
        /* genre */
        if ($_SESSION["REGISTER"]["gender"]=="male") { 
            header('Location:page_mec.php'); 
        } else if ($_SESSION["REGISTER"]["gender"]=="cpl") { 
    	header('Location:page_cpl.php'); 
        } else { 
         	header('Location:page_fille.php'); 
        } else { // ????????????????????????????????????
            /* Form was correctly filled */
            .......
    // Pas de fermeture ?
    De plus, il me semble qu'il y ai des petits problèmes dans ton code. Tu ne te serais pas emmelé les pinceaux dans tes if ?
    J'oubliais l'appel au moteur de template ce fait en debut de fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $tpl = new template;
    	$tpl -> Load("register");
    et ceci est mon seul ajout sur le fichier php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     /* genre */
        if ($_SESSION["REGISTER"]["gender"]=="male") { 
            header('Location:page_mec.php'); 
        } else if ($_SESSION["REGISTER"]["gender"]=="cpl") { 
    	header('Location:page_cpl.php'); 
        } else { 
         	header('Location:page_fille.php'); 
        } else {

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 74
    Points : 85
    Points
    85
    Par défaut
    Il y a quand même un else qui traine, ça doit pas aider.

    Après, comme dis précédemment, lorsque php exécute header(), la redirection se fait.
    Je répète donc ma question. Est-ce que les pages page_mec.php, page_fille.php et page_cpl.php existent et sont censées afficher quelque chose ?

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 89
    Points : 40
    Points
    40
    Par défaut
    j'ais fait ces ligne pour essayer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?php
    
    	/* Check Structure Availability */
    	if (!defined("CORE_STRAP")) die("Out of structure call");
    	
    	
    	$tpl = new template;
    	$tpl -> Load("page_cpl");
    	$tpl -> GetObjects();
    
    	$tpl-> CleanZones();
    	$tpl -> Flush();
    	
    ?>
    nommées page_mec.php, page_fille.php et page_cpl.php et les ais placées dans le dossier module et dans le dossier tpl
    j'ais mis les fichiers tpl correspondants:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <!-- header --><!-- /header --><table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="530">&nbsp;</td>
        <td rowspan="2">&nbsp;</td>
        <td width="290">&nbsp;</td>
      </tr>
      <tr>
        <td width="530" valign="top">
    	<!-- leftpane --><form method="post">
    	<table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td width="25">&nbsp;</td>
            <td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
                <tr>
                  <td valign="top"><h1>[Myself {8080}] </h1>
                    [Take a moment to share additional  information about yourself by completing the following sections.&nbsp; Let people know who you are, your likes and  dislikes, and let everyone experience a little of your world today! {8085}] <br />
                      <br /></td>
    		 </tr>
        </table><!-- /rightpane --></td>
      </tr>
    </table>
    <!-- footer --><!-- /footer -->
    mais tjrs la page blanche et pour le else (je pense que tu parles du dernier, j'ais intégré mes lignes sur la base existante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    	if (
    										!isset($_SESSION["REGISTER"]["bday"]) or
    										!isset($_SESSION["REGISTER"]["bmonth"]) or
    										!isset($_SESSION["REGISTER"]["byear"]) or
    										_fnc("age", $_SESSION["REGISTER"]["bmonth"]."/".$_SESSION["REGISTER"]["bday"]."/".$_SESSION["REGISTER"]["byear"]) < $CONF["USERS_MIN_AGE"]
    									) {
    										$tpl -> Zone("error", "age");
    									} else {
    										/* Form was correctly filled */
    										
    										if (!isset($_SESSION["REG_ID"])) {
    											
    											/* Set reference data */
    											if ($CONF["REGISTRATION_SAVE_REFERENCE"]) {
    												if ($CONF["REGISTRATION_REFERENCE:HTTP_REFERER"]) $refData = $_SERVER['HTTP_REFERER'];
    												else $refData = (isset($_GET["ref"])?$_GET["ref"]:NULL);
    											} else $refData = NULL;

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 74
    Points : 85
    Points
    85
    Par défaut
    La base existante est bonne, c'est la façon dont tu l'as intégré qui ne va pas. Tu ne peut pas mettre un else, comme ça, qui ne correspond à rien. De plus il faut fermer toutes les accolades. Tu dois avoir des erreurs dans ce code et c'est surement pour ça que rien ne s'affiche ...

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 89
    Points : 40
    Points
    40
    Par défaut
    Justement en fonction de ça j'ais créé en prenant exemple les nouvelles page, d'abord la php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <?php
    
    	/* Check Structure Availability */
    	if (!defined("CORE_STRAP")) die("Out of structure call");
    	
    
    	$tpl = new template;
    	$tpl -> Load("register");
    	
    		/* genre */
    		if ($_SESSION["REGISTER"]["gender"]=="male") {
        		header('Location:page_mec.php');
    			}
    			else if ($_SESSION["REGISTER"]["gender"]=="cpl") {
         		header('Location:page_cpl.php');
    			}
    			else {
         		header('Location:page_fille.php');
    	
    		$tpl -> CleanZones();
    		$tpl -> Flush();
    	
    ?>
    et dans le theme celle ci nommée register
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <!-- header --><!-- /header -->
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="530">&nbsp;</td>
        <td rowspan="2">&nbsp;</td>
        <td width="290">&nbsp;</td>
      </tr>
      <tr>
        <td width="530" valign="top"><!-- leftpane --><form method="post">
          <table width="100%" border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td width="25">&nbsp;</td>
              <td><h1>[Register {50}] </h1>
                  <p>[Welcome! {7510}] &nbsp; </p>
                  <p>&nbsp;</p>
                  <p>[Let's get  started! {7515}] </p>
                  <p>&nbsp;</p><!-- breadcrumbs --><!-- /breadcrumbs --> </td>
            </tr>
            <tr>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
            </tr>
            <tr>
              <td height="8" colspan="2"><img src="theme/default/images/frame/spacer.gif" alt="Spacer" height="8" /></td>
            </tr>
            <tr>
              <td colspan="2" background="theme/default/images/frame/block_border_top.gif" bgcolor="#AEC5FD"><img src="theme/default/images/frame/spacer.gif" alt="Spacer" height="14" /></td>
            </tr>
            <tr>
              <td bgcolor="#DCE6FF">&nbsp;</td>
              <td bgcolor="#DCE6FF">&nbsp;</td>
            </tr>
            <tr>
              <td bgcolor="#DCE6FF">&nbsp;</td>
              <td bgcolor="#DCE6FF"><h2>[Please complete the following {7520}] </h2></td>
            </tr>
    <tr>
                    <td width="150" align="right" valign="top"><strong>[I Am A: {7550}]</strong> </td>
                    <td align="left" valign="top"><select name="gender" id="gender">
                        <LOOP genderoption>
                          <option value="{gender}">{gender}</option>
                        </LOOP genderoption>
                    </select></td>
                  </tr>
     </table><!-- /rightpane --></td>
      </tr>
    </table>
    <!-- footer --><!-- /footer -->
    et justement ici il n'y a pas de else à la fin et malgré tout page blanche c'est a devenir

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 74
    Points : 85
    Points
    85
    Par défaut
    Ici le dernier else n'est pas refermé.

    Sinon pour ton formulaire, tu ne pourra pas utiliser les header de cette manière. Il faut que, lors de la validation du premier formulaire (apres clic sur le bouton), tu enregistre le résultat de celui-ci dans la session, puis que tu redirige l'utilisateur ensuite, avec header(), après cette validation, vers le second formulaire.

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 89
    Points : 40
    Points
    40
    Par défaut
    Maintenant ça commence tout doucement à fonctionner car il me rediriges directement sur page_fille.php ce qui n'est pas le but mais c'est déjà un pas. je ne peut pas choisir le genre avant la redirection comme je le souhaites

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 74
    Points : 85
    Points
    85
    Par défaut
    C'est normal, (cf. la modification du post précédent).

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 89
    Points : 40
    Points
    40
    Par défaut
    Tu ne pourrais pas m'aiguiller car comme je l'ais dit je suis novice en la matière et je ne sais pas comment faire cela.

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 89
    Points : 40
    Points
    40
    Par défaut
    Comment puis je faire pour que seuleument après avoir selectionné mon genre je suis redirigé vers la page souhaitée en cliquant sur un bouton par exemple

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 74
    Points : 85
    Points
    85
    Par défaut
    Tu as 2 solutions.

    - Tu peux gérer ça via deux formulaire php "normaux" : le premier contient le sexe de l'utilisateur, celui-ci sélectionne, puis valide son formulaire (bouton submit). la page de validation php de ce formulaire est appellé (ça peu être éventuellement la même page). Cette vérification met la valeur de la sélection du sexe faites en session, pour pouvoir la conserver lors de la redirection qu'il effectue via la fonction header(). Cette redirection emmène l'utilisateur vers le formulaire suivant, correspondant à son sexe.

    - Tu peux gérer ça en javascript. Lorsque l'utilisateur sélectionne une valeur (ou clic sur un bouton), javascript récupère cette valeur et c'est lui qui effectue la redirection vers le formulaire suivant adapté.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JS] redirection selon choix de l'utilisateur
    Par FracMaster dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 26/04/2007, 16h14
  2. [PHP-JS] Redirection selon navigateur
    Par Angelik dans le forum Langage
    Réponses: 7
    Dernier message: 22/03/2007, 10h09
  3. Redirection selon condition
    Par JoN28fr dans le forum Langage
    Réponses: 4
    Dernier message: 10/11/2006, 14h14
  4. Réponses: 3
    Dernier message: 10/05/2006, 21h37
  5. Réponses: 1
    Dernier message: 06/11/2005, 17h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo