- Statut : non résolu
- Ce sujet contient 16 réponses, 3 participants et a été mis à jour pour la dernière fois par Guy, le il y a 13 années et 1 mois.
-
AuteurMessages
-
18 août 2011 à 22 h 19 min #498741
Bonjour,
Ma configuration WP actuelle
– Version de WordPress : 3.2.1
– Version de PHP/MySQL : php: 5.1.41 mysql: 5.5.15
– Thème utilisé : boldy
– Extensions en place : akismet, bbpress, bbpressintegration, exec-php, hello dolly, smart youtube, wp-mail-smtp
– Nom de l’hebergeur : myriapulse
– Adresse du site : http://minesword.myriapulse.com/Problème(s) rencontré(s) : Je souhaite utiliser le nom de compte de l’utilisateur dans un script php
J’utilise donc ce code::<?php
if(isset($_GET['data']) AND $_GET['data'] == 'true'){
//Reportage erreures php
error_reporting(E_ALL);
//Infos Database
$dbhost = '****';
$dbuser = '****';
$dbpass = '*****';
$dbname = '******';
$dbtable = 'iConomy';
//Connexion à la base
$conn = mysql_connect ($dbhost, $dbuser, $dbpass) or die ('Error: ' . mysql_error());
mysql_select_db($dbname) or die(mysql_error()) ;
$query = "SELECT * FROM iConomy WHERE username='"$_SESSION['id']"'";
$result = mysql_query($query, $conn) or die($query . " - " . mysql_error());
$row = mysql_fetch_row($result);
mysql_query("UPDATE iConomy SET balance=balance+500 WHERE id=".$row[0]);
//Déconnexion
mysql_close();
echo '<script language="Javascript">
<!--
document.location.replace("http://minesword.myriapulse.com");
// -->
</script>‘;
}else{
echo « Tricheur »;
}
?>Le problème c’est que quand je l’exécute j’obtiens ce message d’erreur « Parse error: syntax error, unexpected T_VARIABLE in /var/www/site/minesword.myriapulse.com/allopo.php on line 14« .
Que dois-je mettre à la place deusername=' »$_SESSION[‘id’] »‘ »;
pour que l’username soit celui du membre du site ?
Merci d’avance 🙂19 août 2011 à 6 h 48 min #788621mettre
$query = « SELECT * FROM iConomy WHERE username=' » . $_SESSION[‘id’] . « ‘ »;
19 août 2011 à 6 h 50 min #788622Oo je viens de voir un truc qui pourrait m’aider, les infos de connexion pour savoir si on est loggé sont donc dirrectement à la racine du $_SESSION
19 août 2011 à 7 h 09 min #788620je ne suis pas certain que WordPress mette les infos de connexion dans une variable de session, il est possible que cela ait été fait pour les besoins particuliers de ce script.
19 août 2011 à 9 h 53 min #788623Effectivement wordpress n’aime pas les session … Elle ne sont utilisable que dans les plugins. du coup je me demande dans comment wp arrive il à savoir si on est co ou non ?
19 août 2011 à 14 h 25 min #788624Quand je met ce que tu m’as dit Guy ça me fait:
Notice: Undefined variable: _SESSION in /var/www/site/minesword.myriapulse.com/allopo.php on line 14
😕
19 août 2011 à 14 h 39 min #788625tu as fait un session_start() en début de fichier?
19 août 2011 à 14 h 51 min #788626Voici mon code:
<?php
session_start();
if(isset($_GET['data']) AND $_GET['data'] == 'true'){
//Reportage erreures php
error_reporting(E_ALL);
//Infos Database
$dbhost = '******';
$dbuser = '******';
$dbpass = '*******';
$dbname = '*******';
$dbtable = 'iConomy';
//Connexion à la base
$conn = mysql_connect ($dbhost, $dbuser, $dbpass) or die ('Error: ' . mysql_error());
mysql_select_db($dbname) or die(mysql_error()) ;
$query = "SELECT * FROM iConomy WHERE username='" . $_SESSION['id'] . "'";
$result = mysql_query($query, $conn) or die($query . " – " . mysql_error());
$row = mysql_fetch_row($result);
mysql_query("UPDATE iConomy SET balance=balance+500 WHERE id=".$row[0]);
//Déconnexion
mysql_close();
echo '
<!--
document.location.replace("http://minesword.myriapulse.com");
// -->
‘;
}else{
echo « Tricheur »;
}
?>J’avais oublié de le mettre mais maintenant ça m’affiche:
Notice: Undefined index: id in /var/www/site/minesword.myriapulse.com/allopo.php on line 15
19 août 2011 à 15 h 02 min #788627ben…. c’est toi qui avait mis id 🙂
Je ne sais pas ce qu’il y a dans $_SESSION, c’est toi qui le remplis j’ai aucun moyen de le savoir
19 août 2011 à 15 h 04 min #788628Comment faire donc pour que username soit le nom de compte wordpress du type qui utilise la page ? 😕
19 août 2011 à 15 h 12 min #788629ah, je pensais que tu l’avais déja mis dans ta variable de session
if(is_user_logged_in())
{
global $current_user;
get_currentuserinfo();
echo ‘Username: ‘ . $current_user->user_login . « n »;
echo ‘User email: ‘ . $current_user->user_email . « n »;
echo ‘User first name: ‘ . $current_user->user_firstname . « n »;
echo ‘User last name: ‘ . $current_user->user_lastname . « n »;
echo ‘User display name: ‘ . $current_user->display_name . « n »;
echo ‘User ID: ‘ . $current_user->ID . « n »;
}19 août 2011 à 15 h 18 min #788630Fatal error: Call to undefined function is_user_logged_in() in /var/www/site/minesword.myriapulse.com/allopo.php on line 3
J’ai collé ce que tu m’as donné au début du script, je dois le mettre où stp ? :boulet:
19 août 2011 à 16 h 32 min #788631il faut inclure les fonctions php, c’est à dire inclure wp-load.php avant d’appeler les fonctions de WordPress.
19 août 2011 à 19 h 08 min #788632J’ai plutôt utilisé un système de formulaire pour allopass ou l’utilisateur entre son pseudo et le code allopass. Dans une page on a:
<form name="APform" action="http://payment.allopass.com/acte/access.apu" method="post" style="text-align:center;clear:both">
<!-- J'y ai mis mon ids -->
<!-- J'y ai mis mon idd -->
</form>Et sur la page où ça envoie (allopo.php):
<?php
if(isset($_GET['data']) AND $_GET['data'] == 'true'){
//Reportage erreures php
error_reporting(E_ALL);
//Infos Database
$dbhost = '****';
$dbuser = '*******';
$dbpass = '*****';
$dbname = '*******';
$dbtable = 'iConomy';
//Connexion à la base
$conn = mysql_connect ($dbhost, $dbuser, $dbpass) or die ('Error: ' . mysql_error());
mysql_select_db($dbname) or die(mysql_error()) ;
$player = $_POST['Pseudo'];
$query = "SELECT * FROM iConomy WHERE username='".$player."'";
$result = mysql_query($query, $conn) or die($query . " – " . mysql_error());
$row = mysql_fetch_row($result);
mysql_query("UPDATE iConomy SET balance=balance+500 WHERE id=".$row[0]);
//Déconnexion
mysql_close();
echo '
<!--
document.location.replace("http://minesword.myriapulse.com");
// -->
‘;
}else{
echo « Tricheur »;
}
?>Le problème c’est que sur allopo.php j’obtiens:
Notice: Undefined index: Pseudo in /var/www/site/minesword.myriapulse.com/allopo.php on line 12
Comment corriger ça ?
Merci d’avance . 🙂19 août 2011 à 20 h 08 min #788633faut voir avec allopass ce qu’ils renvoient comme valeur (si ils en renvoient) et sous quelle forme
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.