par
webide » 22 juil. 2009, 16:07
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
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 : Tout sélectionner
<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.
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
[php]
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)."'
)
");
[/php]
couplé avec le fichier tpl affichant la page
[code]
<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 />
[/code]
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.