Problemes en php

Fermé
plumebeille Messages postés 11 Date d'inscription vendredi 4 janvier 2019 Statut Membre Dernière intervention 22 janvier 2019 - Modifié le 4 janv. 2019 à 13:25
jordane45 Messages postés 38217 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 juillet 2024 - 4 janv. 2019 à 18:38
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.
A voir également:

1 réponse

jordane45 Messages postés 38217 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 juillet 2024 4 681
4 janv. 2019 à 10:18
Bonjour
Commence par nous reposter ton code en utilisant les balises de code : https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-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 : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs


0
plumebeille Messages postés 11 Date d'inscription vendredi 4 janvier 2019 Statut Membre Dernière intervention 22 janvier 2019
Modifié le 4 janv. 2019 à 18:14
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>
0
jordane45 Messages postés 38217 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 juillet 2024 4 681 > plumebeille Messages postés 11 Date d'inscription vendredi 4 janvier 2019 Statut Membre Dernière intervention 22 janvier 2019
4 janv. 2019 à 18:38
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 : https://forums.commentcamarche.net/forum/affich-37584947-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....
0