IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Laravel PHP Discussion :

Authentification avec Laravel


Sujet :

Laravel PHP

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 338
    Points : 0
    Points
    0
    Par défaut Authentification avec Laravel
    Bonsoir,
    J'essai de faire une petite application web avec laravel, mais j'arrive pas à faire le login correctement!
    la condition
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (Auth::attempt(['username' => Request::get('username'), 'password' => Request::get('password')]))
    et toujours FALSE

    Voila le code:

    HTML:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
            <form  action="{{url('auth/login')}}" method="post" accept-charset="utf-8" class="ui form">
     
                    <div class="ui segment biarabi animated zoomInDown">
                        <div class="field">
                            <div class="ui left icon input biarabi">
                                <i class=" blue inverted circular user icon"></i>
                                <input type="text" name="username" placeholder="اسم المستخدم" class="biarabi">
                            </div>
                        </div>
                        <div class="field">
                            <div class="ui left icon input biarabi">
                                <i class="blue inverted circular lock icon"></i>
                                <input type="password" name="password" placeholder="كلمة المرور" class="biarabi">
                            </div>
                        </div>
                        <div class="field">
                            <input type="hidden" name="_token" id="csrf-token" value="{{ Session::token() }}" />
                            <input type="submit" value="تسجيل الدخول" class="ui button large fluid blue biarabi">
                        </div>
     
                    </div>
                    </form>



    Model User:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    <?php
     
    namespace App;
     
    use Illuminate\Auth\Authenticatable;
    use Illuminate\Database\Eloquent\Model;
    use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
     
    class User extends Model implements AuthenticatableContract
     
    {
        use Authenticatable;
     
        /**
        * The database table used by the model.
        *
        * @var string
        */
        protected $table = 'users';
     
        /**
        * The attributes that are mass assignable.
        *
        * @var array
        */
        protected $fillable = ['name', 'email', 'password'];
     
        /**
        * The attributes excluded from the model's JSON form.
        *
        * @var array
        */
        protected $hidden = ['password', 'remember_token'];
    }
    UserController:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <?php
     
    namespace App\Http\Controllers;
     
    use Request;
    use App\User;
    use Illuminate\Support\Facades\Auth;
     
    class UserController extends Controller
    {
        //
        public function login(Request $request) {
        if (Auth::attempt(['username' => Request::get('username'),
                            'password' => Request::get('password')
                          ]))
        {
     
            return "Welcome </br> Username: " . Request::get('username') ."</br> Password: " . Request::get('password');
        } else {
     
            return "your are Not logged </br> Username: " . Request::get('username') ."</br> Password: " . Request::get('password');
        }
    }
    }


    Route:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?php
     
    /*
    |--------------------------------------------------------------------------
    | Application Routes
    |--------------------------------------------------------------------------
    |
    | Here is where you can register all of the routes for an application.
    | It's a breeze. Simply tell Laravel the URIs it should respond to
    | and give it the controller to call when that URI is requested.
    |
    */
     
     
     
     
    Route::post('auth/login', 'UserController@login');

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Ton modèle n'a pas de champs "username", seulement "user" et "email".

    Teste avec "email" au lieu de "username".

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 338
    Points : 0
    Points
    0
    Par défaut
    Citation Envoyé par Tsilefy Voir le message
    Ton modèle n'a pas de champs "username", seulement "user" et "email".

    Teste avec "email" au lieu de "username".
    J'ai essayé mais ça marche pas

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Est-ce que ça marche avec uniquement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (Auth::attempt(['username' => Request::get('username')]))
    Le but est d'isoler d'où vient le problème.

    Autrement, retire le placeholder du champ password (un password n'a pas besoin de placeholder de toutes façons).

    Essaie avec un mot de passe en alphabet latin pour voir si ce n'est pas un souci d'encodage (tout est bien en utf-8: pages, base de données?)

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 338
    Points : 0
    Points
    0
    Par défaut
    Citation Envoyé par Tsilefy Voir le message
    Est-ce que ça marche avec uniquement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (Auth::attempt(['username' => Request::get('username')]))
    Le but est d'isoler d'où vient le problème.

    Autrement, retire le placeholder du champ password (un password n'a pas besoin de placeholder de toutes façons).

    Essaie avec un mot de passe en alphabet latin pour voir si ce n'est pas un souci d'encodage (tout est bien en utf-8: pages, base de données?)
    ça m'affiche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ErrorException in EloquentUserProvider.php line 116: Undefined index: password.

  6. #6
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Arf oui évidemment EloquentUserProvider attend un mot de passe. Bon, remets-le.
    Est-ce que tu as essayé ma suggestion de tester avec un mot de passe en alphabet latin? Il est possible que ta base de données ne soit pas configurée pour d'autres alphabets.

Discussions similaires

  1. Page d'authentification avec jsp
    Par taroudant dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 19/07/2006, 09h24
  2. prob d'authentification avec Java Script !!!!!
    Par King_T dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 10/05/2006, 19h18
  3. Réponses: 2
    Dernier message: 10/05/2006, 07h50
  4. Pas de fenètre d'authentification avec .htaccess
    Par damjal dans le forum Apache
    Réponses: 2
    Dernier message: 02/11/2005, 08h40
  5. [MySQL] mécanisme d'authentification avec BD
    Par lalyly dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 16/10/2005, 13h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo