Submit réagit sans faire l'action

Résolu/Fermé
Lucryio Messages postés 204 Date d'inscription samedi 4 janvier 2014 Statut Membre Dernière intervention 4 juin 2017 - Modifié par Lucryio le 7/01/2016 à 19:50
Lucryio Messages postés 204 Date d'inscription samedi 4 janvier 2014 Statut Membre Dernière intervention 4 juin 2017 - 9 janv. 2016 à 01:31
Bonjour,

Je reviens vers vous à nouveau car, j'ai un souci avec un submit qui ne fonctionne pas à 100%, il fait une simple actualisation sans faire l'action, voici le code :

<form method="post" action="?jeu=relacher">
<input type="hidden" name="ID" value="<?php echo $don['ID']; ?>">
<input type="submit" name="relacher" value="Relacher ce pokemon" />
</form>
<?php

$s = $bdd->query("SELECT COUNT(*) FROM membres_objets WHERE membre_id='".$ID."' AND ID_objet='35'")->fetchColumn();
$sq = $bdd->query("SELECT COUNT(*) FROM membres_objets WHERE membre_id='".$ID."' AND ID_objet='41'")->fetchColumn();
$sqlo = $bdd->query("SELECT COUNT(*) FROM membres_objets WHERE membre_id='".$ID."' AND ID_objet='40'")->fetchColumn();
$sqle = $bdd->query("SELECT COUNT(*) FROM membres_objets WHERE membre_id='".$ID."' AND ID_objet='36'")->fetchColumn();

$p = '20';
$o = '10';
$si = '30';
$su = '50';

 $OK = isset($_POST['selec_soin']) ? $_POST['soin_poke'] : '';
 $pok = $_POST['ID'];
 $choix=isset($_POST['selec_soin']) ? $_POST['selec_soin'] : NULL;

 $sql = $bdd->exec("DELETE FROM membres_objets WHERE membre_id='".$ID."' AND ID_objet='".$choix."' LIMIT 1"); 
 switch($choix){
  case '1':
   if ($s >= 1){
     $soin_poke = $bdd->exec("UPDATE transfertspokemon SET PV= PV + $p WHERE ID= '".$pok."'");    
     $msg = "Bravo ! Votre pokemon à regagné 20 PV ! ";
   }else{ 
     $msg = "Vous n'avez pas de Potion";
   }
   break;
 
  case '2':
  if ($sq >= 1 ){
    $soin_poke = $bdd->exec("UPDATE transfertspokemon SET PV= PV + $o WHERE ID= '".$pok."'"); 
     $msg = "Bravo ! Votre pokemon à regagné 10 PV ! ";
  }else{
     $msg = "Vous n'avez pas de Baie Oran";
  }
  break;
  
  case '3':   
    if ($sqlo >= 1 ){
       $soin_poke = $bdd->exec("UPDATE transfertspokemon SET PV= PV + $s WHERE ID= '".$pok."'"); 
     $msg = "Bravo ! Votre pokemon à regagné 30 PV ! ";
 }else{
     $msg = "Vous n'avez pas de Baie Sitrus";
 }
  break;
  
  case '4':
    if ($sqle >= 1 ) {
     $soin_poke = $bdd->exec("UPDATE transfertspokemon SET PV= PV + $su WHERE ID= '".$pok."'"); 
     $msg = "Bravo ! Votre pokemon à regagné 50 PV ! ";
 }else{ 
     $msg = "Vous n'avez pas de Super Potion";
 } 
  break; 
  
  default:
   $msg ="Vous n'avez pas d'objet de soin dans votre sac !";
 }
 
 ?>
 
 <form action="?jeu=soin_poke" method="POST"><br/>

 <input type="hidden" value="<?php echo nl2br(stripslashes(htmlentities(htmlspecialchars(html_entity_decode(utf8_decode($select_poke['ID'])))))); ?>" name="ID"/>
   <select name="selec_soin">
    <?php 
    if ($s >= 1 ){
    ?>
     <option value="1"> Potion (<?php echo $s ; ?>)</option>
    <?php
    }
   if ($sq >= 1 ){
    ?>
    <option value="2"> Baie Oran (<?php echo $sq ; ?>) </option>
    <?php
   }
   if ($sqlo >= 1 ){
    ?>
    <option value="3"> Baie Sitrus (<?php echo $sqlo ; ?>) </option>
    <?php
   }
   if ($sqle >= 1 ){
    ?>
    <option value="4"> Super Potion (<?php echo $sqle ; ?>) </option>
    <?php
   }
  ?>
  </select> 

  <br>
  <input type="submit" 
         value="Soigner ce pokemon !" 
         name="soin_poke" 
         style="cursor:pointer; padding:5px 20px; background-color:gold; border:dotted 5px red; border-radius:15px;">
  </form>


si quelqu'un à une idée.

1 réponse

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
8 janv. 2016 à 01:11
Il va falloir être un peu plus précis....

Déjà .. pourquoi pour la ligne ci-dessous :
 $pok = $_POST['ID'];

n'as tu pas respécté la 'syntaxe' que je t'ai donné pour les autres lignes...
par exemple :
$OK = isset($_POST['selec_soin']) ? $_POST['soin_poke'] : '';


Ensuite.... as tu au moins essayé de savoir ce qui ne marchait pas ?
Par exemple ... as tu essayé de faire un
 print_r($_POST);
pour essayer de voir ce que contient cette variable après submit ?
Les valeurs qu'elle contient sont conformes à ce que tu attends ?

Et puis.... lequel de tes "form" ne fonctionne pas au juste ?





0
Lucryio Messages postés 204 Date d'inscription samedi 4 janvier 2014 Statut Membre Dernière intervention 4 juin 2017
9 janv. 2016 à 01:31
j'ai reglé le souci merci beaucoup de ta réponse.
0