Menu

Problemes en php

Messages postés
9
Date d'inscription
vendredi 4 janvier 2019
Dernière intervention
14 janvier 2019
-
Bonjour,



s'il vous plait je suis bloquer depuis deux semaines a un niveau de la programmation de ma page de profil et j'ai grandement besoin de votre aide. en fait voici le code de ma page profil.php sauf que l'orsque je click sur confirmer ou supprimer il ne recharge pas la page de l'utilisateur en fait je pense que la session se perd. s'il vous plait que dois-je faire pour resoudre mon probleme.

<?php
session_start();

$bdd = new pdo('mysql:host=127.0.0.1;dbname=espace_membre', 'root' , '');

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();


?>

<?php 
                $bdd = new pdo('mysql:host=127.0.0.1;dbname=espace_reservation', 'root' , '');

                if (isset($_GET['confirme']) AND !empty($_GET['confirme'])) 
{
    $confirme = (int) $_GET['confirme'];

    $req = $bdd->prepare('UPDATE reservation SET confirme=1 WHERE id= ?');
    $req->execute(array($confirme));
}
if (isset($_GET['supprimer']) AND !empty($_GET['supprimer'])) {
    $supprimer = (int) $_GET['supprimer'];

    $req = $bdd->prepare('DELETE FROM reservation WHERE id= ?');
    $req->execute(array($supprimer));
}

$reservation = $bdd->query('SELECT * FROM  reservation ORDER BY id DESC LIMIT 0,5');
            ?>


<!DOCTYPE html>
<html>
<head>
 <title>b-travellers</title>

 <style>

 html, body{
 margin: 0;
 padding: 0;
    font-family: 'Trebuchet MS', Arial, sans-serif;
    color: #80d0d0;
    background-color: #F9429E;}
    .side{
     margin-top: 90px;
     padding: 0;
    }
    ul{
     list-style-type: none;
     width: 30%;
     height:100%;
     line-height: 60px;
    }
    ul li{
     display: block;
     width: 100%;
    }

    ul li a{
     display: block;
     text-align: center;
     text-decoration: none;
     transition: transform 1s ease-in-out;
     background-color: blanchedalmond;
     margin-top: 1px;
    }
    ul li a:hover{
     transform: translate(5%,0);
     border:2px solid black;
     border-radius: 5px;
    }

    
    form{
     float: right;
    }

    section{
     flex: 1.2;
    position: center;
    background-color:rgba(119,33,126,0.3);
    box-shadow: 0px 2px 5px #1c1a19;
    border-radius: 5px;
    padding:0;
    color: black;
    font-size: 0.9em;
    width: 95%;
    height: 900px;
    margin-left: 2.5%;
    }

    table{
     margin-left: 2.5%;
     margin-top: 20px;
    }

footer{
    height: 150px;
    padding:0;
    margin-top: 0;
    background-color:rgba(119,33,126,0.3);
    width: 95%;
    margin-left: 2.5%;
}

.separateur{
    height: 3px;
    width: 5%;
    border: none;
    box-shadow: none;
    background-color: blue;
}

footer h5{
    color: #ff5b5b;
    text-align: center;
}

footer a{
    color: white;
    margin-left: 150px;
}
footer a:hover{
    color: #3498db;
}
footer p{
    padding-top: 3%;
    color: white;
    text-align: center;
    text-transform: uppercase;
    font-weight: bold;
}

 </style>
 <meta charset="utf-8">
 <link rel="stylesheet" type="text/css" href="css/pheader.css">
 <link rel="stylesheet" type="text/css" href="css/norme.css">
</head>
<body>
 <nav class="inner-body">
  <header>
 <nav class="menu">
  <div class="inner">
  <div class="m-left">
   <h1><?php echo $userinfo['agence'] ?></h1>
   <h1><?php echo $userinfo['nom'] ?></h1>
   <img src="images/black.png" alt="B-TRAVELLERS" id="logo"/>

  </div>

  <div class="m-right">
   <a href="index.php" class="m-link">deconnexion</a>
   <a href="voyages.php" class="m-link">forum</a>
   <a href="hebergements.php" class="m-link">message</a>
  </div> 

 </div>
 
 <div class="m-nav-toogle">
  <span class="m-toogle-icon"></span>
 </div> 

  </div>
  
 </nav>

</header>

<nav class="side">
  <ul>
   <li><a href="#">voyages effectués</a></li>
   <li><a href="#">hebergements effectifs</a></li>
   <li><a href="#">demandes de compte</a></li>
  </ul>
  
 </nav>
 <form action="#" method="post">
  <input type="text" name="query" maxlength="80" width="20px" size="50%" id="query" placeholder="entrez vos elements de recherche">
  <input type="submit" value="rechercher">
 </form>

 <section>

        <table border="1" width="95%">
         <tr>
          <td width="10%">id</td>
          <td width="20%">nom</td>
          <td width="30%">Agence</td>
          <td width="35%">statu</td>
         </tr>

          

         <?php while ($r = $reservation->fetch()) { ?>

          <tr>
          <td width="10%"><?= $r['id'] ?></td>
          <td width="20%"><?= $r['nom'] ?></td>
          <td width="30%"><?= $r['agence'] ?></td>
          <td width="35%"><li><?php if ($r['confirme'] == 0){ ?>
    <a href="profil.php?confirme=<?= $r['id']?>">confirme</a>
   <?php }?>
    - <a href="profil.php?supprimer=<?= $r['id']?>">supprimer</a></td>
         </tr>

        <?php } ?>

        </table>

    </section>
</nav>
<footer>
 <p>
  copyright © EBENEZER 2018 ALL Right reserved.
 </p>
</footer>
  
 </nav>

</body>
</html>
<?php
}
?>



EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
Afficher la suite 

Votre réponse

1 réponse

Messages postés
24064
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 janvier 2019
2140
0
Merci
Bonjour
Commence par nous reposter ton code en utilisant les balises de code : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Et en précisant le nom de chaque fichier.

Assure toi également de mettre un session_start() au début de chacun de tes fichiers...
Et aussi applique ceci : http://www.commentcamarche.net/faq/46512-pdo-gerer-les-erreurs


plumebeille
Messages postés
9
Date d'inscription
vendredi 4 janvier 2019
Dernière intervention
14 janvier 2019
-
merci du tuyau mais tous mes fichiers de puis la connexion du membre ont un session_start() je ne sais pas pourquoi sa ne donne pas execute le par toi meme la c'est l'aside de ma page de connexion et elle marche plutot pas mal enfin je crois

<?php
session_start();

$bdd=new PDO('mysql:host=127.0.0.1;dbname=espace_membre','root','');

if (isset($_POST['formconnexion']))
{
    $nomconnect=htmlspecialchars($_POST['nomconnect']);
    $mdpconnect=sha1($_POST['mdpconnect']);
    if (!empty($nomconnect) AND !empty($mdpconnect))
    {
        $requser = $bdd->prepare("SELECT * FROM membres WHERE nom=? AND motdepasse=? AND confirme=1");
        $requser->execute(array($nomconnect, $mdpconnect));
        $userexist=$requser->rowcount();
        if ($userexist == 1)
        {
            $userinfo = $requser->fetch();
            $_SESSION['id'] = $userinfo['id'];
            $_SESSION['agence'] = $userinfo['agence'];
            $_SESSION['nom'] = $userinfo['nom'];
            header("location: profil.php?id=".$_SESSION['id']);

        }
        else
        {
            $erreur ="mauvais nom ou mauvais mot de passe.";
        }
    }
    else
        {
            $erreur="tous les champs doivent etre complete!";
        }
}
?>
    <aside>
            <h1>connecté vous</h1>
    <br /><br /><br />
    <form method="post" action="">
        <table>
            

              
             <tr>
                <td>
                    <input type="text"  name="nomconnect" placeholder="votre nom">
                </td>
             </tr>
            
             <tr>
                <td>
                    <input type="password" name="mdpconnect" placeholder="mot de passe">
                </td>
            </tr>
                
        </table>
            
            <tr>
                <td><input type="submit" name="formconnexion" value="connexion"></td>
            </tr>
            
            </form>
        <?php
        if (isset($erreur))
        {
            echo "$erreur";
        }

        ?>
        <a href="indexins.php">inscription</a>
    </aside>
jordane45
Messages postés
24064
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 janvier 2019
2140 > plumebeille
Messages postés
9
Date d'inscription
vendredi 4 janvier 2019
Dernière intervention
14 janvier 2019
-
Visiblement... tu n'as pas lu le lien que je t'ai donné....
Où se trouve l'activation de l'affichage des erreurs PHP ?
Où se trouve les TRY/CATCH pour la connexion ainsi que ta requête ?

De plus....
htmlspecialchar ne s'utilise QUE pour de l'affichage et en aucun cas pour comparer (ou stocker) des données en BDD.
Et le SHA1 n'est plus à utiliser pour sécuriser ses password... à la place on utiliser les fonctions password_hash et password_verify.

Je t'invite fortement à lire également ( et à appliquer cela va de soit...) les consignes données ici : http://www.commentcamarche.net/faq/48399-php-gestion-des-erreurs-debogage-et-ecriture-du-code


A noter également que le RowCount ne s'utilise jamais sur des requêtes de type SELECT.
A la place, on fera un COUNT du résultat...

NB : Bien entendu.. pour pouvoir voir les éventuelles erreurs..... il faut penser à désactiver (en le mettant en commentaire par exemple...) toutes les redirections...
Sinon tu risques de ne pas voir les messages d'erreurs...


Reviens nous voir avec le code corrigé si le souci persiste....
Commenter la réponse de jordane45