Création Espace Membre

Jacques_G

Jacques_G Le 1 mars 2017 à 08:42 (Édité le 25 janvier 2019 à 17:53)

Bonjour à toutes et à tous,
Je viens de m'abonner sur ce site et ai suivi avec beaucoup d'intérêt les différents tutos concernant cette application.
Je viens de reprendre la gestion d'un site associatif et souhaite justement créer un espace réservé.
Le site a été créé, il y a plusieurs années et tourne sous Wordpress et pour l'instant, certaines applications sont sous Flash Player, donc non utilisables sur tablettes et autres, ( sauf à utiliser "Puffin", qui n'est pas du goût de tous).
Je précise que pour l'instant la version PHP Globale serveur est la 4.4 , donc pas vraiment Up to Date....

J'ai travaillé dans un premier temps sur le chapitre connexion,  souhaitant pouvoir modérer les inscriptions ....
Après validation de la connexion, j'obtiens ceci
Fatal error: Call to a member function prepare() on a non-object in /home/bridgela/www/Test/Connexion.php on line 19
J'ai tenté de joindre une image,mais pas doué....
<?php
session_start();
header('Content-type: text/html; charset=utf-8');
$hostname_conn = "******";
$database_conn = "******";
$password_conn = "*******";
$username_conn = "*******";
$conn = mysql_pconnect($hostname_conn, $username_conn, $password_conn) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_select_db($database_conn, $conn);
mysql_query("SET NAMES 'utf8'");


if(isset($_POST['formconnexion'])) 
{
   $mailconnect = htmlspecialchars($_POST['mailconnect']);
   $mdpconnect = $_POST['mdpconnect'];
   if(!empty($mailconnect) AND !empty($mdpconnect)) 
   {
       $requser = $conn-> prepare("SELECT * FROM membres WHERE mailParticipant = ? AND passwordParticipant = ?");
      $requser-> execute(array($mailconnect, $mdpconnect));
      
     
      $userexist = $data->rowCount();
      if($userexist == 1) {
         $userinfo = $requser->fetch();
         $_SESSION['id'] = $userinfo['id'];
         $_SESSION['nomParticipant'] = $userinfo['nomParticipant'];
         $_SESSION['mailParticipant'] = $userinfo['mailParticipant'];
         header("Location: profil.php?id=".$_SESSION['id']);
      } else {
         $erreur = "Mauvais mail ou mot de passe !";
      }
   } else {
      $erreur = "Tous les champs doivent être complétés !";
   }
}
?>
<html>
   <head>
      <title>Module Connexion</title>
      <meta charset="utf-8">
   </head>
   <body>
      <div align="center">
         <h2>Connexion</h2>
         <br /><br />
         <form method="POST" action="">
            <input type="email" name="mailconnect" placeholder="Mail" />
            <input type="password" name="mdpconnect" placeholder="Mot de passe" />
            <br /><br />
            <input type="submit" name="formconnexion" value="Se connecter !" />
         </form>
         <?php
         if(isset($erreur)) {
            echo '<font color="red">'.$erreur."</font>";
         }
         ?>
      </div>
   </body>
</html>



Quelqu'un pourrait-il me guider, sachant que mes connaissances sont assez limitées
Merci d'avance
Profil introuvable

Profil introuvable Le 1 mars 2017 à 13:50 (Édité le 1 mars 2017 à 13:52)

Bonjour,
Tout d'abord, je te conseil de lire attentivement les règles du forum (où il est précisé d'utiliser le bouton [CODE] de ton éditeur lorsque tu souhaites insérer du code à ton message pour rendre la lecture de ce dernier plus aisé 😀).

Pour ton problème, j'utilise la version 7 de PHP ( 😉 ) donc je ne sais pas si je peut être d'une grande utilité mais je pense que ton erreur vient d'ici :
Tu utilises une fonction mysql_pconnect pour te connecter à ta BDD alors que tu utilises un objet pour préparer ta requête (de plus, la PDO est disponible après PHP 5 si je ne me trompe pas). Prépares ta requête avec une fonction adaptée et relance la page.

En espérant avoir été utile, Z Fire
Jacques_G

Jacques_G Le 1 mars 2017 à 14:14

Merci pour cette réponse, effectivement je n'avais pas vu l'intérêt du bouton code, je vais donc éditer ma demande pour la mettre en conformité avec les règles.
Je suis tout à fait novice
Toutefois, j'ai constaté que mon prédécesseur utilisait la même méthode pour la connexion à la BDD, sauf que les arguments était stockés dans un autre fichier, appelé par include()
Je l'ai intégré au fichier connexion afin de récupérer la variable $conn, mais c'est peut-être une erreur
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte