Redirection apres inscription [Réglé]
Visiteur
Boosteur Inactif
j'aimerais (si possible) que les nouveaux membres de mon site soit redirigés directement dans une section de mon forum apres leur inscription : celle-ci.
Est-ce possible ? Merci.
Forensic Membre non connecté
Booster Mortier
-
Booster Mortier
- Voir le profil du membre Forensic
- Inscrit le : 18/12/2006
Ouvre member/register_valid.php à la ligne 324 (en bas complètement)
Repère
Remplace par :
De plus, rend toi à la ligne 288, tu y verras la ligne suivante :
$URL_ERROR = get_start_page();
remplace la par :
$URL_ERROR = '../forum/forum.php?id=9';
Finalement, tu dois aussi comprendre qu'après l'inscription, l'utilisateur n'est pas identifié... il sera donc redirigé sur le forum que tu veux, mais il devra s'identifier avant de pouvoir poster.
Forensic
Chercher sur le forum - /Consulter la Documentation - Consulter la Foire aux Questions (FAQ)
Dire bonjour et merci, c'est toujours apprécié et pensez à mettre vos messages en Réglé!
Visiteur
Boosteur Inactif
Autrement, constatez-vous un bug au niveau de l'affichage (news...) sur mon site ?
Car sur un 15 pouces, j'ai vu un bug (elles étaient coupées), et je me demande si ce n'est pas le pc qui a du mal...
Merci
Forensic Membre non connecté
Booster Mortier
-
Booster Mortier
- Voir le profil du membre Forensic
- Inscrit le : 18/12/2006
Je veux bien t'aider, mais je suis confronté à une erreur mysql que je n'ai jamais rencontré. Le but recherché est lorsqu'un nouveau membre active son compte par le biais du courriel reçu, que le script d'activation récupère le user_id relié au profil. Le problème est que j'obtiens l'erreur qui suit :
Erreur fatale: Requête simple invalide
SELECT user_id FROM forensic_member WHERE activ_pass=9e806efc0a8cf56
Illegal double '9e806' value found during parsing
Ligne 347 : register.php
Si je comprend bien, la requête aurait été fait en double... ça me laisse plutôt perplexe.
La requête est donc :
Code PHP :
$userid = $sql->query("SELECT user_id FROM ".PREFIX."member WHERE activ_pass=".$key, __LINE__, __FILE__);Si quelqu'un pouvait trouver l'erreur dans la requête que je puisse réglé le problème de bilbo ce serait apprécié :-)
Forensic
Chercher sur le forum - /Consulter la Documentation - Consulter la Foire aux Questions (FAQ)
Dire bonjour et merci, c'est toujours apprécié et pensez à mettre vos messages en Réglé!
CrowkaiT Membre non connecté
-
Modérateur
- Voir le profil du membre CrowkaiT
- Inscrit le : 17/06/2005
- Site internet
- Groupes :
-
Equipe Historique
Code PHP :
$userid = $sql->query("SELECT user_id FROM ".PREFIX."member WHERE activ_pass='".$key."'", __LINE__, __FILE__);
Pas de support par messages privés! Pensez à mettre vos messages en réglé en cliquant sur le bouton réglé!
Forensic Membre non connecté
Booster Mortier
-
Booster Mortier
- Voir le profil du membre Forensic
- Inscrit le : 18/12/2006
(Merci crowkait)
En premier lieu, puisque tu sembles avoir activé l'activation du compte par email, les changements ci-dessus sont superflus. Je te suggère donc de les remettre comme c'était avant. Ensuite, voila le script que je te suggère (il fonctionne) :
Aux lignes 345 à 373 du fichier member/register.php tu dois avoir exactement ce script actuellement :
Code PHP :
elseif( !empty($key) && $session->check_auth($session->data, 0) !== true ) //Activation du compte membre { $template->set_filenames(array( 'register' => '../templates/' . $CONFIG['theme'] . '/register.tpl' )); $template->assign_block_vars('activ', array( )); $check_mbr = $sql->query("SELECT COUNT(*) as compt FROM ".PREFIX."member WHERE activ_pass = '" . $key . "'", __LINE__, __FILE__); if( $check_mbr == '1' ) //Activation du compte. { $sql->query_inject("UPDATE ".PREFIX."member SET user_aprob = 1, activ_pass = '' WHERE activ_pass = '" . $key . "'", __LINE__, __FILE__); $template->assign_vars(array( 'L_REGISTER' => $LANG['register'], 'L_ACTIVATION_REPORT' => $LANG['activ_mbr_mail_success'] )); } else { $template->assign_vars(array( 'L_REGISTER' => $LANG['register'], 'L_ACTIVATION_REPORT' => $LANG['activ_mbr_mail_error'] )); } $template->pparse('register'); }
Remplace le par :
Code PHP :
elseif( !empty($key) && $session->check_auth($session->data, 0) !== true ) //Activation du compte membre { $template->set_filenames(array( 'register' => '../templates/' . $CONFIG['theme'] . '/register.tpl' )); $template->assign_block_vars('activ', array( )); $check_mbr = $sql->query("SELECT COUNT(*) as compt FROM ".PREFIX."member WHERE activ_pass = '" . $key . "'", __LINE__, __FILE__); if( $check_mbr == '1' ) //Activation du compte. { // On récupère le user_id du membre $userid = $sql->query_array("member", "user_id", "password", "WHERE activ_pass='".$key."'", __LINE__, __FILE__); $sql->query_inject("UPDATE ".PREFIX."member SET last_connect='" . time() . "' WHERE user_id = '" . $userid . "'", __LINE__, __FILE__); //Remise à zéro du compteur d'essais. $session->session_begin($userid['user_id'], $userid['password'], 0, SCRIPT, QUERY_STRING, TITLE, 1); //On lance la session. $sql->query_inject("UPDATE ".PREFIX."member SET user_aprob = 1, activ_pass = '' WHERE activ_pass = '" . $key . "'", __LINE__, __FILE__); // Une fois terminé, on redirige vers l'adresse demandée header('Location: ../forum/forum.php?id=9'); } else { $template->assign_vars(array( 'L_REGISTER' => $LANG['register'], 'L_ACTIVATION_REPORT' => $LANG['activ_mbr_mail_error'] )); } $template->pparse('register'); }
Si jamais tu décides que l'utilisateurs doit être redirigé à un autre endroit, tu dois modifier l'adresse dans la fonction header à la ligne 365.
Bon courage,
Forensic
Chercher sur le forum - /Consulter la Documentation - Consulter la Foire aux Questions (FAQ)
Dire bonjour et merci, c'est toujours apprécié et pensez à mettre vos messages en Réglé!
Visiteur
Boosteur Inactif
Merci pour tous encore une fois.
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie