Besoin de vous : une sorte d'espace membre basique

cs_tinot Messages postés 3 Date d'inscription vendredi 11 juin 2010 Statut Membre Dernière intervention 12 juin 2010 - 11 juin 2010 à 21:02
cs_tinot Messages postés 3 Date d'inscription vendredi 11 juin 2010 Statut Membre Dernière intervention 12 juin 2010 - 12 juin 2010 à 17:07
Bonjour,

Voilà je veux réaliser un truc assez simple et basique, mais je n'y arrive pas (débutant) et avec les études en même temps encore moins.

C'est pourtant simple : une sorte de "espace membre" qui demande un pseudo et un mot de passe et une fois connecté il indique un nombre de points.

Pas besoin de formulaire d'inscription, j'ajoute les membres moi même car pas tous n'auront le droit. Les points c'est pareil, ça évolue par rapport à un jeu dont ces personnes seront les clientes.

J'ai créé une table avec :
pseudo en Text
mdp en varchar
points en int

J'ai cherché des scripts déjà réalisés, mais ils ne me conviennent pas. En effet, tous les scripts donnés sont pour accéder à des pages non partagés avec les invités. Ce que moi je désire, c'est une page par membre différent. Ainsi qu'une petite administration qui me permette de rajouter les membres et de modifier leurs points.

Je sais que ça ne doit pas être dur, mais si vous me veniez en aide ça serait pas de refus !

4 réponses

mailliam Messages postés 261 Date d'inscription mardi 2 juillet 2002 Statut Membre Dernière intervention 10 mars 2014 3
12 juin 2010 à 11:01
Tchô,

bin si vraiment tu veux pas te faire ch*** avec des sessions, pourquoi pas tout simplement faire un formulaire de ce style sur ta page .html:

<form method='post' action='xxx.php'>



</form>

qui te renvoie sur la page xxx.php:
$login=$_POST['login'];
$mdp=$_POST['mdp'];
mysql_connect("serveur", "root", "pass");

mysql_select_db("base");
$reponse mysql_query("SELECT points FROM TaBase WHERE pseudo '$login' AND mdp = '$mdp'");
mysql_close();

// Puis on fait une boucle pour afficher les réponses
while ($donnees = mysql_fetch_array($reponse) )
{
echo 'Votre nombre de pts: '.$donnees['points'];
}

C'est ca que tu veux faire?
0
cs_tinot Messages postés 3 Date d'inscription vendredi 11 juin 2010 Statut Membre Dernière intervention 12 juin 2010
12 juin 2010 à 14:25
Salut,

Tout d'abord merci d'avoir pris la peine de répondre !

J'ai essayé ton code, j'ai pris mon formulaire qui envoi sur la page 2 qui est ton code php, j'ai écris une ligne dans mes tables comme ceci :
[i]INSERT INTO matable(pseudo, mdp, points)
VALUES ('Test', 345, 8);/i

J'ai donc mis la page1.html et la page2.php sur le ftp, j'essaye de me connecter avec Test mais rien ne s'affiche sur la page 2.

Par contre dans ton code il n'y a pas la gestion en cas que le pseudo ne correspond pas au mot de passe etc.
0
mailliam Messages postés 261 Date d'inscription mardi 2 juillet 2002 Statut Membre Dernière intervention 10 mars 2014 3
12 juin 2010 à 16:17
Re,

ouais j'ai pas testé, j'ai mis le principe :)

Déjà je vois que j'ai fait une faute dans la page.php!
j'ai mis $login=$_POST['login'] alors que le formulaire envoie pseudo..

bon ok refaisons tout un peu mieux:

refais la table avec:
pseudo, pass et points (le tout en varchar)


une page acces.html: (je mets login et pass car j'ai + l'habitude comme ca..)
<html><head>
<title>Espace Membre</title>
</head>

<form method='post' action='acces.php'>



</form></html>



et ensuite la page acces.php:
<html>
<head>
<title>Espace Membre</title>
</head>


<?php
//ouverture de la connexion MySQL
mysql_connect("serveur", "root", "pass");
mysql_select_db("TaBase");

if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) {

  extract($_POST);

// on recupère le password de la table qui correspond au login du visiteur

  $sql = "select * from TaTable where pseudo='".$login."'";

  $req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());

  $data = mysql_fetch_assoc($req);

// On se déconnecte de MySQL

mysql_close();
  if($data['pass'] != $pass) {

    echo 'Mauvais login ou mot de passe. Attention de respecter les Majuscules.</html>';

    exit;

  }

  else {

    echo 'Vous êtes bien logué
';
    echo 'Voici votre nombre de points: '.$data['points'].'</html>';
    exit;

  }    

}

else {

  echo 'Vous avez oublié de remplir un champ.</html>';

  exit;

}

?>

ca devrait jouer comme ca
0
cs_tinot Messages postés 3 Date d'inscription vendredi 11 juin 2010 Statut Membre Dernière intervention 12 juin 2010
12 juin 2010 à 17:07
Waouh génial ça fonctionne impeccable ! Je t'en remercie infiniment ! En plus c'est simple, moi je fessais plus compliqué. Bon après c'est sûr qu'il va falloir que je sécurise le acces.php qui contient les informations du serveur.

Sans doute avec un .htacces (va falloir que je m'y colle).

Par contre, comme tu dois bien t'en douter, ça serai lourd de devoir lancer a chaque fois des requêtes SQL depuis MySQL pour changer les points et rajouter des membres.

Donc voici ce que j'ai codé :

<?php
$pseudo = $_POST['pseudo'];
$pass = $_POST['pass'];
$points = $_POST['points'];


mysql_connect("serveur", "identifiant", "motdepasse");
mysql_select_db("base");

$requete mysql_query("SELECT COUNT(*) AS nb FROM matable WHERE pseudo '$pseudo'") or die (mysql_error);
$req_exec = mysql_query($requete) or die(mysql_error());
$resultat = mysql_fetch_assoc($req_exec);
if ($resultat['nb'] == 0 )
{
mysql_query("INSERT INTO matable (pseudo, mdp, points) VALUES ('$pseudo', '$mdp', '$points')");
}
else
{
mysql_query("UPDATE matable SET points '$points' WHERE pseudo '$pseudo'");
}
?>

mais rien, il m'affiche cette erreur :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Resource id #2' at line 1

Tu sais d'où sa peut venir ?
0
Rejoignez-nous