Messagerie


Re : $_session variable avec word press

lalexl
samedi 20 décembre 2014 à 17:35
bonjour,
je cherche a récuperer des variables de sessions du user de wordpress

du type :
function myStartSession() {
if ( ! session_id() ) {

      @session_start();
global $current_user;
      get_currentuserinfo();

$_SESSION['myKey'] = ' '. $current_user->user_login    . ' ';
}
   
}
sur une appli fusion 2.5 html5 mais ma variable reste vide dessus mais est bien affichée sur le net,
j' ais entendu lire qu il fallais mettre ses variables sur une bdd pour pouvoir lire et les transmettre ensuite a fusion 2.5
mais j' ais des lacunes en ce domaine quelqu un aurais t il des information sur cela ou un exemple de code merci^^
Xenon3K
763 messages
Fusion 2.5 Dev
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
samedi 20 décembre 2014 à 18:11
Bonjour, avec l'objet Html5 de Fusion tu peux appeler une fonction Javascript et récupérer le resultat.
Ainsi dans le code de ton site tu peu écrire ceci:
echo "
<script>
function getUserLogin(){
    return '".$current_user->user_login."';
}
</script>
";

Le code source de ton site affichera donc:
<script>
function getUserLogin(){
    return 'Xenon3k';
}
</script>

Et tu pourras le récupérer avec Fusion.
Modifié le samedi 20 décembre 2014 à 18:13 par Xenon3K
lalexl
samedi 20 décembre 2014 à 21:04
ah super merci Xenon j' avais pas pensé à  ca^^.
par contre une question donc j ais testé ton code ca marche impeccable pour le rendu du code source,
par contre depuis fusion 2.5 je ne sais pas trop quoi rentrer comme valeur dans l' expression à calculer dans l apelle de fonction java, je dois mettre l' url le nom de la fonction enfin je suis un peu perdu la?

expression à calculer :
"http://www.monsite.com/jeu/"
ou
"myStartSession()"
j ais testé les 2 mais celaa ne me retourne rien dans ma chaine de caractères
lalexl
dimanche 21 décembre 2014 à 12:34
bonjour, oui donc j' ais approfondi un peu le sujet du coté des variables à transmettre avec WordPress :
oui donc pour l' appelle  à la fonction j' ais trouvé il faillais donc que le java se trouve sur le même HTMLet pour l' appelle à la fonction du type:
<script>
login = function getUserLogin(){
    return '".$current_user->user_login."';
}
</script>
pour appeler login depuis fusion.
Enfin ça ne marchais toujours pas donc et bien j' ais fouiné un peu sur le net et j' ais vu qu' il faillais utiliser l' ajax avec json.
WordPress utilise pour dialoguer avec les autres APi des requêtes HTTP avec des POST GET et HEADER
voila bon je vais continuer un peu les recherches la dessus merci à toi Xenon.
lalexl
dimanche 21 décembre 2014 à 19:11
Donc voila j' ais trouvé ma réponse youpiiii :P

donc wordpress possède des fonctions de référence que l' on dois aller chercher depuis la racine du site à intégrer a notre fichier php à l' aide de hooks system de crochetage pour faire des appels du type add_action().

donc pour pouvoir appeler ces fonction comme celle du user que je cherchais pour get_currentuserinfo() qui me permettais de récupéré le nom du user à la connexion et ainsi m' éviter de me connecté depuis l' application de fusion via un formulaire de connexion.

il fallait donc mettre sur son fichier php un require_once du fichier wp-config.php
pour faire appel aux fonctions de wordpress et affecter ses cookies sur le chemin racine du dossier de mon fichier php à l aide d' un plugin qui se nomme root cookie.

enfin j' ais un peu galéré mais maintenant  tout fonctionne correctement sur fusion.

je peux à présent récupérer toute informations de wordpress via ses fonction pour les retranscrire sur fusion ou inversement avec un accès à la BDD depuis l' objet html5 en java ou avec le getObject.

voila je laisse ses infos sur ce poste si ça peux servir à quelqu' un^^

Pit73
1055 messages
Fusion 2.5 Dev
Exporteur iOS Exporteur Android Exporteur HTML5
lundi 22 décembre 2014 à 09:17
yop
Si tu as un exemple simple et précis ds un mfa ca m'interesse!
merci ;)
Pat
lalexl
lundi 22 décembre 2014 à 18:08
yop Pit73^^
alors le mfa ne te servira pas à grand chose car j' utilise les même techniques via l object get  avec un post pour envoyer  et un get received content pour récupérer les infos.
je te file des liens pour avoir des tuto et les sources de base pour sql bien qu ils doivent êtres connus^^.

https://www.youtube.com/watch?v=9-6IN0I6IBk
https://www.youtube.com/watch?v=_u7WUcf9U-Y
https://www.youtube.com/watch?v=9BuEZ2ZLwVg
fichiers securisé par une key : http://download.clickteam.com/misc/fr/tutoriels/tuto_secuscoreonline.zip

après le plus compliqué c' étais trouvé la méthode sur wordpress
la aussi je te file les liens  :

https://fr.wordpress.org/txt-download/
ca c' est toutes les infos sur les fonctions que tu pourra utiliser sur fusion.
http://codex.wordpress.org/Function_Reference
et pour récupérer une une info sur ton propre fichiers php et l'envoyé sur fusion il te faut donc un plugin pour les cookies :
https://wordpress.org/plugins/root-cookie/
voila et à partir de la une fois wordpress installé ainsi que son cookie,  tu aura à cocher la case dans le plug pour transmettre les cookies dans les sous répertoires de ton site.
puis via le fichier php je te fais un exemple simple, tu pourras envoyer ton pseudo ou autre de wordpress à fusion et inversement envoyé un scrore de fusion à ta base.

<?php
header("Access-Control-Allow-Origin: * ");
require_once('../../../wp-config.php');

//on recupe le pseudo depuis word press en appelant la fonction user_login
// exemple de la fonction http://codex.wordpress.org/Function_Reference/get_currentuserinfo
$pseudo = ''. $current_user->user_login . '';
$pseudo = mysql_real_escape_string($pseudo);
//on  fais un echo pour que fusion puisse le lire
//si plusieur echo de fais à ce moment la dans fusion il faut parse le string avec des séparateurs)
echo 'pseudo :'. htmlentities($pseudo) .'';


// exemple simple d' envois à la base depuis fusion
//variables de connexion à la BDD
$adresse = 'nom de la base';
$nom = 'nom connexion';
$motpasse = 'mdp';
$basedonnee = 'nom base donnée';


//connexion à la base
$bd = mysql_connect($adresse, $nom, $motpasse);
mysql_select_db($basedonnee, $bd);

//recupere variables de mmf pour le scrore
$score = mysql_real_escape_string($_POST['score']);

//condition de verif des variables si pseudo existe et mot de passe àlors on entre le score dans la bdd
// pensé à protegé en plus avec un key (pas fais ici) et d envoyer les infos protege par mysql_real_escape_string pour les injections bien que ca ne vienne pas d un formulaire
if (isset($pseudo)  && isset($_POST['score']) )
{
mysql_query( "INSERT INTO scrore VALUES('', '" . $pseudo ."', '" . $score . "')");
}

//deconnexion de la base
mysql_close();
?>
?>

voila avec les infos tu devrais pouvoir t' en sortir :P

à oui et pour afficher fusion dans word press dans un article ou autre en html 5 je passe par un iframe à voir.

<iframe width="800" height="600" src="http://monsite.com/fusion/index.html/"></iframe>




Utilisateurs en ligne
  • Aucun utilisateur en ligne
  • 33 visiteurs au total

Derniers messages