Integrar un foro SMF con nuestra web
Hace algún tiempo instalé un foro SMF
en la web del Camino de Santiago que estoy administrando.
He estado pensando en incluir un acceso para los usuarios en la web del Camino de Santiago, y viendo
que el foro ya permite registrar usuarios, así como validación de los mismos, que mejor que realizar
una integración del mecanismo de validación del foro con la web. Los chicos de SMF ya han pensando en esto
y nos ofrecen una magnífica api para llevar a cabo esta tarea.
Si bien, no ofrecen mucha documentación para ello, y por lo tanto os comento aquí el procedimiento
para la integración de nuestra web con el foro SMF:
En primer lugar tendremos que realizar un formulario para proceder al login de nuestros usuarios:
<?php require("smf_1-1_api.php"); smf_authenticateUser(); smf_loadSession(); ?> <html> <body> <?php if (!empty($smf_user_info["ID_MEMBER"]) && $smf_user_info["ID_MEMBER"]> 0){ echo "<a href=\"login.php?action=logout\">Salir</a>"; }else{ ?> <form action="login.php" method="post"> <label for="username">username</label><br> <input type="text" id="username" name="username"><br> <label for="pwd">pwd</label><br> <input type="password" id="pwd" name="pwd"><br> <input type="submit" id="submit" name="submit" value="Entrar"> </form> <? } ?> </body> </html>
Este formulario llamará a login.php, el cual se encargará de validar al usuario:
<? require("smf_1-1_api.php"); if ($_GET["action"]=="logout") { smf_authenticateUser(); smf_loadSession(); smf_query("DELETE FROM $smf_settings[db_prefix]log_online WHERE ID_MEMBER = '".$smf_settings[latestMember]."' LIMIT 1", __FILE__, __LINE__); $_SESSION['log_time'] = 0; smf_setLoginCookie(-3600, $smf_settings[latestMember]); $referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ''; header("Location: ". $referer); }else{ $password =$_POST["pwd"]; $user =$_POST["username"]; $remember =$_POST["remember"]; if ($remember=="on") { smf_setLoginCookie( 213153600, $user, $password, false ); }else { smf_setLoginCookie( 3600, $user, $password, false ); } smf_authenticateUser(); smf_loadSession(); if (!empty($smf_user_info["ID_MEMBER"]) && $smf_user_info["ID_MEMBER"]> 0){ $referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ''; header("Location: ". $referer); }else{ echo "error de validacion"; } } ?>
Necesitaremos descargarnos la api que nos proporciona SMF. Podremos bajarnosla de aquí.
hola amigo, me parece interesante lo que haces, yo deseo lo mismo y asi integrar una pagina con mi actual foro http://www.warezpy.com pero ni idea como lo tengo que hacer, me podrias ayudar
¿En qué puedo ayudarte?