JeuWeb - Crée ton jeu par navigateur
Script d'inscription - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Script d'inscription (/showthread.php?tid=5269)

Pages : 1 2 3


RE: Script d'inscription - niahoo - 27-02-2011

Sinon ne faut il pas utiliser des "&&" plutot que des and ?

non c'est la même chose.


RE: Script d'inscription - Argorate - 27-02-2011

Globe: Revan avait deja fait remarqué l'erreur des "!" ^^
Sinon effectivement AND et OR marche très bien Wink


RE: Script d'inscription - php_addict - 27-02-2011

(27-02-2011, 03:03 PM)Globe a écrit : Sinon ne faut il pas utiliser des "&&" plutot que des and ?

ah ba oui ...

&& -> ajoute une condition
and -> operateur binaire


RE: Script d'inscription - Argorate - 27-02-2011

La seule différence c'est la priorité (comme dit ici):

&& et || sont prioritaire par rapport à AND et OR dans la résolution de conditions, mais généralement on mélange pas deux notation et on utilise plutôt les parenthèses pour gérer les priorité.


RE: Script d'inscription - vulcain - 27-02-2011

(27-02-2011, 01:52 AM)Argorate a écrit : HS: quel est l'utilité du double test: "isset($_POST['pseudo']) and !empty($_POST['pseudo'])"?

Sinon, pas besoin de parenthèse entre condition qui on tous le même connecteur logique, "and" en l'occurrence... ça clarifia un peu avec toutes ces parenthèse en moins ^^

Et sinon comme ça, je peux me trompé mais, es ce que ton menu déroulant peuples n'a pas ses options vide la première fois? du coup si c'est vide, c'est empty, donc normal qu'il bug quand tu le met dans le if, et qu'il ne bug plus quand tu l'enlèves, il faut que tu mettes un else dans ton formulaire pour mettre une valeur par defatu aux <option> non?

Je ne vois pas pourquoi je devrai mettre un else pour mon menu déroulant . Ca ne va pas fonctionné
(27-02-2011, 01:40 PM)niahoo a écrit : non mais le print_r() c'est pas une solution, c'est un moyen de comprendre le problème, il faut que tu nous montres ce que ça t'affiche.

Je l'ai dit, ça ne m'affiche rien de plus, à moins que je ne l'utilise pas correctement..

(27-02-2011, 02:42 PM)Argorate a écrit : ah bon? et tu veut debugger comment? invoquer les dieux du php ?

!empty($_POST['pseudo']) suffit non? car là vous dites: "si la variable existe ET qu'elle n'est pas vide.

Moi je dirais simplement "si la variable n'est pas vide" (ce qui induit forcément qu'elle existe...), ça enlève un test inutile a toutes ces valeur POST.


vulcain : as-tu lu et compris se que je t'ai dis?

Oui j'ai compris mais je n'en vois pas l'utilité
(27-02-2011, 03:03 PM)Globe a écrit :
    if ((isset($_POST['pseudo']) and empty($_POST['pseudo']))and (isset($_POST['pass']) and empty($_POST['pass'])) and (isset($_POST['pass_confirm'])
and empty($_POST['pass_confirm'])) and (isset($_POST['mail']) and empty($_POST['mail'])) and (isset($_POST['peuples']) and empty($_POST['peuples'])))
{
...


Si pseudo est défini et que pseudo et vide
Si mot de passe est défini et que mot de passe est vide
Si confirmation est défini et que confirmation est vide
Si mail est défini et que mail est vide
Si peuples est défini et que peuples est vide.

Il manquerait pas des "!" avant chacun des "empty".
Sinon ne faut il pas utiliser des "&&" plutot que des and ?

J'ai modifié en rajoutant des ! devant les empty et des && à la place des and
Mais d'après ce que je comprends avec le bug, c'est que peuples ne veut pas s'enregistrer dans la BDD, mais je ne vois pas pourquoi..


RE: Script d'inscription - niahoo - 28-02-2011

(27-02-2011, 05:54 PM)php_addict a écrit :
(27-02-2011, 03:03 PM)Globe a écrit : Sinon ne faut il pas utiliser des "&&" plutot que des and ?

ah ba oui ...

&& -> ajoute une condition
and -> operateur binaire


L'opérateur binaire est '&', 'and' et '&&' sont quasiment équivalents, et si tu n'utilises qu'une seule forme ça ne change rien.


RE: Script d'inscription - Argorate - 28-02-2011

la première fois qu'on vient sur la page, $_POST['francs'] n'existe pas par exemple? non?

donc si tu met ça dans le value :
Citation :<?php if (isset($_POST['francs'])) echo htmlentities(trim($_POST['francs']));?>
tu ne traite pas le cas ou $_POST['francs'] n'existe pas encore, du coup, le value est vide, et donc ne passe pas le test du !empty($_POST['francs']).

Enfin j'ai pas chercher a comprendre en détail ton code, mais tu devrais regarder par hasard si ce n'est pas ça Wink

bon courage.


RE: Script d'inscription - vulcain - 28-02-2011

(28-02-2011, 10:06 AM)Argorate a écrit : la première fois qu'on vient sur la page, $_POST['francs'] n'existe pas par exemple? non?

donc si tu met ça dans le value :
Citation :<?php if (isset($_POST['francs'])) echo htmlentities(trim($_POST['francs']));?>
tu ne traite pas le cas ou $_POST['francs'] n'existe pas encore, du coup, le value est vide, et donc ne passe pas le test du !empty($_POST['francs']).

Enfin j'ai pas chercher a comprendre en détail ton code, mais tu devrais regarder par hasard si ce n'est pas ça Wink

bon courage.


Si je mets

if (isset($_POST['francs'])) echo htmlentities(trim($_POST['francs']));

Il va falloir que je crée dans ma BDD chaque champ, un pour les francs etc... Donc ce n'est pas possible Wink , car ça va poser problème ensuite.

Normalement ça doit me faire :

Peuples :

Francs

Pour chaque joueur en fonction de la civilisation choisie.


RE: Script d'inscription - Revan - 28-02-2011

et si tu faisais :


<option value="perses">Perses</option>
<option value="chinois">Chinois</option>
<option value="vikings">Vikings</option>
<option value="aztèques">Aztèques</option>
<option value="francs">Francs</option>

En précisant de bien vérifier les données si l'inscription a ratée juste avant ?


RE: Script d'inscription - vulcain - 28-02-2011

J'ai changé, mais ça m'affiche ça :

Fatal error: Call to undefined function mysql_espace_string() in /homez.139/conquesty/www/v3/inscription.php on line 31

J'ai regardé dans mon INSERT, j'avais une erreur, je l'ai corrigé mais là j'ai celle ci, j'ai juste modifier la ligne 31 :
Code PHP :
<?php 
if ($data[0] == 0) {
$sql = 'INSERT INTO membres VALUES("", "'.mysql_escape_string($_POST['pseudo']).'", "'.mysql_espace_string($_POST['pass']).'", "'.mysql_escape_string(md5($_POST['peuples'])).'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());