Il y a actuellement 574 visiteurs
Dimanche 22 Décembre 2024
accueilactualitésdossierscomparer les prixtélécharger gratuitement vos logicielsoffres d'emploiforum informatique
Connexion
Créer un compte

Créer un espace membre, convertir mysql postgresql

Besoin d'aide pour configurer un serveur ? Vous souhaitez obtenir des conseils pour référencer votre site ? Un petit souci pour accéder à votre FTP ? Des soucis de programmation en PHP / ASP / HTML / XHTML / XML / XSLT / CSS / ReactJS / AngularJS / VueJS / CGI / PERL / C / MySQL / PostgreSQL ??? Nous avons peut-être la solution dans ce forum ...

Créer un espace membre, convertir mysql postgresql

Message le 22 Avr 2014 08:35

Bonjour à tous,

Dans le but de créer un site internet, je dois réaliser un espace membre.

Voilà notre table membre en SQL :

Code: Tout sélectionner
CREATE TABLE membre (
   id int(11) NOT NULL auto_increment,
   login text NOT NULL,
   pass_md5 text NOT NULL,
   PRIMARY KEY  (id)
) TYPE=MyISAM;



Pour l'inscription :
Code: Tout sélectionner
<?php
// on teste si le visiteur a soumis le formulaire
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
   // on teste l'existence de nos variables. On teste également si elles ne sont pas vides
   if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {
   // on teste les deux mots de passe
   if ($_POST['pass'] != $_POST['pass_confirm']) {
      $erreur = 'Les 2 mots de passe sont différents.';
   }
   else {
      $db = new PDO("pgsql:host='localhost';dbname='referentiel_competence22';port='5432'; user='l3mass22'; password=''");
  echo 'Connexion OK';

      // on recherche si ce login est déjà utilisé par un autre membre
      $sql = 'SELECT count(*) FROM PERSONNE WHERE login="'.pg_escape_string($_POST['login']).'"';
      $req = pg_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.pg_result_error());
      $data = pg_fetch_array($req);

      if ($data[0] == 0) {
      $sql = 'INSERT INTO PERSONNE VALUES("", "'.pg_escape_string($_POST['login']).'", "'.pg_escape_string(md5($_POST['pass'])).'")';
      pg_query($sql) or die('Erreur SQL !'.$sql.'<br />'.pg_result_error());

      session_start();
      $_SESSION['login'] = $_POST['login'];
      header('Location: membre.php');
      exit();
      }
      else {
      $erreur = 'Un membre possède déjà ce login.';
      }
   }
   }
   else {
   $erreur = 'Au moins un des champs est vide.';
   }
}
?>
<html>
<head>
<title>Inscription</title>
</head>

<body>
Inscription à l'espace membre :<br />
<form action="inscription.php" method="post">
Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><br />
<input type="submit" name="inscription" value="Inscription">
</form>
<?php
if (isset($erreur)) echo '<br />',$erreur;
?>
</body>
</html>



Membre :

Code: Tout sélectionner
<?php
session_start();
if (!isset($_SESSION['login'])) {
   header ('Location: index.php');
   exit();
}
?>

<html>
<head>
<title>Espace membre</title>
</head>

<body>
Bienvenue <?php echo htmlentities(trim($_SESSION['login'])); ?> !<br />
<a href="deconnexion.php">Déconnexion</a>
</body>
</html>





Index :

Code: Tout sélectionner
<?php
// on teste si le visiteur a soumis le formulaire de connexion
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
   if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {

   $db = new PDO("pgsql:host='localhost';dbname='referentiel_competence22';port='5432'; user='l3mass22'; password=''");
  echo 'Connexion OK';


   // on teste si une entrée de la base contient ce couple login / pass
   $sql = 'SELECT count(*) FROM PERSONNE WHERE login="'.pg_escape_string($_POST['login']).'" AND pass_md5="'.pg_escape_string(md5($_POST['pass'])).'"';
   $req = pg_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.pg_result_error());
   $data = pg_fetch_array($req);

   pg_free_result($req);
   pg_close();

   // si on obtient une réponse, alors l'utilisateur est un membre
   if ($data[0] == 1) {
      session_start();
      $_SESSION['login'] = $_POST['login'];
      header('Location: membre.php');
      exit();
   }
   // si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
   elseif ($data[0] == 0) {
      $erreur = 'Compte non reconnu.';
   }
   // sinon, alors la, il y a un gros problème :)
   else {
      $erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
   }
   }
   else {
   $erreur = 'Au moins un des champs est vide.';
   }
}
?>
<html>
<head>
<title>Accueil</title>
</head>

<body>
Connexion à l'espace membre :<br />
<form action="index.php" method="post">
Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
<input type="submit" name="connexion" value="Connexion">
</form>
<a href="inscription.php">Vous inscrire</a>
<?php
if (isset($erreur)) echo '<br /><br />',$erreur;
?>
</body>
</html>


Deconnexion :

Code: Tout sélectionner
<?php
session_start();
session_unset();
session_destroy();
header('Location: index.php');
exit();
?>




Voilà c'est juste enorme, j'ai bcp de mal...Il faudrait convertir ça de mysql en postgre sql, ou alors le tester mais je peux pas
le faire chez moi.
Quelqu'un pourrait m'aider ?

Merci d'avane
Romalu
Visiteur
Visiteur
 
Messages: 1
Inscription: 22 Avr 2014 08:24
 


Re: Créer un espace membre, convertir mysql postgresql

Message le 22 Avr 2014 14:17

Bonjour,

Romalu a écrit:Il faudrait convertir ça de mysql en postgre sql


Il me semble que c'est déjà fait, vu tes appels à PDO.

Romalu a écrit: $db = new PDO("pgsql:host='localhost';dbname='referentiel_competence22';port='5432'; user='l3mass22'; password=''");


pgsql désigne PostgreSQL.

Romalu a écrit:ou alors le tester mais je peux pas
le faire chez moi.


Pourquoi ne peux tu pas le tester chez toi ?
Avatar de l'utilisateur
H3bus
Moderateur
Moderateur
 
Messages: 12195
Inscription: 08 Avr 2008 15:13
Localisation: /home/h3bus
 



Sujets similaires

Message PLus d'espace
Bonjour,Je n'ai toujours plus de place sur mon disque dur principal et j'aimerais savoir si c'est possible d'en récupérer alors que je n'installe plus rien dessus depuis X temps.Merci d'avance pour vos messages
Réponses: 16

Message [Réglé] plus possible créer diaporama avec photos sous w 10
Bonjour, Et merci de m'accueillir sur votre forum Depuis déjà plusieurs années, je crée des diaporamas photos avec "PHOTOS" sous w10.Depuis hier, la petite fenêtre qui s'ouvrait en haut à droite du logiciel pour commencer une nouvelle création ne s'affiche plus !J'ai le même problème ...
Réponses: 4

Message Solution pour créer une plateforme LMS
Salut tout le monde,Je souhaite créer 1 plateforme e-learning pour mon entreprise, il existe énormément de solutions et je suis perdu.Je pense partir sur WordPress + 1 plugin pour ajouter une partie LMS au site.Mais n'étant pas un spécialiste, je souhaite savoir si vous avez d'autres solutions et de ...
Réponses: 1

Message Problème de création utilisateur dans MySQL en reseau
Bonjour la communautéJe suis un nouveau utilisateur de la SGBD Mysql, un ami m'en a suggéré dans le cadre de mon travail.Je précise que je suis entrain de créer un programme de gestion des élèves dans l'institution scolaire dans laquelle je travail.Etant nouveau utilisateur de MySql, je suis un peti ...
Réponses: 2

Message Clé usb détecter et afficher mes pas son espace de stockage
Bonjour, j'ai un problème, j'ai une clé usb qui est détecter et afficher dans l'explorateur de fichier mais son espace de stockage n'est pas afficher ni dans l'explorateur de fichier ni dans la gestion des disquesQuelqu'un peut-il m'aider a résoudre ce problème svp ?
Réponses: 2

Message espace de stockage faible
Bonjour,J'ai un ami qui possède un mobile ' "Alcatel modèle 5008 D" et depuis quelques jours, il a une fenêtre qui s'ouvre "espace de stockage faible" qui l'empêche de l'utiliser normalement et donc de pouvoir sauvegarder le contenu.Le stockage n'est que de 16 go et il n'a pas d ...
Réponses: 4

Message comment créer un réseau entre plusieurs pc sous windows 10
Bonjour,Pourriez-vous m'indiquer la procédure afin de réussir à mettre en réseau 3 pc sous Windows 10 car je n'y arrive pas ? Merci pour votre aide.Cordialement
Réponses: 8


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 7 invités


.: Nous contacter :: Flux RSS :: Données personnelles :.