Pour savoir comment résoudre le problème “L’utilisateur spécifié en tant que définisseur (‘xyz’@’localhost’) n’existe pas” dans MySQL. Il peut s’agir de n’importe quelle valeur à la place de ‘xyz’.
Cette erreur s’est produite car vous avez défini différents utilisateurs dans Definer et utilisé d’autres comptes dans MySQL.
Ainsi, lors de la création de déclencheurs, vous devez utiliser le “root@localhost” dans le Definer. Suivez les étapes ci-dessous pour résoudre cette erreur :
Étape 1 : Ouvrez phpMyAdmin
Étape 2 : Sélectionnez votre base de données et votre table
Étape 3 : Clique sur le “triggers” onglet en haut de la page
Étape 4 : Clique sur le “Modifier” pour modifier les déclencheurs.
Étape 5 : Changer le définisseur de xyz@localhost en root@localhost
Pour plus de détails, consultez cette capture d’écran :
Pour savoir comment sélectionner les fichiers modifiés à déployer sur le serveur à l'aide de GitAhead. Généralement, en cliquant sur le bouton "Sélectionner tout" tous les fichiers modifiés sélectionnés et le bouton "Sélectionner tout" désactivé automatiquement. Mais pour certains fichiers, il ne sera pas sélectionné et si vous essayez de le faire manuellement, il ne vous laissera pas le faire. Et il montrera également ces fichiers comme "partiellement mis en scène". Vous pouvez voir dans la capture d'écran ci-dessous:
Pour résoudre ce problème, vous devez suivre les étapes ci-dessous:
Étape 1 : Faites un clic droit sur tout ce fichier et cliquez sur "Unset Executable" comme indiqué dans la capture d'écran ci-dessous:
Étape 2 : Maintenant, cliquez sur le bouton "Tout mettre en scène", et maintenant il mettra en scène tous les fichiers. Vous pouvez maintenant valider le serveur avec succès.
Lors de la recherche de la mauvaise adresse dans la fenêtre contextuelle HubBox, il n'y a pas de message d'erreur. Lorsque coché sur la console, vous obtenez une erreur du type "_messageErrorTemplate n'est pas une fonction“.
Solution
L'erreur: "_messageErrorTemplate n'est pas une fonction"arrive car cette fonction n’est pas déclarée comme fonction dans la bibliothèque HubBox.
Pour résoudre ce problème, vous devez apporter quelques modifications à la bibliothèque de HubBox:
Vous devez modifier les deux fichiers ci-dessous:
1. \ HubBox \ Java \ src \ main \ resources \ static \ index.html 2. \ HubBox \ Java \ out \ production \ resources \ static \ index.html Dans ces fichiers, recherchez le code ci-dessous:
var _messageErrorTemplate = Moustache.render (_messageError || ""); var _messageWarning = $ (selectors.messages.warning) .html (); var _messageWarningTemplate = Moustache.render (_messageWarning || "");
et remplacez-le par le code ci-dessous:
var _messageErrorTemplate = function () {return Moustache.render (_messageError || ""); }; var _messageWarning = $ (selectors.messages.warning) .html (); var _messageWarningTemplate = function () {return Moustache.render (_messageWarning || ""); };
En déclarant '_messageErrorTemplate»Et«_messageWarningTemplateEn tant que fonction, vous obtiendrez maintenant un message d'erreur si vous recherchez une adresse erronée dans la fenêtre contextuelle HubBox.
Objectif: Pour apprendre à créer et à lire le cookie à l'aide de JavaScript. Un cookie est un petit fichier de données enregistré sur le périphérique de l'utilisateur par le site Web. Il est utile de stocker des données pour identifier l’utilisateur ou pour le suivre. Lorsque l'utilisateur visite à nouveau le site Web, les données stockées peuvent être lues facilement.
Étape 1: Pour définir le cookie sur la machine utilisateur
Avec la fonction createCookie (), vous pouvez facilement créer le cookie en transmettant le nom, la valeur (les données que vous souhaitez stocker) et la date d'expiration.
function createCookie (nom, valeur, jours) {if (jours) {var date = new Date (); date.setTime (date.getTime () + (jours * 24 * 60 * 60 * 1000)); var expires = '; expires =' + date.toGMTString (); } else {var expires = ''; } // définition du cookie document.cookie = nom + '=' + valeur + expire + '; chemin = / '; }
Step2: Pour lire le cookie
Vous pouvez facilement lire le cookie à l'aide de la fonction ci-dessous en fournissant le nom du cookie.
fonction readCookie (name) {var nameEQ = nom + '='; // lecture du cookie var ca = document.cookie.split (';'); // traitement pour obtenir le contenu de (var i = 0; i <longueur.al; i ++) {var c = ca [i]; tandis que (c.charAt (0) == '') {c = cstrstring (1, c.length); } if (c.indexOf (nameEQ) == 0) {// retourne le contenu actuel renvoie csubstring (nameEQ.length, c.length); }} return null; }
Exemple: Exemple pour stocker le nom d'utilisateur dans le cookie.
if (cookies == 'oui') {jQuery ('document'). ready (function () {// cookie rouge var cook = readCookie ('Votre site Web'); if (cook! = 'true') {// appelant créer le cookie s'il n'est pas trouvé createCookie ('YourWebsite', 'user_name = akash', 30);}}); }
Vous pouvez voir le cookie stocké dans la console du navigateur:
Dépendance: Vous devrez inclure le fichier jquery min js pour exécuter l'exemple. Pour cela, vous pouvez utiliser la ligne de code ci-dessous.
Objectif: Pour apprendre comment utiliser le même nom de la classe en PHP en utilisant namespace. Généralement, nous ne pouvons pas utiliser deux classes ou plus avec le même nom. Cela donnera une erreur: "Impossible de redéclarer une classe" comme indiqué ci-dessous-
Pour gérer cela, nous pouvons utiliser l’espace de noms comme indiqué dans l’exemple ci-dessous: 1. Définir l'espace de noms Demo1 avec la classe Student dans le fichier Demo1 / Student.php
<? php namespace Demo1; class Student {// Tout le code sera présent pour cette classe var $ a = 10; }?>
2. Définition de l'espace de noms Demo2 avec la classe Student (classe portant le même nom) dans Demo2 / Student.php
<? php namespace Demo2; class Student {// Tout le code sera présent pour cette classe var $ a = 20; }?>
3. Maintenant, dans le fichier exemple index.php, nous pouvons utiliser les deux classes sans erreur:
<? php // incluant les deux classes d'étudiants nécessite "Demo1 / Student.php"; nécessite "Demo2 / Student.php"; // création d'une instance de Demo1 \ Student () $ Student1 = new Demo1 \ Student (); // utilisation de la fonctionnalité de première classe echo $ Student1-> a. '<br>'; // création d'une autre instance de Demo2 \ Student () $ Student2 = new Demo2 \ Student (); // utilisation de la fonctionnalité de deuxième classe echo $ Student2-> a;
Écran de sortie:
10 20
Les deux classes auront des fonctionnalités différentes et nous pourrons les utiliser facilement dans un seul fichier.
Remarque : Nous pouvons simplifier le code en utilisant la fonction PHP use ():
utilisez Demo1 \ Student en tant que Student1; $ Student1 = new Student1 (); echo $ Student1-> a. '<br>'; utilisez Demo2 \ Student en tant que Student2; $ Student2 = new Student2 (); echo $ Student2-> a;
Objectif: Pour apprendre à utiliser n'importe quelle instance de classe sans inclure le fichier de classe. Généralement, si nous voulons utiliser l'instance d'une classe, nous devons d'abord inclure le fichier de classe par l'une des fonctions 4:
comprendre
include_once
exiger
Demandez une fois
Comme ci-dessous,
// inclus toutes les classes require "classes / Testing1.php"; require "classes / Testing2.php"; // utilise maintenant les fonctionnalités de la classe $ testing1 = new Testing1; echo $ testing1-> a; $ testing2 = new Testing2; echo $ testing2-> a;
Mais s'il y a beaucoup de classes que nous voulons utiliser, nous devrons inclure tous les fichiers pour pouvoir créer l'instance de la classe. Supposons que s'il y a des centaines de classes, nous devrons toutes les inclure et cela prendra beaucoup de temps et d'espace. Pour surmonter cela, nous pouvons utiliser le code ci-dessous:
function auto_loader ($ class) {$ file = "classes / {$ class} .php"; // chemin de toutes les classes // ceci vérifiera s'il existe un fichier if (is_file ($ file)) {// si finalement le fichier existe, il inclura le fichier include $ file; }} // Pour inscrire auto_loader () pour appeler cette fonction séquentiellement lorsqu'une nouvelle classe est déclarée spl_autoload_register ("auto_loader"); // utilise maintenant les fonctionnalités de la classe $ testing1 = new Testing1; echo $ testing1-> a; $ testing2 = new Testing2; echo $ testing2-> a;
En utilisant le code ci-dessus, la classe requise sera automatiquement incluse lors de l'utilisation de la classe. Il n'inclura pas d'autres classes qui ne sont pas nécessaires. Structure du fichier:
Déclaration du problème: Erreur lors de la réponse de l'API d'authentification de HubBox ie. "Erreur Api HubBox: Code de réponse incorrect”
Solution:? If you are facing issue as shown below while you are checking Authentication API, it may be because of Authentication API is verifying SSL certificate for connection.
Pour cela, vous pouvez désactiver la vérification SSL dans la demande CURL en ajoutant des lignes ci-dessous.
Effectuez la modification de la requête curl de l'API d'authentification dans la fonction refreshToken () de HubBox / PHP / HubBox / Authentication.php comme indiqué ci-dessous:
Si tel était le problème, vous devrez ajouter ces lignes dans toutes les API des API de création, de suppression de parcelle, d'ajout, de suivi et de point de collecte de HubBox, comme décrit ci-dessous.
Créer une API de colis: Effectuez la modification de la requête curl de l’API Créer une parcelle dans la fonction sendOrder () de HubBox / PHP / HubBox / Parcel.php comme indiqué ci-dessous:
Annuler l'API Parcel: Effectuez la modification de la requête curl de l’API Cancel Parcel dans la fonction cancelOrder () de HubBox / PHP / HubBox / Parcel.php comme indiqué ci-dessous:
Ajouter une API de suivi: Effectuez la modification de la requête curl de l'API Add Tracking dans la fonction addTracking () de HubBox / PHP / HubBox / Parcel.php comme indiqué ci-dessous:
API Collectpoint: Effectuez la modification de la requête curl de l'API Collectpoint dans la fonction getCollectPoint () de HubBox / PHP / HubBox / CollectPoints.php comme indiqué ci-dessous:
Déclaration de problème:? Wrong product data coming in the response of Create Parcel API of HubBox Sandbox account.
Solution: Si vous rencontrez ce problème dans le compte sandbox HubBox comme indiqué ci-dessous, vous pouvez l'ignorer sur le compte sandbox, car cela fonctionnera correctement dans le compte Production de HubBox. Données de produit envoyées dans la demande de l’API de création de parcelle:
L'envoi n'est pas enregistré sur l'horodatage envoyé et aucune erreur n'est signalée dans la réponse.
Solution:
Nous avons généré un ticket pour le même produit et ils ont répondu que ce problème était survenu car le paramètre de messagerie du destinataire n'était pas envoyé dans l'API d'expédition. https://api.myparcel.com/shipments
Selon la documentation de Spring Omni, ce courrier électronique est un paramètre facultatif:
Donc, nous avons de nouveau levé un ticket sur Spring Omni à ce sujet et ils ont répondu: L'envoi ne parvient pas à être créé car l'adresse e-mail du destinataire n'a pas été renseignée. Bien que le schéma indique que cette option est facultative, Spring requiert l’adresse électronique pour que les opérateurs puissent envoyer des notifications au destinataire (s’ils offrent ce service).
L'e-mail du destinataire est donc un paramètre obligatoire dans Spring Omni et doit être envoyé dans l'API d'expédition. Pour plus de blogs liés, s'il vous plaît visitez ici: