Résolu Mon code ne marche pas

  • Auteur de la discussion Auteur de la discussion deleted247906
  • Créé le Créé le
Statut
N'est pas ouverte pour d'autres réponses.
D

deleted247906

Salut,

J'ai ce code :
PHP:
<?php
session_start();

include 'bar.php';
require_once '../config/config.php';

// Pour récuperer les infos du gars via son ID de l'url
if(isset($_GET['id']) AND $_GET['id'] > 0) {
   $getid = intval($_GET['id']);
   $requser = $bdd->prepare('SELECT * FROM membres WHERE id = ?');
   $requser->execute(array($getid));
   $userinfo = $requser->fetch();

// Si la personne a pas le bon rank elle accède pas au panel admin
if($_SESSION['rank'] != 3){
  header('Location: ../index.php');
}

// Je compte pour pouvoir faire en sorte de bloqué si je met via l'URL un id trop élevé et je redirige vers le + haut ID

$r = $bdd->query('SELECT count(*) as mb from membres');
$dt = $r->fetch();
$mb = $dt['mb'];

if($_GET['id'] > $mb){
  header('Location: profil.php?id='.$mb);
}

// Variable
$suse = 1;
$debann = $_POST['sus'];

// Pour inserer dans la bdd
if(isset($_POST['forminscription'])){
  $insertmbr = $bdd->prepare("UPDATE membres set suspendre = ?, set deban = ? WHERE pseudo = ?");
  $insertmbr->execute(array($suse, $deban, $userinfo['pseudo']));
}
?>
HTML:
<style>
input[type=text] {
  width: 100%;
  height: 40px;
}
</style>
<html>
   <head>
      <title>OznaTS</title>
      <meta charset="utf-8">
    <link rel="stylesheet" href="css/principale.css">
    <link rel="stylesheet" href="../font-awesome-4.6.3/css/font-awesome.min.css">
   </head>
   <body>
      <div align="center">
         <div class="protil">Formulaire de <?php echo $userinfo['pseudo']; ?></div>
         <hr /><br /><br />
         <form method="POST" action="">
         <input type="text" placeholder="La raison" id="raison" name="raison" required />
         <hr /><br /><br />
         <div class="protil">Peut demander le dé-banissement : </div><INPUT type= "radio" name="sus" value="0" checked>Oui <INPUT type= "radio" name="sus" value="1">Non
         <br /><br /><hr /><br />
         <input type="submit" name="forminscription" class="btn btn-ban" value="Suspendre" />
         </form>
      </div>
   </body>
</html>
<?php
}
?>

Mais il ne se passe strictement rien dans la BDD :/
 
Dernière édition par un modérateur:
Oublie de pas de mettre des exit(); après les header ^^
Sinon pour ton problème qu'est-ce qui ne fonctionne pas ? La première ou la deuxième requête ?
 
Oublie de pas de mettre des exit(); après les header ^^
Sinon pour ton problème qu'est-ce qui ne fonctionne pas ? La première ou la deuxième requête ?
Celle avec les $_POST et l'update.
Comme tu vois en bas j'ai un champ de text, deux radio boutton, et un bouton submit, lorsque je remplis et je clique sur le bouton la page se recharge mais rien ne se produit :/
 
Salut,

La connexion à ta base de donnée fonctionne correctement ?
Fait attention quand tu crée des variables, pour les utilisées assures toi d'utilisé exactement la même orthographe.

Pareil, essaie de commenter ton code car on fait vite à se perdre et pour pouvoir comprendre, c'est pas forcement facile.
 
Salut,

La connexion à ta base de donnée fonctionne correctement ?
Fait attention quand tu crée des variables, pour les utilisées assures toi d'utilisé exactement la même orthographe.

Pareil, essaie de commenter ton code car on fait vite à se perdre et pour pouvoir comprendre, c'est pas forcement facile.
Oui ça fonctionne, j'ai plusieurs pages qui l'utilisent (systeme de news par ex)
Je vais commenter le code
 
Salut,

Quand tu post ton formulaire, ta page devient blanche ou le formulaire s'envoie bien ?
Essaie de faire un coup de var_dump($_POST) pour voir si ton formulaire se post bien .

Sinon je crois avoir trouvé l'erreur (nom de variable mal orthographié ?) :
PHP:
// Pour inserer dans la bdd
// On vérifie que la variable $_POST['forminscription'] existe bien et qu'elle est pleine
if(isset($_POST['forminscription']) && !empty($_POST['forminscription'])){
$insertmbr = $bdd->prepare("UPDATE membres set suspendre = ?, set deban = ? WHERE pseudo = ?");
$insertmbr->execute(array($suse, $debann, $userinfo['pseudo']));  // Ici si je suis bien le truc, ta variable $deban existe pas mais sa doit être $debann (orthographié comme dans ta variable déclaré plus haut)
}

Essaie et redis-nous ;)
 
Dernière édition:
Salut,

Quand tu post ton formulaire, ta page devient blanche ou le formulaire s'envoie bien ?
Essaie de faire un coup de var_dump($_POST) pour voir si ton formulaire se post bien .

Sinon je crois avoir trouvé l'erreur (nom de variable mal orthographié ?) :
PHP:
// Pour inserer dans la bdd
// On vérifie que la variable $_POST['forminscription'] existe bien et qu'elle est pleine
if(isset($_POST['forminscription']) && !empty($_POST['forminscription']){
$insertmbr = $bdd->prepare("UPDATE membres set suspendre = ?, set deban = ? WHERE pseudo = ?");
$insertmbr->execute(array($suse, $debann, $userinfo['pseudo']));  // Ici si je suis bien le truc, ta variable $deban existe pas mais sa doit être $debann (orthographié comme dans ta variable déclaré plus haut)
}

Essaie et redis-nous ;)
Il te manquait une parenthèse ^^ et ça n'a rien changé

Var dump $_POST :
 
Statut
N'est pas ouverte pour d'autres réponses.
Retour
Haut