Aller au contenu

Les conditions


fingolfin

Sujets conseillés

Re tous le monde, j'était en train de manger, donc les:

 id=".$_SESSION['idmembre'],

j'en met déjà partout :)

Euh autrement dans le formulaire j'ai remplacer le pseudo par le nombre de scierie voulu par le joueur (car c'est la but, le pseudo ont s'en fou un peut lol).

Donc pour les notice, je les annule ou je les gardes?

Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 84
  • Créé
  • Dernière réponse

Contributeurs actifs dans ce sujet

Contributeurs actifs dans ce sujet

Ben moi si j'étais toi au lieu de mettre un champ text dans le formulaire,je mettrais un

<option value="1">1/option><option value="2">2</option>

Parceque bon si les gens s'amusent à mettre des valeurs autres que des chiffres ca peut poser problème.

Lien vers le commentaire
Partager sur d’autres sites

Je n'en suis pas si sur, en effet, on parle ici des sessions, et les données sont enregistrés sur le serveur. La seule chose que l'utilisateur peut changer est l'id de session, mais pour tomber sur un autre id utilisé par quelqu'un d'autre, il va mettre du temps  :rolleyes:

<{POST_SNAPBACK}>

Euh c'est ce que je viens de dire... je lui conseille d'utiliser une variable de session plutôt qu'une variable câchée dans une formulaire...

Tu as du mal me comprendre...mais je vois pas comment ;)

Pour les E_NOTICE, attends la réponse de rportal... mais comme pratique de développement je ne conseille pas de désactiver les E_NOTICE. Mais c'est une habitude à prendre, vérifier qu'une variable existe avant de l'utiliser etc...

Modifié par TheRec
Lien vers le commentaire
Partager sur d’autres sites

Bah pour le momment je fais le code de base (donc les if et les else.....), après je ferait des règles, enfin je ne sait pas (autrement si le gars part en vacances 15 jour, bah en revenant il peut construire de nombreuse scieries, même s'il ne feras pas que de sa lol)

Lien vers le commentaire
Partager sur d’autres sites

Euh oui mais si je comprend il faudrait que je monte jusqu'a option 1000 ou plus si le joueur à assez d'argent.

Ok j'attend la réponse.

<{POST_SNAPBACK}>

Tu es libre de développer ce que tu veux... tu peux laisser l'utilisateur entrer une valeur et la convertir en entier, si cela ne correspond pas à une valeur possible (0, trop grande, trop petite, "pas assez d'argent" pour ce nombre de maisons). C'est une question de choix... les deux solutions se valent, quoi que vérouiller les valeurs en utilisant une liste déroulante ne doit pas t'empêcher de vérifier les valeurs que tu reçoit après, il est très simple d'envoyer des valeurs qui ne se trouvent pas dans une liste (avec les outils adéquats)...

Lien vers le commentaire
Partager sur d’autres sites

Euh autrement j'ai vu aussi dans des formulaires d'inscription, des liste du style, caractères possible: "abcdefghijklmnopqrstuvwxyz, 123456789"

Sa ne pourrait pas marcher de dire que l'on peut seulement utiliser "123456789"?

Lien vers le commentaire
Partager sur d’autres sites

Ca peut marcher m'ai si tu fais un peu de combinatoire et probabilité ton mot de passe ou ton identifiant, s'il ne fait pas des centaines de chiffres, est touvable en à peu près un instant.

Personnellement j'ajouterais même : abcdefghijklmnopqrstuvwxyz,ABCDEFGHIJKLMNOPQRSTUVWXYZ, 123456789

voir même des caractères spéciaux comme -, _, ., ...

Modifié par TheRec
Lien vers le commentaire
Partager sur d’autres sites

Sa rend plus facile le boulot des logiciel de nos amis les hackeur? (ou plutôt les crackeur à ce que disent les hackeur).

Bah perso je mettrait comme tu veint de dire+ (; [; {; '; "]; }; ) et je pense que sa suffirait pour un mot de passe et un pseudo

Modifié par fingolfin
Lien vers le commentaire
Partager sur d’autres sites

N'est-ce pas ce que je viens de dire...enfin...

As-tu encore de problème avec ce script ? Mis à part le E_NOTICE, le script fonctionne-t-il pour toi ?

Lien vers le commentaire
Partager sur d’autres sites

Beuh disons que pour le script que m'a passer snwoman49, je ne comprend pas comment faire que des scieries se construisent (étant donné qu'il n'y a pas de champs ou l'on demande le nombre de scierie que l'on veut construire).

Et mon script perso, bah il marche toujours pas lui..... (maintenant c'est toujours le elseif qui est prit en compte et else sa marche toujours pas, enfin j'ai pas bien essayer sa)

Ah bah non finalement ce ne sont que des E-notice de partout (et quand je met $_SESSION bah y'en a au moins 6 ou 7 qui apprraisse, mysql veut plus se connecter... :blink:

Au passage c'est quoi des constant? (car y'a des index et des constant de non définit d'après les notice).

Modifié par fingolfin
Lien vers le commentaire
Partager sur d’autres sites

Au faites j'ai remarquer que se soit on script ou celui de snwoman49, et bien il y a directement la réponse que l'on ne peut pas construire de scierie (pourtant j'ai bien mit 5000 de toute les ressources possible alors que la cierie ne coute pas grand chose).

Enfin sur mon pc du moins lol

Modifié par fingolfin
Lien vers le commentaire
Partager sur d’autres sites

Euh voilà, j'aimerais juste que quelqu'un qui a du temps libre et qui veut bien faire un petit truc de me faire juste un petit code pour construire des scierie (et oui encore vu que sa marche toujours pas chez moi...) avec ces imformations:

Nom de la BDD: jeuxphp

Table: membre

Nom du champs pour la ressources bois: bois

Les sessions enregistre l'id du membre, le pseudo et le mot de passe

Voilà, il suffirait juste de faire un formulaire avec une case ou l'on écrit le nombre de scierie voulut, dont la conditions toute bête serait:

Si le joueur à au moins le nombre de scieries voulutX300 en bois alors il peut la construire.

Autrement bah il peut pas lol.

Bah voilà, si quelqu'un veut bien perdre son temps à faire sa je lui en serait reconnaissant :)

Lien vers le commentaire
Partager sur d’autres sites

Tiens, j'ai réussi à faire marcher les else lol, je savais pas qu'il ne fallait pas donnait de valeur pour else (enfin ex: else ( $fer == $or)) bah ce qu'il y a entre parenthèse je ne savai pas que c'était pas possible de le mettre lol.

Enfin sa en fait toujours pas marcher mon script lol.

Lien vers le commentaire
Partager sur d’autres sites

Un peux d'anglais te manque dans ce cas...

if = si (un cas)
elseif -> else et if = autre si (un autre cas)
else = autre (tout autre cas n'ayant pas été traîté avant)

Si tu regardais le manuel comme je te l'ai recommandé une bonne dizaine de fois tu aurais vu la syntaxe du if/elseif/else :rolleyes:

http://php.benscom.com/manual/fr/control-s...ures.elseif.php

Lien vers le commentaire
Partager sur d’autres sites

Bah je l'ai regarder, ne t'inquiète pas tu ne m'as pas donné tous ces liens pour rien :D

Autrement, le problèmes pourrait'il venir du faites que (j'ai mit un echo $gold pour voire) l'echo me renvoit:

SELECT gold FROM membre WHERE pseudo='fingolfin'

Bah enfaite il me renvoie la requête quoi, donc c'est normal ou bien il est censer m'envoyer ce à quoi la requête est égale? (c'est à dire à gold quoi)?

Quoi qu'il me renvoie quand même le pseudo...

Modifié par fingolfin
Lien vers le commentaire
Partager sur d’autres sites

Bon, au bout de deux ou trois jour de recherche (enfin d'essaiyage) pour réussir à ce que les conditions marchent, j'abandonne et je vous demandent ce qu'il y a de faux dans ce script (je sais va encore avoir pleins d'oublie et de fautes débile que j'aurais put éviter comme les autres fois...), voici ce code:

<? include('membres.php') ?> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='fr' >
  <head>
      <title>Constructions d'habitations</title>
      <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />
   <link rel='stylesheet' media='screen' type='text/css' title='Essai' href='css.css' />
  </head>
 
  <body>
 
  <? include('menumembres.php') ?>
  <div id="corps">

  <form method="post" action="recrutement.php">
Mineur:  <input type="text" name="mineur" /> <br />
Bucherons:  <input type="text" name="bucherons" /> <br/>
Fermier: <input type="text" name="fermier" /> <br/>
Forgerons: <input type="text" name="forgerons" /> <br/>
<input type="submit" value="Engager les ouvriers demander" />
 </form>
 
  <?
mysql_connect ("localhost", "root","");
mysql_select_db("jeuxphp");  
 
$mineur = htmlentities ($_POST['mineur'], ENT_QUOTES);
$bucherons = htmlentities ($_POST['bucherons'], ENT_QUOTES);
$fermier = htmlentities ($_POST['fermier'], ENT_QUOTES);
$forgerons = htmlentities ($_POST['forgerons'], ENT_QUOTES);
$gold = ("SELECT gold FROM membre WHERE pseudo='".$_SESSION['pseudo']."'");
$mineurt = "mineur + $mineur";
$bucheronst = "bucherons + $bucherons";
$fermiert = "fermier + $fermier";
$forgeronst = "forgerons + $forgerons";
$rgold =  $mineur*10 + $bucherons*10 + $fermier*15 + $forgerons*20;
$tous = $bucherons*10+$mineur*10+$fermier*15+$forgerons*20;
echo "Engager ces ouvriers vous auras coûter: $tous";


if ($tous >= $gold )
{
mysql_query("UPDATE membre SET mineur = $mineurt WHERE pseudo='".$_SESSION['pseudo']."' AND password='".$_SESSION['password']."'");
mysql_query("UPDATE membre SET bucherons = $bucheronst WHERE pseudo='".$_SESSION['pseudo']."' AND password='".$_SESSION['password']."'");
mysql_query("UPDATE membre SET fermier = $fermiert WHERE pseudo='".$_SESSION['pseudo']."' AND password='".$_SESSION['password']."'");
mysql_query("UPDATE membre SET forgerons = $forgeronst WHERE pseudo='".$_SESSION['pseudo']."' AND password='".$_SESSION['password']."'");
mysql_query("UPDATE membre SET gold = gold - $rgold WHERE pseudo='".$_SESSION['pseudo']."' AND password='".$_SESSION['password']."'");
}

else
{
echo"Vous ne pouvez entreprendre d'engager d'autre ouvriers, vous manquez d'argent";
}

Voilà si quelqu'un trouve une ou des erreur et des oublies, qu'il me les disent, que je puissent enfin faire marcher ce scipt qui commencent à légèrement m'énerver. :)

(je précise que c'est un autres script, mais qui est à le même problème que pour les scieries et qui étant nécessaire pour faire des scieries me parait plus imlportant).

Modifié par fingolfin
Lien vers le commentaire
Partager sur d’autres sites

Je le sais bien qu'il marche, mais chez moi il marche pas..... (sa ne veut pas dire qu'il marche pas, sa peut aussi venir de easyphp ou autre), et tu peut me croire que s'il marcherais chez moi je ne serait pas la à vous souler de questions mais je serait en train de coder pleins d'autres bâtiments et autre. ;)

Lien vers le commentaire
Partager sur d’autres sites

Salut

Tu as oublié le ; aux lignes 1 et 10:

<? include('membres.php'); ?>

<? include('menumembres.php'); ?>

Oubli des ' ' (apostrophes):

mysql_query("UPDATE membre SET mineur = '$mineurt' WHERE pseudo='".$_SESSION['pseudo']."' AND password='".$_SESSION['password']."'");

mysql_query("UPDATE membre SET bucherons = '$bucheronst' WHERE pseudo='".$_SESSION['pseudo']."' AND password='".$_SESSION['password']."'");

mysql_query("UPDATE membre SET fermier = '$fermiert' WHERE pseudo='".$_SESSION['pseudo']."' AND password='".$_SESSION['password']."'");

mysql_query("UPDATE membre SET forgerons = '$forgeronst' WHERE pseudo='".$_SESSION['pseudo']."' AND password='".$_SESSION['password']."'");

mysql_query("UPDATE membre SET gold = 'gold - $rgold' WHERE pseudo='".$_SESSION['pseudo']."' AND password='".$_SESSION['password']."'");

par ailleurs, les variables sont bourrées de fautes d'orthographe (a moins que ce ne soit voulu :unsure: ):

$mineurt

$bucheronst

fermiert

forgeronst

Modifié par MS-DOS_1991
Lien vers le commentaire
Partager sur d’autres sites

Oui c'est voulu mineurt étant égale à mineur totale et pareille pour les autres (étant donné que c'est le script pour engager les ouvriers j'ai pas trouver plus simple comme nom lol) merci pour les autres erreurs que tu as trouver :)

Lol après les modification que tu m'as donné, les ouvriers ne s'engage plus (alors uq'il y a des ressources) et toute l'o disparait ^^, donc doit y avoir des choses à modifier en fonctions de ce que tu m'as dit de modifier, donc je vais voire sa :)

Modifié par fingolfin
Lien vers le commentaire
Partager sur d’autres sites

Tant que tu t'y retrouves ... :lol:

Par contre, tu ne devrais pas mettre ton login/passe sql en clair au milieu de ton script: mets-les plutôt dans des variables au début du fichier ^_^

mysql_connect ("localhost", "root",""); // pas top
<?php

$host = 'localhost'; $login='root'; $pass = '';

$connection = mysql_connect($host, $login, $pass);

// suite du script

$requete = "..."

...

?>

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant

×
×
  • Créer...