Page 1 sur 1

Page d'inscription jeu php

Posté : 29 oct. 2011, 17:00
par Malk
Bonjour à tous,
Je viens de me lancer dans la "construction" d'un jeu en php et j'ai un petit soucis au niveau de l'inscription.

Je vous montre le code que j'utilise.
Pour le sql :

Code : Tout sélectionner

CREATE TABLE `membres` ( `id` mediumint(9) NOT NULL auto_increment, `session` text NOT NULL, `pseudo` text NOT NULL, `passe` text NOT NULL, `email` text NOT NULL, KEY `id` (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
et pour le php :

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <title>Wargame</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" media="screen" type="text/css" title="Wargame" href="design.css" /> <script type="text/javascript" src="bandeau.js"></script> <script language="JavaScript"> <!--function menuderoulant(selection) {window.location=selection.options[selection.selectedIndex].value; } //--> </script> </head> <body> <div class="banniere"> </div><br> <div id="moncadre"> <?php session_start(); require_once('config.php'); $titre_page='Inscription'; include_once('haut.php'); ?><form method='post' action='verification.php' enctype='multipart/form-data'> <table width="400" border="0" align="center"> <tr> <td colspan="2" class="menu">Inscription</td> </tr> <td> <P class="menus"><label>Type de royaume : <select name="Type" onChange=""> <option value="">- - - - - - - -</option> <option value="Commerçant">Commerçant</option> <option value="Raideur">Raideur</option> <option value="Raseur">Raseur</option> </p></select></label></td> <tr> <td><label for="pseudo">Nom du royaume : </label></td> <td><input name="pseudo" type="text" id="pseudo" /></td> </tr> <tr> <td><label for="email">E-mail : </label></td> <td><input name="email" type="text" id="email" /></td> </tr> <tr> <td><label for="mdp">Mot de passe : </label></td> <td><input name="mdp" type="password" id="mdp" /></td> </tr> <tr> <td><label for="mdp2">Confirmation du mot de passe : </label></td> <td><input name="mdp2" type="password" id="mdp2" /></td> </tr> <tr> <td><div align="center"><input type="submit" value="S'inscrire" /></div></td> </tr> </table> </form> </div> </p> <center><a href="index.php">Retour</a></center> </div> </body> <?php include_once('bas.php'); ?>
Ce qui me donne se résultat :
Image

J'aimerai que le déroulant de type de royaume soit à coté et non en dessous ainsi que quand je sélectionne un type il y ai une description et enfin que le type soit également entrer dans la bdd afin que je puisse choisir différent avantage en fonction du type.

Si quelqu'un pourrait m'aider ça serait gentil de ça part.
Merci d'avance et bonne fin de journée à vous.

Re: Page d'inscription jeu php

Posté : 30 oct. 2011, 00:59
par moogli
salut,

Déjà ton code ne peux fonctionner le session_start() ne doit pas après un affichage (donc en gros tous ce qui est html avant).
Je te revoie vers la doc pour plus d'info http://www.php.net

la mise en page avec les tableaux, en dehors d'être "obsolète", doit être à l'origine du problème de placement (en en dessous de quoi ?)
si tu souhaite qu'il y a une information qui s'affiche a coté de la liste sur changement de celle ci il va falloir passez par javascript (avec l'évènement onchange tu utilise une fonction JS qui va changer le 'tools tips' a coté de la liste). Ton code a d'ailleurs beaucoup de chose dans ce sens (hors mis le windows.location)

attention tu ferme la balise <p> avant la balise <select> or tu les ouvertes dans ce sens, donc select doit être fermée avant <p>.

@+

Re: Page d'inscription jeu php

Posté : 31 oct. 2011, 12:27
par Malk
Merci, pour le problème affichage c'est réglé mais je n'arrive pas à ajouter le type de royaume dans la bdd.
Quand je m'inscrit il me dit :
Erreur : Column count doesn't match value count at row 1
Et pour ton tuto il l'a version french ? :D

Re: Page d'inscription jeu php

Posté : 31 oct. 2011, 12:28
par xTG
Exemple de ce qui occasionne ce genre d'erreur :
INSERT into maTable(champ1, champ2, champ3)
VALUES ('val1', 'val2');
Cette requête attends 3 valeurs et je ne lui en passe que deux, cela occasionnera cette erreur. :)

Re: Page d'inscription jeu php

Posté : 31 oct. 2011, 13:03
par Malk
Merci de cette réponse rapide problème résolu mais cette fois-ci j'en ai un aurtre fin je sais pas comment dire que le champ ne doit pas être vide.
if(!$royaume <=0)
{

echo'Merci de choisir un Royaume.<br /><a href="inscription.php" onClick="history.back()">Retour</a>';

include_once('bas.php');

return FALSE;
}
Dans le menu j'ai mit 4 types : (-------) qui est par défaut et ne correspond à rien, (commerçant)(raideur)(raseur)qui sont les types.
Comment lui dire que (-------) ne peut être prit ?

Et autre chose qui n'a rien à voir avec ça fin un petit peu.
$royaume=formulaires($_POST['royaume']);
Cela signifie quoi ? ça crée la variable mais "=formulaires" reviens à quoi ? de même pour "($_POST['royaume']);"
Je comprend pas forcément tout ce que j'écrit :D

Merci d'avance.

Re: Page d'inscription jeu php

Posté : 31 oct. 2011, 13:08
par xTG
formulaires() est une fonction qui fait... aucune idée ! Sans doute une fonction de filtrage ?

$_POST['royaume'] est une valeur envoyée par méthode POST, donc grâce à un formulaire généralement.

Pour ton type que tu veux filtrer il suffit de lui associer une valeur, ensuite il suffit de tester que la valeur envoyée est différente de celle non voulue.
Exemple :
<select name="monSelect">
  <option value="-1">-----</option>
  <option value="1">premier</option>
  <option value="2">second</option>
</select>
Il suffit dans cet exemple de vérifier que la valeur reçue est différente de -1.

Re: Page d'inscription jeu php

Posté : 31 oct. 2011, 14:20
par Malk
Merci cela fonctionne à merveille.