Bonjour à tous,
J'ai un petit problème.
Comment faire pour récupérer les informations du joueur dans une table précise. Pour éviter que chacun récupère les memes informations.
Merci
Voici mon script
Code PHP :
<?
mysql_connect("******","******","******") or die(mysql_error());
mysql_select_db("******") or die(mysql_error());
$usr_name = $_POST['usr_name']; //On recupère le pseudo
$password = $_POST['password']; // le pass
$reponse = mysql_query ("SELECT * FROM utilisateurs WHERE usr_name='" . $usr_name . "'"); //info récup du pseudo
$donnees = mysql_fetch_array ($reponse) or die (mysql_error());
echo '<font face="Verdana" size="2"><b>Nom: </b>'.$_SESSION['usr_name'].'<br/>';
echo '<font face="Verdana" size="2"><b>Peuple: </b> '.$_SESSION['classe'].' <br/>';
echo '<font face="Verdana" size="2"><b>Grade: </b>'.$_SESSION['grade'].'<br/>';
mysql_close();
?>
Ici, je n'arrive pas à récupérer l'information classe et grade. :S
Tu cherches tes données dans $_SESSION alors qu'elles sont dans $donnees.
En plus de ça, tu ne démarres même pas de session {session_start()} donc aucune chance que tu trouves quoi que ce soit même si tu avais préalablement enregistré quelque chose.
Salut,
1) je t'ai fait un mp, change rapidement ce que tu dois changer dans que tu as affiché ^^
2) tu récupères des données $_POST mais à mon gout il manque une sécurité.
avant de faire
Code PHP :
<?php
$usr_name = $_POST['usr_name'];
tu devrez faire une vérification de sécurité pour voir si les données POST sont bien transmises :
Code PHP :
<?php
if (isset($_POST['usr_name']) && isset($_POST['password'])) {
// traitement
}
else {
echo 'erreur : vous n avez pas rempli le formulaire !';
}
Ca évite d'abord les erreurs de base si tes données POST sont vides, ca évite aussi par la suite que des petits malins fassent des formulaires maisons et t'envoies n'importe quoi, et surtout ca permet de débugger au passage.
Moi je rajoute même une sécurité sur tous mes formulaire : je donne un nom au bouton, et je vérifie à l'arrivée que le nom est bon :
Code PHP :
<?php
<input type="submit" name="post_submit" value=" Envoyer " />
// et je vérifie à l'arrivée que c'est bon, en même temps que tous les autres vars POST du formulaire :
if (isset($_POST['post_submit']) && $_POST['post_submit']==' Envoyer ' && ...) {
//ok
}
else { // ya un hic }
Je comprend pas trop pourquoi tu te connecte la deuxieme fois a la base de donnée alors que tu ne t'es meme pas deconnecter la premiere fois bref une seul fois suffit normalement ( et tu devrait te connecter apres ton session start je pense)
Ensuite tu fait deux requete
Code PHP :
<?php
$reponse = mysql_query("SELECT * FROM usine WHERE usine_prodid = '1' ");
Code PHP :
<?php
$reponse = mysql_query ("SELECT * FROM utilisateurs WHERE usr_name='" . $usr_name . "'");
Pour la double connexion à la table je confirme: inutile.
Ensuite pour ce qui concerne le nom de la variable, si aucun traitement sur la première requète n'est nécesaire, ça ne posera aucun soucis pour la suite. Faudra juste être certains que les données stockées dans le premier $reponse ne seront pas utiles pour la suite.
Sinon j'appuis Raoull sur le fait que des détails sur les problèmes rencontrés seraient les bienvenus. J'avoue ne pas avoir suffisament de motivation pour chercher à connaitre ton problème, à comprendre ton problème pour pouvoir le résoudre après ^^
[EDIT] Grilled Raoull
[EDIT2] Ouais genre, on est tous dans le même cas. Pas d'excuses
Oui c'est vrai que tu te connectes 2 fois ... c'est inutile et vraiement pas recommandé. Et ferme aussi ta connection à la fin de ton script (mysql_close()
!! C'est très très crade sinon !
Pour le meme nom... ca dépend si tu as fini d'utiliser le 1er resultat tu peux utilisre le même, mais c'est sur que par principe il vaut mieux donner des noms differnets et clairs, pour pas s'emmeler les pinceaux.
EDIT : hé oui ... c'est la fin de journée je n'ai plus tous mes reflexes
Merci pour ces réponses.
Bah le probleme, c'est que seul le script des ressources s'affichent. Le script de l'horloge, des echo classe, grade, usr_name ne s'affichent pas. Et je ne comprends pas pourquoi :S
J'ai modifié les variables pour éviter les memes noms, mais cela ne marche toujours pas.
Voici le screenshot de la page ou seul les ressources s'affichent:
http://ap0calypse.free.fr/bug.jpg
Merci
Je me doutes bien que ça ne marche pas plus, je l'ai expliqué plus haut
Pour le reste, je vais chercher