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 :

Erreur avec formulaire [4.1]


Sujet :

Laravel PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Janvier 2009
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Janvier 2009
    Messages : 82
    Points : 70
    Points
    70
    Par défaut Erreur avec formulaire
    il affiche un erreur quand j'appue sur submit pour ajouter a la base
    je croit avec Form::open()
    ou
    le routage, et j'arrive pas a le trouvé

    au niveau de controller:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public function postCreate(){
     
    	Author::create(array(
    		'name'=>Input::get('name'),
    		'bio'=>Input::get('bio')
    	));
     
    	return Redirect::route('authors')
    	->with('message','author was created successfully');
    	}
    page
    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
     
    <h1>Add new author</h1>
     
    {{ Form::open(array('url' => 'authors/create', 'method' => 'POST')) }}
     
    <p>
    	{{ Form::label('name', 'Name:') }}</br>
    	{{ Form::input('name', 'text') }}
    </p>
     
    <p>
    	{{ Form::label('bio', 'Biography:') }}</br>
    	{{ Form::textarea('bio') }}
    </p>
     
    <p>{{ Form::submit('Add author') }}</p>
     
    {{ Form::close() }}

    root:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Route::post('authors/create', array('uses'=>'AuthorsController@postCreate'));

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    et l'erreur affichée est .... ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Janvier 2009
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Janvier 2009
    Messages : 82
    Points : 70
    Points
    70
    Par défaut
    dans le fichier jointe
    Images attachées Images attachées   

  4. #4
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 104
    Points : 4 454
    Points
    4 454
    Par défaut
    il faut juste lire l'exception : elle donne l'erreur dans la classe de l'orm Eloquent

    probleme d'assignement de masse : c'est une securité dans les modeles eloquents
    pas de "protected $fillable" dans le modele


    je vois ensuite un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return Redirect::route('authors')
    il faut avoir une route nonnée dans route.php
    du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Route::get('authors', array('as' => 'authors', 'uses' => 'AuthorsController@getXXXXX'));
    ps : tres tres bien avancé depuis hier
    $moi= ( !== ) ? : ;

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Janvier 2009
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Janvier 2009
    Messages : 82
    Points : 70
    Points
    70
    Par défaut
    ce qui concerne la masse normalement c reglé
    et desolé pour les exception afficher je les comprend pas encore bien

    il reste route.php
    vous avez dit : Rout::get

    c deja ecrit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Route::get('authors', array('as'=>'authors','uses'=>'AuthorsController@getIndex'));
    Images attachées Images attachées  

  6. #6
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 104
    Points : 4 454
    Points
    4 454
    Par défaut
    Method not allowed
    HTTPexception = probleme de route
    apparemment il ne trouve pas la bonne méthode dans la route ?
    AuthorsController->getIndex() existe bien , si oui ne fait pas de redirection ?
    $moi= ( !== ) ? : ;

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Janvier 2009
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Janvier 2009
    Messages : 82
    Points : 70
    Points
    70
    Par défaut
    Citation Envoyé par papajoker Voir le message
    "Method not allowed "
    HTTPexception = probleme de route

    apparemment il ne trouve pas la bonne méthode dans la route ?
    AuthorsController->getIndex() existe bien , si oui ne fait pas de redirection ?
    toujours il y a un probleme

    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
     
    <?php
     
    class AuthorsController extends BaseController {
     
     
    	public function postCreate(){
     
    		Author::create(array(
    			'name'=>Input::get('name'),
    			'bio'=>Input::get('bio')
    		));
     
    		return Redirect::route('authors')
    			->with('message','author was created successfully');
    	}
     
    }
    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
     
    {{ Form::open(array('url' => 'authors/create', 'method' => 'POST')) }}
     
    	<p>
    		{{ Form::label('name', 'Name:') }}</br>
    		{{ Form::text('name') }}
    	</p>
     
    	<p>
    		{{ Form::label('bio', 'Biography:') }}</br>
    		{{ Form::textarea('bio') }}
    	</p>
     
    	<p>{{ Form::submit('Add author') }}</p>
     
    	{{ Form::close() }}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php
     
    class Author extends Eloquent{
     
    	 protected $fillable = array('name', 'bio');
    	 protected $guarded = array('id', 'created_at','updated_at');
     
    	 protected $table = 'authors';
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Route::controller('authCont', 'AuthorsController');
     
    Route::get('authors', array('as'=>'authors', 'uses'=>'AuthorsController@getIndex'));
    Route::get('author/{id}', array('as'=>'author', 'uses'=>'AuthorsController@getView'));
    Route::get('authors/new', array('as'=>'new_author', 'uses'=>'AuthorsController@getNew'));
    Route::post('authors/create', array('as'=>'create_author', 'uses'=>'AuthorsController@postCreate'));
    Images attachées Images attachées  

  8. #8
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 104
    Points : 4 454
    Points
    4 454
    Par défaut
    grr, il suffit de lire l'exception (miniature 1)

    le texte est tres tres clair
    colonne "name" ne peut etre nulle et il affiche en + la requete sql entière

    edit :
    corrigé et retour a route ...

    author a besion d'un parametre {id}

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Route::get('author/{id}',
    et tu ne passes pas l'id !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return Redirect::route('profile', array(1)); // bien sur ce n'est pas 1 :)
    $moi= ( !== ) ? : ;

  9. #9
    Membre régulier
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Janvier 2009
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Janvier 2009
    Messages : 82
    Points : 70
    Points
    70
    Par défaut
    sayé ça marche merci papajoker,

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur avec des formulaires
    Par Crazix dans le forum Langage
    Réponses: 10
    Dernier message: 03/06/2015, 23h19
  2. Réponses: 2
    Dernier message: 13/01/2015, 00h43
  3. Erreur de formulaire avec IE8 et pas firefox
    Par DkA59 dans le forum Langage
    Réponses: 1
    Dernier message: 26/07/2013, 14h07
  4. Réponses: 3
    Dernier message: 12/03/2010, 13h24
  5. Réponses: 2
    Dernier message: 11/04/2007, 18h25

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