JeuWeb - Crée ton jeu par navigateur
Probleme sur un script - 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 : Probleme sur un script (/showthread.php?tid=794)



Probleme sur un script - salazar - 13-02-2007

<?php
mysql_connect("test", "test", "mot_de_passe");
mysql_select_db("test");

$reponse = mysql_query("SELECT * FROM membres ");

while ($donnees = mysql_fetch_array($reponse) )
{
  if (array_key_exists("objetencheres", $reponse))
      $objetencheres=$reponse
{
    echo 'vous avez deja cet ('$objetencheres')'dans votre inventaire';
}
  elseif (array_key_exists($objetencheres))


mysql_close();
?>
j'ai un probleme avec la ligne en rouge car je ne sait pas comment faire pour que si l'objet n'existe pas dans son inventaire eh bien cela
lui dise:
echo 'vous ne disposez pas de cet objet, encherir?'
et aussi est ce que mon code est correct autrement?


RE: Probleme sur un script - NicoMSEvent - 13-02-2007

salazar a écrit :...
if (array_key_exists("objetencheres", $reponse))
$objetencheres=$reponse
{
tu as un problème de bloc ici... je mettrais $objetencheres=$reponse après ton accolade
salazar a écrit :elseif (array_key_exists($objetencheres))

et ton point virgule a la fin de ta ligne, il est ou? Wink


RE: Probleme sur un script - X-ZoD - 13-02-2007

moi jorai mis
Citation :elseif (mysql_num_rows($reponse)>0)



RE: Probleme sur un script - Plume - 13-02-2007

X-ZoD a écrit :moi jorai mis
Citation :elseif (mysql_num_rows($reponse)>0)

+1
En effet, $objetenchere n'est pas une clé dans le tableau rendu par mysql_fetch_array, mais sera une valeur. Du coup, tu vas devoir modifier un peu ta requête Wink


RE: Probleme sur un script - salazar - 13-02-2007

wé pour le point virgule soit il est pas passé au collage soit je l'ai oublie
mais merci ca va m'aider tout ca
et aussi petite autre question
j'ai beau etudier Ogspy ou RPG Illusion je ne trouve pas comment fonctionne "index.php?do="map" "
(exemple)
Moi j'aurait mis
"index.php?do="map.php"
c'est possible ca?
et pouvez vous m'expliquer svp?


RE: Probleme sur un script - denisc - 14-02-2007

Ca permet de passer moins de paramètres en ligne de commande!

dans la page index.php, il doit y avoir un truc du genre...
Code PHP :
<?php 
$pth
='./inc/';
$inc=$pth.$_GET['do'].'.php';
include(
$inc);

ou un peu plus compliqué... mais finalement facile aussi à lire...
Code PHP :
<?php 
$pth
='./inc/';
$do=$_GET['do'];
switch(
$do)
{
case
'map' : include($pth.'carte.php'); break;
case
'inv' : include($pth.'inventaire.php'); break;
default : include(
'defaut.php'); break;
}



RE: Probleme sur un script - xeys - 14-02-2007

Non la fonction a RPG Illusion est encore plus simple :

Code PHP :
<?php 
if (isset($_GET["do"])) {
$do = explode(":",$_GET["do"]);

// Fonction villes.
if ($do[0] == "inn") { include('towns.php'); inn(); }
elseif (
$do[0] == "cheatbanque") {include('towns.php'); cheatbanque(); }
elseif (
$do[0] == "cheatniveau") {include('towns.php'); cheatniveau(); }
elseif (
$do[0] == "cheatserreur") {include('towns.php'); cheatserreur(); }
elseif (
$do[0] == "home") { include('towns.php'); home(); }
...



RE: Probleme sur un script - salazar - 15-02-2007

if (isset($_GET["do"])) {
$do = explorer(":",$_GET["do"]);


if ($do[0] == "map") { include('carte.php'); carte(); }

et ensuite quand on veut aller vers la page "carte.php"
on met index.php?do=map
c'est ca?


RE: Probleme sur un script - NicoMSEvent - 15-02-2007

denisc a écrit :
Code PHP :
<?php 
case 'map' : include($pth.'carte.php'); break;

Je ne peux qu'applaudir ce genre de réflexe -> si on rentre par exemple :
ma_page.php?do=../un_autre_site/admin.php ça pourrait poser des problemes... tandis que là, on authorise qu'une série de pages déjà prédéfinies. rien n'empeche de faire quelque chose du genre; pour protéger les données(et les pages)
Code PHP :
<?php 
case 'admin' : include('repertoire_secret/administration.php'); break;