Il y a actuellement 76 visiteurs
Lundi 02 Août 2021
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 ?
En cas de problème constaté sur un sujet, contactez un modérateur par MP. N'intervenez pas vous-même. Merci bien.
Aucune aide ni support ne sera fourni par MP.
Avatar de l'utilisateur
H3bus
Moderateur
Moderateur
 
Messages: 12195
Inscription: 08 Avr 2008 15:13
Localisation: /home/h3bus
 



Sujets similaires

Message [Réglé] Espace disque inssufisant
Salut,Tout est nickel j'ai suivis tes conseils a la lettre et la mise a jour c'est faite correctement !Merci !Bonne journée
Réponses: 5

Message Espace disponible sur disque G
Bonjour J'ai mon pc "Tour" qui m'indique que l'espace disponible est de 6.79 mo sur 931go comment faire pour libérer l'espace Merci
Réponses: 4

Message [réglé] Espace disque C
Bonjour,J'ai l'impression que plus ça va plus mon disque dur se remplit alors que j'ai quasiment rien dessus installé. Les mises a jour Windows a force ne pourront plus se faire Une petite solution ?Merci d'avance pour votre aide !
Réponses: 10

Message convertir un film en mkv en avi
bonjour je voudrais convertir un film en ligne mais a chaque fois il faut s'inscrire ou payer .une idée pour faire cela?mon film fait 1,6 gigas . a chaque fois que j'ai essayé de le convertir avec vlc, après il est foutu, ça devient impossible de le lire. merci
Réponses: 10

Message Forum Bases de données MySQL Problème localhost sur server
Bonjour à tous et à touteJe suis en train d'essayer de configurer un server en local pour hébérger mon site wordpress avant de le mettre en prod.J'ai un problème avec xampp mon server appache et activé sur le port 8090 et mon mysql sur le port 3306, dès que je tape localhost:8090 j'accède bien à mon ...
Réponses: 1

Message Convertir des fichiers CCD en DXF
Bonsoir à tous et......meilleurs voeux !J'ai utilisé longtemps un logiciel de dessin CAD de chez M.A. (Vcad) qui créait des dessins CCD.J'étais très familiarisé avec ce logiciel et j'ai créé pas mal de dessins industriels.Mais ce logiciel ne tourne pas sous Win 7.J'utilise maintenant Qcad mais il n' ...
Réponses: 3

Message libérer de l'espace disque
Bonsoir a tous, pour libérer de la place sur le disque C, j'ai exécuté le nettoyage de disque et trouvé 3,78 GO du fichier d' optimisation de livraison, qui servent, je crois pour les mises à jour.Es que je peux les supprimer sans avoir de soucis pour les ultérieures mise à jour de Window update ou ...
Réponses: 2


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


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