|
Page d'inscription et menu déroulant |
|
Xoops accro
Inscrit: 16/08/2005 19:46
De Nanterre
|
Bonsoir à tous, J'ai une page d'inscription de membre (hack des nullos) spécifique au besoin de mon site. Celle-ci est composés de champs fixe et de champs avec menus déroulant. Le soucis, c'est que si à la fin du remplissages de ce formulaire, le membre commet une erreur qui le fait revenir sur la page, seul les saisies dans les champs fixe sont rester. Il doit alors ressaisir toutes les cases déroulantes. Y a t'il un code à ajouter pour conserver le contenu des cases? et ainsi, ne pas se retaper tout le formulaire... cela ne fait pas pro. Merci et bonne soirée
Posté le : 23/06/2007 23:25
|
eparcyl... tranquille.
|
|
Re: Page d'inscription et menu déroulant |
|
Admin Frxoops
Inscrit: 04/02/2003 07:37
De Belgique
|
Lors d'une erreur sur l'encodage, comment sont transmises les données déjà encodées ? En GET (les données sont incluses dans l'url) ou en POST (les données sont transmises cachées).
Posté le : 24/06/2007 08:31
|
|
|
Re: Page d'inscription et menu déroulant |
|
Xoops accro
Inscrit: 16/08/2005 19:46
De Nanterre
|
Citation :Lors d'une erreur sur l'encodage, comment sont transmises les données déjà encodées ? En GET (les données sont incluses dans l'url) ou en POST (les données sont transmises cachées). Bonjour Solo. Elle est trop balèze ta question!!! J'ai rien compris Euh!! quand les membres s'enregistres, je suppose que les données vont dans le xoops_user de ma table mysql. Je ne sais pas si j'ai répondu à la question Bon dimanche
Posté le : 24/06/2007 10:54
|
eparcyl... tranquille.
|
|
Re: Page d'inscription et menu déroulant |
|
Guest_
|
B'jour, Je ne pourrai pas t'aider bcp sur la "mémorisation" des données en cas de retour à la case départ... je crois que l'interrogation de solo porte sur la méthode de transmission des données d'une page (celle du formulaire) à l'autre (celle de l'affichage des données saisies) : soit POST soit GET. Si tu copies / colles une url de la seconde page peut être que cela fera avancer le schimilibilick (<- pas facile de le prononcer comme papy mougeot ) ! @+ Ps : mais le top du top serait que tous les champs de saisie fasse l'objet d'un contrôle préalable, y compris les menus déroulants avec un signalement en rouge de l'info manquante ou erronée... il est ou davidduu ?
Posté le : 24/06/2007 11:13
|
|
|
Re: Page d'inscription et menu déroulant |
|
Xoops accro
Inscrit: 16/08/2005 19:46
De Nanterre
|
Bonjour, J'vais finir par me faire éjecter avec mes sujet à rallonge... Mais je crois que c'est dans register.php que tout se passe.
<?php
// $Id: register.php 2 2005-11-02 18:23:29Z skalpa $
// ------------------------------------------------------------------------ //
// XOOPS - PHP Content Management System //
// Copyright (c) 2000 XOOPS.org //
// <http://www.xoops.org/> ... nbsp; //
// ------------------------------------------------------------------------ //
// This program is free software; you can redistribute it and/or modify //
// it under the terms of the GNU General Public License as published by //
// the Free Software Foundation; either version 2 of the License, or //
// (at your option) any later version. //
// //
// You may not change or alter any portion of this comment or credits //
// of supporting developers from this source code or any supporting //
// source code which is considered copyrighted (c) material of the //
// original comment or credit authors. //
// //
// This program is distributed in the hope that it will be useful, //
// but WITHOUT ANY WARRANTY; without even the implied warranty of //
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
// GNU General Public License for more details. //
// //
// You should have received a copy of the GNU General Public License //
// along with this program; if not, write to the Free Software //
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA //
// ------------------------------------------------------------------------ //
$xoopsOption['pagetype'] = 'user';
include 'mainfile.php';
$myts =& MyTextSanitizer::getInstance();
$config_handler =& xoops_gethandler('config');
$xoopsConfigUser =& $config_handler->getConfigsByCat(XOOPS_CONF_USER);
if (empty($xoopsConfigUser['allow_register'])) {
redirect_header('index.php', 6, _US_NOREGISTER);
exit();
}
function userCheck($uname, $email, $pass, $vpass)
{
global $xoopsConfigUser;
$xoopsDB =& Database::getInstance();
$myts =& MyTextSanitizer::getInstance();
$stop = '';
if (!checkEmail($email)) {
$stop .= _US_INVALIDMAIL.'<br />';
}
foreach ($xoopsConfigUser['bad_emails'] as $be) {
if (!empty($be) && preg_match("/".$be."/i", $email)) {
$stop .= _US_INVALIDMAIL.'<br />';
break;
}
}
if (strrpos($email,' ') > 0) {
$stop .= _US_EMAILNOSPACES.'<br />';
}
$uname = xoops_trim($uname);
switch ($xoopsConfigUser['uname_test_level']) {
case 0:
// strict
$restriction = '/[^a-zA-Z0-9_-]/';
break;
case 1:
// medium
$restriction = '/[^a-zA-Z0-9_-<>,.$%#@!\'"]/';
break;
case 2:
// loose
$restriction = '/[ 00- 40]/';
break;
}
if (empty($uname) || preg_match($restriction, $uname)) {
$stop .= _US_INVALIDNICKNAME."<br />";
}
if (strlen($uname) > $xoopsConfigUser['maxuname']) {
$stop .= sprintf(_US_NICKNAMETOOLONG, $xoopsConfigUser['maxuname'])."<br />";
}
if (strlen($uname) < $xoopsConfigUser['minuname']) {
$stop .= sprintf(_US_NICKNAMETOOSHORT, $xoopsConfigUser['minuname'])."<br />";
}
foreach ($xoopsConfigUser['bad_unames'] as $bu) {
if (!empty($bu) && preg_match("/".$bu."/i", $uname)) {
$stop .= _US_NAMERESERVED."<br />";
break;
}
}
if (strrpos($uname, ' ') > 0) {
$stop .= _US_NICKNAMENOSPACES."<br />";
}
$sql = sprintf('SELECT COUNT(*) FROM %s WHERE uname = %s', $xoopsDB->prefix('users'), $xoopsDB->quoteString(addslashes($uname)));
$result = $xoopsDB->query($sql);
list($count) = $xoopsDB->fetchRow($result);
if ($count > 0) {
$stop .= _US_NICKNAMETAKEN."<br />";
}
$count = 0;
if ( $email ) {
$sql = sprintf('SELECT COUNT(*) FROM %s WHERE email = %s', $xoopsDB->prefix('users'), $xoopsDB->quoteString(addslashes($email)));
$result = $xoopsDB->query($sql);
list($count) = $xoopsDB->fetchRow($result);
if ( $count > 0 ) {
$stop .= _US_EMAILTAKEN."<br />";
}
}
if ( !isset($pass) || $pass == '' || !isset($vpass) || $vpass == '' ) {
$stop .= _US_ENTERPWD.'<br />';
}
if ( (isset($pass)) && ($pass != $vpass) ) {
$stop .= _US_PASSNOTSAME.'<br />';
} elseif ( ($pass != '') && (strlen($pass) < $xoopsConfigUser['minpass']) ) {
$stop .= sprintf(_US_PWDTOOSHORT,$xoopsConfigUser['minpass'])."<br />";
}
return $stop;
}
$op = !isset($_POST['op']) ? 'register' : $_POST['op'];
$uname = isset($_POST['uname']) ? $myts->stripSlashesGPC($_POST['uname']) : '';
$name = isset($_POST['name']) ? $myts->stripSlashesGPC($_POST['name']) : '';
$user_genre = isset($_POST['user_genre']) ? $myts->stripSlashesGPC($_POST['user_genre']) : '';
$user_tonage = isset($_POST['user_tonage']) ? $myts->stripSlashesGPC($_POST['user_tonage']) : '';
$user_starsign = isset($_POST['user_starsign']) ? $myts->stripSlashesGPC($_POST['user_starsign']) : '';
$user_orientation = isset($_POST['user_orientation']) ? $myts->stripSlashesGPC($_POST['user_orientation']) : '';
$user_active = isset($_POST['user_active']) ? $myts->stripSlashesGPC($_POST['user_active']) : '';
$user_cherchant = isset($_POST['user_cherchant']) ? $myts->stripSlashesGPC($_POST['user_cherchant']) : '';
$user_from = isset($_POST['user_from']) ? $myts->stripSlashesGPC($_POST['user_from']) : '';
$user_codepostal = isset($_POST['user_codepostal']) ? $myts->stripSlashesGPC($_POST['user_codepostal']) : '';
$user_planete = isset($_POST['user_planete']) ? $myts->stripSlashesGPC($_POST['user_planete']) : '';
$email = isset($_POST['email']) ? trim($myts->stripSlashesGPC($_POST['email'])) : '';
$url = isset($_POST['url']) ? trim($myts->stripSlashesGPC($_POST['url'])) : '';
$pass = isset($_POST['pass']) ? $myts->stripSlashesGPC($_POST['pass']) : '';
$vpass = isset($_POST['vpass']) ? $myts->stripSlashesGPC($_POST['vpass']) : '';
$timezone_offset = isset($_POST['timezone_offset']) ? intval($_POST['timezone_offset']) : $xoopsConfig['default_TZ'];
$user_viewemail = (isset($_POST['user_viewemail']) && intval($_POST['user_viewemail'])) ? 1 : 0;
$user_mailok = (isset($_POST['user_mailok']) && intval($_POST['user_mailok'])) ? 1 : 0;
$agree_disc = (isset($_POST['agree_disc']) && intval($_POST['agree_disc'])) ? 1 : 0;
switch ( $op ) {
case 'newuser':
if (!$GLOBALS['xoopsSecurity']->check()) {
echo implode('<br />', $GLOBALS['xoopsSecurity']->getErrors());
exit();
}
include 'header.php';
$stop = '';
if ($xoopsConfigUser['reg_dispdsclmr'] != 0 && $xoopsConfigUser['reg_disclaimer'] != '') {
if (empty($agree_disc)) {
$stop .= _US_UNEEDAGREE.'<br />';
}
}
$stop .= userCheck($uname, $email, $pass, $vpass);
if (empty($stop)) {
echo _US_USERNAME.": ".$myts->htmlSpecialChars($uname)."<br />";
echo _US_REALNAME.": ".$myts->htmlSpecialChars($name)."<br />";
echo _US_GENRE.": $user_genre<br />";
echo _US_TONAGE.": $user_tonage<br />";
echo _US_STARSIGN.": $user_starsign<br />";
echo _US_ORIENTATION.": $user_orientation<br />";
echo _US_ACTIVE.": $user_active<br />";
echo _US_CHERCHANT.": $user_cherchant<br />";
echo _US_LOCATION.": ".$myts->htmlSpecialChars($user_from)."<br />";
echo _US_CODEPOSTAL.": $user_codepostal<br />";
echo _US_PLANETE.": $user_planete<br />";
echo _US_EMAIL.": ".$myts->htmlSpecialChars($email)."<br />";
if ($url != '') {
$url = formatURL($url);
echo _US_WEBSITE.': '.$myts->htmlSpecialChars($url).'<br />';
}
$f_timezone = ($timezone_offset < 0) ? 'GMT '.$timezone_offset : 'GMT +'.$timezone_offset;
echo _US_TIMEZONE.": $f_timezone<br />";
echo "<form action='register.php' method='post'>
<input type='hidden' name='uname' value='".$myts->htmlSpecialChars($uname)."' />
<input type='hidden' name='name' value='".$myts->htmlSpecialChars($name)."' />
<input type='hidden' name='user_genre' value='".$myts->htmlSpecialChars($user_genre)."' />
<input type='hidden' name='user_tonage' value='".$myts->htmlSpecialChars($user_tonage)."' />
<input type='hidden' name='user_starsign' value='".$myts->htmlSpecialChars($user_starsign)."' />
<input type='hidden' name='user_orientation' value='".$myts->htmlSpecialChars($user_orientation)."' />
<input type='hidden' name='user_active' value='".$myts->htmlSpecialChars($user_active)."' />
<input type='hidden' name='user_cherchant' value='".$myts->htmlSpecialChars($user_cherchant)."' />
<input type='hidden' name='user_from' value='".$myts->htmlSpecialChars($user_from)."' />
<input type='hidden' name='user_codepostal' value='".$myts->htmlSpecialChars($user_codepostal)."' />
<input type='hidden' name='user_planete' value='".$myts->htmlSpecialChars($user_planete)."' />
<input type='hidden' name='email' value='".$myts->htmlSpecialChars($email)."' />";
echo "<input type='hidden' name='user_viewemail' value='".$user_viewemail."' />
<input type='hidden' name='timezone_offset' value='".(float)$timezone_offset."' />
<input type='hidden' name='url' value='".$myts->htmlSpecialChars($url)."' />
<input type='hidden' name='pass' value='".$myts->htmlSpecialChars($pass)."' />
<input type='hidden' name='vpass' value='".$myts->htmlSpecialChars($vpass)."' />
<input type='hidden' name='user_mailok' value='".$user_mailok."' />
<br /><br /><input type='hidden' name='op' value='finish' />".$GLOBALS['xoopsSecurity']->getTokenHTML()."<input type='submit' value='". _US_FINISH ."' /></form>";
} else {
echo "<span style='color:#ff0000;'>$stop</span>";
include 'include/registerform.php';
$reg_form->display();
}
include 'footer.php';
break;
case 'finish':
if (!$GLOBALS['xoopsSecurity']->check()) {
echo implode('<br />', $GLOBALS['xoopsSecurity']->getErrors());
exit();
}
include 'header.php';
$stop = userCheck($uname, $email, $pass, $vpass);
if ( empty($stop) ) {
$member_handler =& xoops_gethandler('member');
$newuser =& $member_handler->createUser();
$newuser->setVar('user_viewemail',$user_viewemail, true);
$newuser->setVar('uname', $uname, true);
$newuser->setVar('name', $name, true);
$newuser->setVar('user_genre', $user_genre, true);
$newuser->setVar('user_tonage', $user_tonage, true);
$newuser->setVar('user_starsign', $user_starsign, true);
$newuser->setVar('user_orientation', $user_orientation, true);
$newuser->setVar('user_active', $user_active, true);
$newuser->setVar('user_cherchant', $user_cherchant, true);
$newuser->setVar('user_from', $user_from, true);
$newuser->setVar('user_codepostal', $user_codepostal, true);
$newuser->setVar('user_planete', $user_planete, true);
$newuser->setVar('email', $email, true);
if ($url != '') {
$newuser->setVar('url', formatURL($url), true);
}
$newuser->setVar('user_avatar','blank.gif', true);
$newuser->setVar('user_photo','blank.gif', true);
$actkey = substr(md5(uniqid(mt_rand(), 1)), 0, 8);
$newuser->setVar('actkey', $actkey, true);
$newuser->setVar('pass', md5($pass), true);
$newuser->setVar('timezone_offset', $timezone_offset, true);
$newuser->setVar('user_regdate', time(), true);
$newuser->setVar('uorder',$xoopsConfig['com_order'], true);
$newuser->setVar('umode',$xoopsConfig['com_mode'], true);
$newuser->setVar('user_mailok',$user_mailok, true);
if ($xoopsConfigUser['activation_type'] == 1) {
$newuser->setVar('level', 1, true);
}
if (!$member_handler->insertUser($newuser)) {
echo _US_REGISTERNG;
include 'footer.php';
exit();
}
$newid = $newuser->getVar('uid');
if (!$member_handler->addUserToGroup(XOOPS_GROUP_USERS, $newid)) {
echo _US_REGISTERNG;
include 'footer.php';
exit();
}
if ($xoopsConfigUser['activation_type'] == 1) {
redirect_header('index.php', 4, _US_ACTLOGIN);
exit();
}
if ($xoopsConfigUser['activation_type'] == 0) {
$xoopsMailer =& getMailer();
$xoopsMailer->useMail();
$xoopsMailer->setTemplate('register.tpl');
$xoopsMailer->assign('SITENAME', $xoopsConfig['sitename']);
$xoopsMailer->assign('ADMINMAIL', $xoopsConfig['adminmail']);
$xoopsMailer->assign('SITEURL', XOOPS_URL."/");
$xoopsMailer->setToUsers(new XoopsUser($newid));
$xoopsMailer->setFromEmail($xoopsConfig['adminmail']);
$xoopsMailer->setFromName($xoopsConfig['sitename']);
$xoopsMailer->setSubject(sprintf(_US_USERKEYFOR, $uname));
if ( !$xoopsMailer->send() ) {
echo _US_YOURREGMAILNG;
} else {
echo _US_YOURREGISTERED;
}
} elseif ($xoopsConfigUser['activation_type'] == 2) {
$xoopsMailer =& getMailer();
$xoopsMailer->useMail();
$xoopsMailer->setTemplate('adminactivate.tpl');
$xoopsMailer->assign('USERNAME', $uname);
$xoopsMailer->assign('USER_GENRE', $user_genre);
$xoopsMailer->assign('USER_TONAGE', $user_tonage);
$xoopsMailer->assign('USER_STARSIGN', $user_starsign);
$xoopsMailer->assign('USER_ORIENTATION', $user_orientation);
$xoopsMailer->assign('USER_ACTIVE', $user_active);
$xoopsMailer->assign('USER_CHERCHANT', $user_cherchant);
$xoopsMailer->assign('USER_FROM', $user_from);
$xoopsMailer->assign('USER_CODEPOSTAL', $user_codepostal);
$xoopsMailer->assign('USER_PLANETE', $user_planete);
$xoopsMailer->assign('USEREMAIL', $email);
$xoopsMailer->assign('USERACTLINK', XOOPS_URL.'/user.php?op=actv&id='.$newid.'&actkey='.$actkey);
$xoopsMailer->assign('SITENAME', $xoopsConfig['sitename']);
$xoopsMailer->assign('ADMINMAIL', $xoopsConfig['adminmail']);
$xoopsMailer->assign('SITEURL', XOOPS_URL."/");
$member_handler =& xoops_gethandler('member');
$xoopsMailer->setToGroups($member_handler->getGroup($xoopsConfigUser['activation_group']));
$xoopsMailer->setFromEmail($xoopsConfig['adminmail']);
$xoopsMailer->setFromName($xoopsConfig['sitename']);
$xoopsMailer->setSubject(sprintf(_US_USERKEYFOR, $uname));
if ( !$xoopsMailer->send() ) {
echo _US_YOURREGMAILNG;
} else {
echo _US_YOURREGISTERED2;
}
}
if ($xoopsConfigUser['new_user_notify'] == 1 && !empty($xoopsConfigUser['new_user_notify_group'])) {
$xoopsMailer =& getMailer();
$xoopsMailer->useMail();
$member_handler =& xoops_gethandler('member');
$xoopsMailer->setToGroups($member_handler->getGroup($xoopsConfigUser['new_user_notify_group']));
$xoopsMailer->setFromEmail($xoopsConfig['adminmail']);
$xoopsMailer->setFromName($xoopsConfig['sitename']);
$xoopsMailer->setSubject(sprintf(_US_NEWUSERREGAT,$xoopsConfig['sitename']));
$xoopsMailer->setBody(sprintf(_US_HASJUSTREG, $uname));
$xoopsMailer->send();
}
} else {
echo "<span style='color:#ff0000; font-weight:bold;'>$stop</span>";
include 'include/registerform.php';
$reg_form->display();
}
include 'footer.php';
break;
case 'register':
default:
include 'header.php';
include 'include/registerform.php';
$reg_form->display();
include 'footer.php';
break;
}
?>
Citation : Ps : mais le top du top serait que tous les champs de saisie fasse l'objet d'un contrôle préalable, y compris les menus déroulants avec un signalement en rouge de l'info manquante ou erronée... il est ou davidduu ?
Ce serai le top du top cette idée là... mais je crois que l'père Daviddu54 attrape une crise de nerf quand il tombe sur un de mes posts Allez!!! bonne lecture et bon dimanche
Posté le : 24/06/2007 12:07
|
eparcyl... tranquille.
|
|
Re: Page d'inscription et menu déroulant |
|
Aspirant
Inscrit: 24/06/2006 02:06
De Meknes / MAROC
|
Bonjour, est ce que vous pouvez m'aidez éditer la page d'inscription un peux prét comme votre site eparcyl92 je veux ajouter par ex localisation, l'age, sexe...ect j'ai trop essayer ms j'arrive pas :s
Posté le : 28/06/2007 20:14
|
|
|
Re: Page d'inscription et menu déroulant |
|
Xoops accro
Inscrit: 16/08/2005 19:46
De Nanterre
|
Bonjour Youssef, Je ne peux te répondre maintenant car je dois avant régler un petit problème de fichier SQL. Ici Fichier sqlLorsqu'il sera résolu, le hack sera fin prêt. A+
Posté le : 29/06/2007 07:07
|
eparcyl... tranquille.
|
|
Re: Page d'inscription et menu déroulant |
|
Aspirant
Inscrit: 24/06/2006 02:06
De Meknes / MAROC
|
Merci eparcyl92 bn courage et je suis tjr la dans l'attente de la résolution
Posté le : 29/06/2007 13:31
|
|
|
Re: Page d'inscription et menu déroulant |
|
Xoops accro
Inscrit: 16/08/2005 19:46
De Nanterre
|
Bonjour à tous LE HACK DES NULLOS EST TERMINE. Voilà la fin d'une grande aventure de presque 12 mois Vous le trouverez en téléchargement dans toutes les grandes surfaces.. ou tout simplement ici. HACK
DES NULLOS POUR XOOPS 2.0.16Je n'ai pas réussi à faire un fichier .php Alors j'ai opté pour le copié/collé le sql. Bonne journée à tous Pour toutes observations, allez dans ce sujet: inscription de membre
Posté le : 30/06/2007 08:20
|
eparcyl... tranquille.
|
Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.
|