0
votes

Php / mysql: index non défini après la mise à jour de l'utilisateur une donnée

Actuellement, je développe un système nécessitant une fonction de mise à jour. Le flux du système sera comme celui-ci:

1) Liste de la ligne de données dans Dashboard.php

2) L'utilisateur peut sélectionner l'une des données à afficher les détails. Il va rediriger vers View_Task.php

3) sur View_Task.php, l'utilisateur peut mettre à jour le nom de la tâche et cliquer sur le bouton "Enregistrer" pour enregistrer.

Le problème est. Après que je clique sur le bouton Enregistrer, il affichera l'erreur "Index index non défini: ID de rapport" et "Variable non définie: Task_Name à la ligne 55"

ci-dessous est mon code actuel:

vue_task.php xxx

up update_task_name.php xxx

Bien que obtenez l'erreur sur VIEW_TASK.PHP, mais les données avec succès Enregistrer!

Peut-on savoir quelle est l'erreur?


14 commentaires

Semble que votre requête ne vous donne probablement pas de valeur en $ repor_id et $ Task_Name


@bilalmalik pouvez-vous maintenant comment le résoudre?


print_r ($ _ post) dans update_task_name.php, et laissez-nous savoir si vous obtenez les valeurs


@bilalmalik à quelle ligne?


Wen vous appelez en-tête ("Emplacement: voir_task.php"); , vous n'avez pas passé le "Report_ID" comme paramètre


@Viperliu Pouvez-vous résoudre le problème en modifiant mon code ci-dessus?


avant $ update = "Mettre à jour ot_report Set Task_Name =: Task_Name où repor_id =: repor_id"; pouvez-vous faire imprimer_r


Il suffit de passer reporter_id comme paramètre sur View_Task.php. Il devrait être comme celui-ci en-tête ("View_task.php? Repor_id =". $ _ POST ['' POST ['REAP_ID'])


De quoi parlez-vous @viperliu, il le fait avec la méthode postale comme indiqué dans la balise de formulaire, ce n'est pas un problème


L'erreur est survenue dans la tâche de vue.php et mettez à jour la tâche_name.php exécuté sans erreur


Alors quelque chose doit être faux après la redirection


@Viperliu, mise à jour réussie et rester sur la même page. Mais je dois cliquer deux fois sur le bouton de retour sur le tableau de bord.php


Donc le travail upound_task_name.php fonctionne sans erreur, non?


@Yes, mais je dois cliquer deux fois sur le bouton de retour pour accéder à la page précédente. Pourquoi?


3 Réponses :


0
votes

Votre erreur est celle-ci ...

Accédez simplement à votre page avec un rapport valide_id xxx

Vous ne prouvez probablement pas l'identifiant dans l'URL, donc View_Task La requête elle-même ne fonctionne pas car il ne reçoit pas l'identifiant de l'URL pour obtenir la méthode.


7 commentaires

Maintenant tu sais où est le problème


Je pense que ce n'est pas la bonne réponse. Je n'ai toujours pas compris


problème n'est pas ici - en-tête ("View_task.php? repor_id =". $ _ POST ['POST [' REAP_ID ']);, il ne prouve tout simplement pas d'identité dans l'URL


@Petersondak alors passez-vous le rapport_ide du tableau de bord à View_Task en utilisant la méthode postale? , Si oui, alors à la ligne 7, vous devrez faire $ _Post ['repor_id'] ineead de $ _get


@Bilalmalalik echo " View ";


@bilalmalik c'est comme ça que j'ai passé


@Petersondak qui est correct, puis inspectez et voyez si vous obtenez de la valeur en $ ligne ['repor_id']



2
votes

Vous avez mentionné que:

Bien que vous obtenez l'erreur sur view_task.php, mais les données sauvegardent avec succès!

base à ce sujet, je peux supposer que vous avez entré dans la vue_task.php à partir du tableau de bord.php sans erreur

et une erreur ne se produit qu'après avoir cliqué sur le bouton Enregistrer.

Donc, Task_Name et repor_id doit être envoyé sur update_task_name.php avec succès

mais lorsque vous essayez de rediriger le retour à Task_View.php avec : xxx

Vous n'avez pas apporté repor_id pour visualiser_task.php et a provoqué l'erreur que vous avez mentionnée dans votre question

Donc, voici ma réponse, dans votre update_task_name.php

Remplacez ceci: xxx

avec ceci: xxx


0 commentaires

0
votes

Tout cela est trop complexe, car il est assez simple: xxx


1 commentaires

Étendu l'exemple, mais le pendant semble étrange pour un seul enregistrement.