Como hacer un login/logout en symfony 1.4

443 views
Skip to first unread message

Reinaldo Chacón

unread,
Apr 7, 2011, 3:16:16 PM4/7/11
to symfony-es
Buenas. Soy Reinaldo. Estoy empezando en symfony 1.4 y propel. Y
bueno, quisiera hacer una pregunta a ver si me pueden ayudar aun
cuando sea realmente simple lo que voy a preguntar.

Quisiera saber que puedo leer para lograr hacer un login y logout del
sistema que estoy haciendo en mi pasantia. Lo que he leido, todos lo
hacen en base al backend, sin embargo, lo hago todo en el frontend. He
leido el link http://jonsegador.com/category/symfony/, que realiza
esto del login/logout sin uso del backend pero megenera un error que
no entiendo el porque, dado que el codigo es exactamente al de la
pagina. El error es:

Parse error: syntax error, unexpected ':' in C:\xampp\htdocs\prueba
\apps\frontend\modules\user\actions\actions.class.php on line 28

se ve tonto el error, pero porque quitar ese figura si es parte del
codigo de la pagina?

actions.class.php

public function executeLogin(sfWebRequest $request)
{
$this->form = new LoginForm();

if($request->isMethod("post")){
$this->form->bind($request->getParameter("login"));

if($this->form->isValid()){
if(!$user = userPeer::login($this->form->getValue("email"),
$this->form->getValue("password"))){
// No hemos conseguido loguear al usuario
// Redirigimos de nuevo al login con un mensaje de
error
$this->getUser()->setFlash("error", "datos
incorrectos");
$this->redirect("@user_login");
}else{
// Logueamos
$this->getUser()->setAuthenticated(true);
$this->getUser()->setAttribute("id",$user->id);

// Comprobamos si tiene referer, si no, le llevamos a
la homepage
$url = $this->getUser()-
>getAttribute("referer",false)?:"@homepage";
$this->getUser()->setAttribute("referer", false);
$this->redirect($url);
}
}
}
}


Bueno, el puento del mensaje es ver si alguien conoce alguna pagina de
como poder hacer lo que comento, un login/logout sin uso del backend,
pues ademas necesito hacer lo de las credenciales para definir quien
esta conectado para mostrar menus, redirecciones de paginas, etc etc.

Si alguien me puede ayudar, conoce que debo leer, si ha echo esto que
comento. Cualquier ayuda lo agradecere.

Julian Lasso

unread,
Apr 7, 2011, 3:25:46 PM4/7/11
to symfo...@googlegroups.com
muchos te van a decir "IMPLEMENTE sfGuardPlugin" y tal ves hasta tienen razón pero si quieres aprender a como se maneja eso que pides, lee esto

Ahí está justo lo que necesitas ;) Salu2

PD: backend solo es una palabra para referirse a la "zona de administración" no le tengas miedo, yo también hago todo en el supuesto "frontend"

-- 
Julian Lasso
Sent with Sparrow
$$this->redirect($url);

}
}
}}
}


Bueno, el puento del mensaje es ver si alguien conoce alguna pagina de
como poder hacer lo que comento, un login/logout sin uso del backend,
pues ademas necesito hacer lo de las credenciales para definir quien
esta conectado para mostrar menus, redirecciones de paginas, etc etc.

Si alguien me puede ayudar, conoce que debo leer, si ha echo esto que
comento. Cualquier ayuda lo agradecere.

--
Has recibido este mensaje porque estás suscrito al grupo "symfony-es" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a symfo...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a symfony-es+...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/symfony-es?hl=es.

Reinaldo Chacón

unread,
Apr 7, 2011, 3:34:52 PM4/7/11
to symfony-es
ok... leere lo que me envias... gracias

Si tengo otra duda respecto a esto, lo pondre aca.

Saludos

Julian Lasso

unread,
Apr 7, 2011, 3:36:51 PM4/7/11
to symfo...@googlegroups.com
con gusto en este punto te puedo ayudar en lo que necesites con respecto a este tema.
Yo con lo que te mandé me fue suficiente para crear mi sistema de login/logout de mi tienda

-- 
Julian Lasso
Sent with Sparrow

omatrix_x

unread,
Sep 6, 2012, 2:38:11 PM9/6/12
to symfo...@googlegroups.com

Hola reinaldo mira yo Use el sfDoctrineGuardPlugin pues me parece muy bueno y este link me ayudo bastante

https://emartini.wordpress.com/2010/09/06/configurando-sfdoctrineguard-parte1/

aun haciendo lo en el frontend..

espero te sirva..

Bendiciones..

Javier Marcon

unread,
Mar 6, 2013, 10:08:37 AM3/6/13
to symfo...@googlegroups.com
El 05/03/13 17:22, Maria Delfin escribió:

hola!! buenas tardes!! saludos!! tengo un problemita con symfony 1.4! tengo mi codigo de login y el index listo pero cuando ingresas los datos del usuario para entrar a la pagina, los datos se borran y no hace nada se queda en el login!!!! q puedo hacer!!!

mi action class
public function executeValidar(sfWebRequest $request){
     
     // $request->getPostParameter('clave');
     
      //paso los parametros para validar
      if ($request->getPostParameter('submit')){
          $usuario=Doctrine::getTable('Usuario')
                  ->createQuery('u')
                  ->where('u.login=?',$request->getPostParameter('usuario'))
                  ->andWhere('u.clave=?',$request->getPostParameter('clave'))
                  ->execute();
     
          //verifica si por lo menos hay un campo lleno
          if (count($usuario)!=0){
              $this->getUser()->setAttribute('Usuario',$usuario[0]);
              $this->getUser()->setAuthenticated(true);
              $this->getUser()->addCredential($usuario[0]->getPerfil()->getDescripcion());//paso credenciales
            //al no estar lleno los campos se limpian 
          }else{
              $this->getUser()->setAuthenticated(false);
              $this->getUser()->getAttributeHolder()->clear();
              $this->redirect('login/index');
                }
       }
}
}
_______________________________________________________________________________________________________________________________________________

mi index
 <form action="<?php echo url_for('login/validar');?>" method="post">
     <table  style="margin: 350px auto " align="center" color="C0C0C0">
        <thead>
           
            <tr>
                <th colspan="3" height="25%">Bienvenido a RECMEF</th>
            </tr>
           
        </thead>
       
        <tbody>
           
            <tr>
                <td width="30%"  height="35%">Usuario</td>
                <td width="80%"><input type="text" value="" name="usuario"/></td>
            </tr>
           
            <tr>
                <td height="25%">Clave</td>
                <td><input type="password" value="" name="clave"/></td>
            </tr>
           
            <tr>
                <td colspan="2"  align="center" height="35%" >
                    <input type="submit" value="Entrar" name="submit"/>
                </td>
            </tr>
           
        </tbody>
    </table>
</form>
____________________________________________________________________________________________________________________________________________


Por adelantado gracias al que me ayude a resolverlo!!

--
--
Has recibido este mensaje porque estás suscrito al grupo "symfony-es" de Google Groups.
Para publicar en este grupo, envía un email a symfo...@googlegroups.com
Para darte de baja, envía un email a symfony-es+...@googlegroups.com
El resto de opciones puedes encontrarlas en http://groups.google.com/group/symfony-es?hl=es
 
---
Has recibido este mensaje porque estás suscrito al grupo "symfony-es" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a symfony-es+...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 
Por lo que veo hiciste un formulario en html pero no hiciste un form de symfonypor lo tanto te aparece el formulario pero symfony no sabe que hacer con los datos que envia el formulario y por eso los ignora. En http://jonsegador.com/2011/03/formulario-de-login-y-logout-basico-en-symfony-1-4/ explican como hacer le formulario de login, igualmente para no reinventar la rueda podes usar sfDoctrineGuardPlugin. Te recomiendo leerte el tutorial de jobeet ( http://symfony.com/legacy/doc/jobeet?orm=Doctrine) que te va a aclarar mucas cosas y aparte tiene explicado lo de los usuarios y lo de los formularios.

Salu2,

Javier.

Pipe Botero

unread,
Mar 6, 2013, 12:16:57 PM3/6/13
to symfo...@googlegroups.com
El problema que le muestra el error está en esta linea:

$url = $this->getUser()->getAttribute("referer",false)?:"@homepage"; 

Esos ":" despues del "?" es un error de sintaxis...

Saludos 
Reply all
Reply to author
Forward
0 new messages