Bonsoir,
Dans le cadre d'un projet de groupe, je dois réaliser un petit site web qui permettra d'afficher des messages.
Nous avons l'obligation d'utiliser une base de donnée postgres.
Nous avons donc réalisé la base de donnée, avec des tables et des vues.
Je bloque pour le moment au niveau d'une requete preparé ou j'utilise une variable dedans.
Voici le fichier connexion.php, qui me permet de me connecter à la base
Puis mon fichier php principal, index.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 <?php $dsn = "pgsql:host=localhost;port=5432;dbname=postgres;user=postgres;password=hirokw"; try { $conn = new PDO($dsn); if($conn) { echo "Connected to the <strong>$dsn</strong> database successfully! <br />"; } } catch (PDOException $e) { echo $e->getMessage(); } ?>
Il y a également un autre fichier mais qui n'est pas utile ici, il permet de se connecter avec un login et mot de passe en POST. Je construit également ma variable de session $adr_email grâce au login que je récupère.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57 <meta http-equiv="Cache-control" content="no-cache"> <?php include_once "connexion/connexion.php"; session_start(); $_SESSION['mail'] = $_POST['username']; //On enregistre le name de la personne connecté $adr_email = $_SESSION['mail']."@iut.fr"; //Test d'une première requete qui récupère les info de la table membres ou le nom $r=$conn->query('SELECT * from membres'); while ($donnees = $r->fetch()) { echo $donnees['nom'] . '<br />'; } /*\'franck@iut.fr\'*/ ?> <h3>Message reçus</h3> <?php $r = $conn->prepare('SELECT * from mes_messages_recu WHERE mes_messages_recu.dest= :email2 '); $r->execute(array( ':email2' => $adr_email )); while ($donnees = $r->fetch()) { echo $donnees['mess'] . '<br />'; } $r->closeCursor(); ?> <!DOCTYPE html> <html> <head> <title>Bienvenue</title> <link href="css/style1.css" rel="stylesheet" type="text/css"> </head> <body> <div id="main"> <form action="new_message.php" method="post"> <p> <p><input type="text" name="Destinataire" placeholder="Adresse email"/></p> <p><input type="text" name="Objet" placeholder="Objet"/></p> <p> <textarea name="message" rows="8" cols="45" placeholder="Votre message"></textarea> </p> <p><input type="submit" value="envoyer"/></p> </p> </form> </div> </body> </html>
Mon problème se situe donc au niveau des lignes suivantes, sur le fichier index.php
Cela ne m'affiche aucune erreur mais ne m'affiche pas non plus les messages qu'il devrait.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $r = $conn->prepare('SELECT * from mes_messages_recu WHERE mes_messages_recu.dest= :email2 '); $r->execute(array( ':email2' => $adr_email ));
J'ai essayé beaucoup de choses mais cela ne fonctionne pas, avez vous une idée sur la question ?
Merci d'avance.
Partager