Je viens de créer un fichier PHP pour mettre à jour un champ de MySQL DB, ma requête de mise à jour est l'endroit où j'ai un problème, je souhaite définir "user_id" pour être l'user_id de l'utilisateur actuel connecté afin que la mise à jour puisse aller à l'utilisateur approprié. Je n'ai pas pu obtenir cela pour travailler. Je pense que c'est parce que je n'ai pas déclaré l'utilisateur actuel plus tôt dans le code, comment puis-je faire cela?
Voici la ligne: p>
<?php $servername = "localhost"; $username = "sparyqmr_wp324"; $password = "(S8p3uV-2t"; $dbname = "sparyqmr_wp324"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "UPDATE wp85_usermeta SET `meta_value` = `meta_value`+65000 WHERE `user_id` = user_id AND `meta_key` = 'mycred_default'"; if ($conn->query($sql) === TRUE) { echo "Record updated successfully"; } else { echo "Error updating record: " . $conn->error; } $conn->close(); ?>
3 Réponses :
Essayez d'utiliser des variables de session. Les variables de session sont des variables de globaux qui sont stockées sur le serveur pour chaque utilisateur.
Si un enregistrement utilisateur INS, vous pouvez stocker son identifiant dans une session variable. Si la session est démarrée, vous pouvez accéder à cette variable dans tous vos documents. P>
Vous pouvez démarrer une session avec: p>
Vous pouvez définir une variable de session, avec le code suivant: p> session_start (); code> p>
Sessions est une excellente solution pour les produits à faible trafic. Une fois que vous avez augmenté et ajoutez des machines, cela crée de nouveaux problèmes. Il est préférable d'utiliser quelque chose comme JWT (un jeton signé) qui peut être transmis dans le cadre de la demande, par exemple, en tant que cookie et lu indépendamment par chaque demande. Vous pouvez en savoir plus à ce sujet ici - jwt.io/introduction . Dit que, pour WordPress spécifiquement, il existe probablement de simples solutions comme celle indiquée dans l'autre réponse. Je lirais leurs documents pour voir comment faire des choses telles - développeur.wordpress.org/reference/ Fonctions / GET_CURRENT_USER _ID
connecté des informations utilisateur est dans WP Session Cookies . Exemple: P> foreach ($_COOKIE as $k => $v) {
if ( preg_match( "/wordpress_logged_in/", $k ) ) {
// DO SOMETHING WITH THIS COOKIE
} // end if matched login cookie
} // end foreach
J'ai pu résoudre cet ajout de ce qui suit au sommet de mon code en utilisant $ skrivid plus loin dans le code a automatiquement renvoyé l'ID utilisateur de l'utilisateur connecté p> p>