0
votes

Laravel: Comment montrer le formulaire après la soumission?

Je suis nouveau à Laravel et travaille actuellement sur un projet où les invités entrent des données de formulaire pour réserver une chambre dans un hôtel et, après l'avoir soumise, ils seront redirigés vers une page indiquant leur réservation qu'ils viennent de faire. Je sais que cela peut être fait en permettant aux invités de créer un compte de connexion, mais mon projet nécessite une connexion uniquement pour le backend (admin). (Q2 a été soumis: xxx


5 commentaires

Est book nom de classe correct (i.e. minuscule "B")?


@Tpojka Oui, c'est en minuscule. Le livre de classe étend le modèle


Vous devriez rester avec Cette convention de dénomination qui vous aidera à éviter 80% des erreurs non claires. Néanmoins, avez-vous vérifié les données indisponibles dans le contrôleur? Au lieu de revenir à la vue, mettez DD ($ la réservation) dans la méthode d'affichage et vérifiez ce qui est disponible là-bas.


@Ttpojka Oui, vous avez raison, même lorsque j'ai créé des projets factices, je l'ai suivi, mais maintenant pour une raison quelconque, il a glissé mon esprit. Quelqu'un d'autre m'a aidé avec elle en utilisant Flash () et une variable ancienne. Mais maintenant, j'ai du mal à afficher l'invité sa réservation basée sur la référence de réservation et le nom de famille


Montrer la route pour cela.


3 Réponses :


-1
votes

Vous pouvez simplement utiliser l'assistante Laravel redirection () xxx

ou xxx

lire plus ici : Redirects HTTP Laravel


4 commentaires

J'ai essayé cela et cela redirige la page, mais cela ne montre pas les informations, c'est le problème que je suis confronté pour le moment.


@Faizan Êtes-vous en train de mettre redirect dans Store méthode après l'épargne?


@Ttpojka OUI, je l'appelle la méthode en magasin après la sauvegarde. Il redirige vers le spectacle.blade.php mais n'affiche rien du formulaire soumis ..


Malheureusement, j'ai bien compris votre question de manière incorrecte. Dans ce cas, la solution utilise l'ancienne assistant pour récupérer les données et le placer à l'intérieur de la valeur = "" comme l'a écrit Farid Silva.



1
votes

Vous pouvez rediriger vers la méthode Afficher à partir du bas de la méthode de votre magasin: xxx

Pour plus d'informations, consultez la documentation: https://laravel.com/docs/master/redirects#redicting-Controller-actions


1 commentaires

J'ai essayé cela et cela redirige la page, mais cela ne montre pas les informations, c'est le problème que je suis confronté pour le moment.



0
votes

Si je comprends bien votre situation, vous souhaitez montrer les mêmes données introduites par l'utilisateur après la soumission de formulaire.

Je peux penser que la redirection d'une page qui montre votre autre, ne suffit rien. Vous aurez toujours besoin d'accéder aux données saisies sous la forme. Les données de formulaire de magasin Laravel dans une variable de session appelée Old, selon la documentation, cette variable doit être disponible lors de la prochaine demande après la soumission, vous pouvez donc essayer d'obtenir des données à l'aide de P>

<table class="table table-striped text-dark">
    <tbody>
        <tr>
            <td> Name: </td>
            <td> {{ old('title') }} &nbsp; {{ old('firstname') }} &nbsp; {{ old('lastname') }}    </td>
        </tr>
        <tr>
            <td> Phone </td>
            <td> {{ old('phone') }}     </td>
        </tr>
        <tr>
            <td> Email </td>
            <td> {{ old('email') }}     </td>
        </tr>
        <tr>
            <td> Phone </td>
            <td> {{ old('phone') }}     </td>
        </tr>
        <tr>
            <td> Passport Issued: </td>
            <td> {{ old('country') }}     </td>
        </tr>
        <tr>
            <td> Number of rooms: </td>
            <td> {{ old('no_rooms') }}     </td>
        </tr>
        <tr>
            <td> Room Type </td>
            <td> {{ old('type_room') }}     </td>
        </tr>
        <tr>
            <td> No of adults: </td>
            <td> {{ old('adults') }}     </td>
        </tr><tr>
            <td> No of children: </td>
            <td> {{ old('children') }}     </td>
        </tr>
        <tr>
            <td> Meal plan: </td>
            <td> {{ old('meals_id') }}     </td>
        </tr>
        <tr>
            <td> Check-in: </td>
            <td> {{ old('check_in') }}     </td>
        </tr>
        <tr>
            <td> Check-out: </td>
            <td> {{ old('check_out') }}     </td>
        </tr>
    </tbody>
</table>


9 commentaires

Merci c'est ce que je cherchais! Mais je pensais utiliser le même fichier show.blade.php pour afficher la sortie lorsque l'invité tente de voir la réservation, c'est-à-dire qu'il entre dans le numéro de référence de réservation, puis de dire son nom de famille pour voir la réservation (Afficher .lame)


Bonjour Faizan, alors je me comprends malgré vos besoins! Si votre utilisateur doit entrer son numéro de référence de réservation, il vous suffit de faire une demande de base de données, puis de montrer ses résultats à l'utilisateur, ce n'est pas pour le moment après avoir soumis le formulaire original, il pourrait en fait être à tout moment.


Pouvez-vous créer le nouveau formulaire et apporter la demande nécessaire à votre base de données afin d'obtenir les informations nécessaires?


Non, vous avez réellement compris mes deux questions, vous m'avez aidé avec le premier! Le plus tard, vous me dites que je dois le faire, la logique que je vais mettre en œuvre est, pour obtenir le numéro de référence utilisateur et le nom de famille (par exemple), apportez une demande à DB pour vérifier si elle existe ou non, si oui alors affichez-le à eux ou d'afficher simplement qu'il n'existe pas. Merci beaucoup pour votre aide vraiment!


Mon plaisir Faizan, content d'aider de quelque manière que ce soit. Si vous avez besoin d'une aide supplémentaire, envoyez-moi un message. Salutations.


Merci vraiment, je dispose d'un problème lors de l'affichage. J'ai deux tables, réservations et room_types, la table des réservations a une colonne Room_Type_id qui est une clé étrangère de Room_Types.Id et je souhaite afficher le type de chambre au lieu de l'ID. {{$ Book-> Room_type_id-> Room_types-> Type}} Mais cela ne fonctionne pas, il s'agit d'une clé étrangère et appelée dans le modèle également. (Type est une colonne dans la chambre_types contenant le type de la pièce)


Bonjour Faizan, je suppose que dans votre modèle, vous avez des relations définies, si une réservation ne s'applique qu'à une seule chambre_type, vous devez utiliser votre appartenance, mais si un utilisateur peut faire une réservation pour plusieurs pièces_types dans la même réservation, les relations sont à leur disposition. Donc, dans votre contrôleur, vous pourrez appeler une relation sous forme de réservation-> Room_type-> Type (plus d'informations laravel.com/docs/6.x/... )


Merci, j'ai utilisé la requête MySQL même que mes modèles et ses relations allaient bien et que je lis la documentation plusieurs fois. J'ai fini avec cette partie, mais comme vous avez suggéré d'utiliser $ Demande-> flash () , puis type de chambre {{ 'Type_room')}} Cela renvoie l'ID et non le type de chambre, est-il de toute façon pour résoudre ce problème? J'ai essayé d'utiliser la même requête mais puisqu'il est vieux ("Type_room") et pas $ Book-> Room_type_id Il ne fonctionne pas .. (Si cela n'est pas possible, pas de soucis, j'ai même essayé d'utiliser FlashExcept dessus, puis n'a changé aucune utilisation)


OK, alors ici, le point devrait être, comment l'utilisateur sélectionne room_type, car vous devez imiter le contrôle d'origine. Exemple: s'il s'agit d'une sélection avec des valeurs de room_type.id et d'étiquettes à partir de la table Room_Type, vous devez reproduire la valeur de sélection et de comparaison avec ID d'une entrée ancienne.