Formulaire envoi données : fdd448daa076f81 dans DB

Petit nouveau ! | 1 Messages

05 juin 2010, 13:32

Bonjour,

J'ai un formulaire d'inscription sur mon site. Toutes les données passent bien dans la db mais j'ai beau mettre ce que je veux dans le champ mot de passe : un truc du style ' 88429658fcded93 ' se genère dans le champ "mdp" de ma db.
Ce que je ne comprend pas c'est que je n'avais pas ce bug avant et le mot de passe passait très bien...

www.analogik.be/inscription.php

C'est assez urgent c'est pour mon TFE en fait merci beaucoup...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

05 juin 2010, 14:00

Bonjour,

Vérifie que le type de champs MySQL soit bien un VARCHAR et vérifie que ta requête SQL n'applique pas un PASSWORD() dessus ou un truc du genre.
Si tu ne trouve pas la source du pb, donne nous le schéma de ta table (dans PHPmyadmin -> exporter, structure) ainsi que ta requête SQL
Quand tout le reste a échoué, lisez le mode d'emploi...

Invité
Invité n'ayant pas de compte PHPfrance

05 juin 2010, 16:25

Je n'ai toujours pas trouvé la solution... ce qui m'inquiète c'est que j'ai essayé avec une ancienne version et j'ai le même problème alors qu'avant cela fonctionnait très bien... quelque chose m'échappe !
Je suis très inquiet, j'ai ma défense orale mardi, j'espère que ce n'est pas trop grave...
Voici mes différentes requêtes avec mes sessions:
<?php require_once('Connections/analogik.php'); ?>
<?php

// initialisation
session_start() ;

if (isset($_POST['email'])) // on verifie que la variable existe
{
$email = addslashes($_POST['email']); //on recupere les données du formulaire
$_SESSION['email'] = $email;
}

if (isset($_POST['mdp'])) // on verifie que la variable existe
{
$mdp = addslashes($_POST['mdp']); //on recupere les données du formulaire
$_SESSION['mdp'] = $mdp;
}

if (isset($_POST['nom'])) // on verifie que la variable existe
{
$nom = addslashes($_POST['nom']); //on recupere les données du formulaire
$_SESSION['nom'] = $nom;

}
if (isset($_POST['situation'])) // on verifie que la variable existe
{
$situation = addslashes($_POST['situation']); //on recupere les données du formulaire
$_SESSION['situation'] = $situation;
}

if (isset($_POST['label'])) // on verifie que la variable existe
{
$label = addslashes($_POST['label']); //on recupere les données du formulaire
$_SESSION['label'] = $label;
}

if (isset($_POST['genre'])) // on verifie que la variable existe
{
$genre = addslashes($_POST['genre']); //on recupere les données du formulaire
$_SESSION['genre'] = $genre;
}

if (isset($_POST['bio'])) // on verifie que la variable existe
{
$bio = addslashes($_POST['bio']); //on recupere les données du formulaire
$_SESSION['bio'] = $bio;
}

if (isset($_POST['site'])) // on verifie que la variable existe
{
$site = addslashes($_POST['site']); //on recupere les données du formulaire
$_SESSION['site'] = $site;
}

if (isset($_POST['photo'])) // on verifie que la variable existe
{
$photo = addslashes($_POST['photo']); //on recupere les données du formulaire
$_SESSION['photo'] = $photo;
}

if (isset($_POST['prod'])) // on verifie que la variable existe
{
$prod = addslashes($_POST['prod']); //on recupere les données du formulaire
$_SESSION['prod'] = $prod;
}
?>
<?php
// Load the common classes
require_once('includes/common/KT_common.php');

// Load the tNG classes
require_once('includes/tng/tNG.inc.php');

// Make a transaction dispatcher instance
$tNGs = new tNG_dispatcher("");

// Make unified connection variable
$conn_analogik = new KT_connection($analogik, $database_analogik);

// Start trigger
$formValidation = new tNG_FormValidation();
$formValidation->addField("email", true, "text", "", "", "", "Entrer un e-mail valide svp.");
$formValidation->addField("mdp", true, "text", "", "8", "20", "Entrer un mot de passe (8 caractères min. 20 max.)");
$formValidation->addField("nom", true, "text", "", "2", "25", "Entrer votre nom de scène svp.");
$tNGs->prepareValidation($formValidation);
// End trigger

//start Trigger_FileUpload trigger
//remove this line if you want to edit the code by hand 
function Trigger_FileUpload(&$tNG) {
  $uploadObj = new tNG_FileUpload($tNG);
  $uploadObj->setFormFieldName("prod");
  $uploadObj->setDbFieldName("prod");
  $uploadObj->setFolder("mp3/");
  $uploadObj->setMaxSize(3500000);
  $uploadObj->setAllowedExtensions("mp3");
  $uploadObj->setRename("auto");
  return $uploadObj->Execute();
}
//end Trigger_FileUpload trigger

//start Trigger_ImageUpload trigger
//remove this line if you want to edit the code by hand 
function Trigger_ImageUpload(&$tNG) {
  $uploadObj = new tNG_ImageUpload($tNG);
  $uploadObj->setFormFieldName("photo");
  $uploadObj->setDbFieldName("photo");
  $uploadObj->setFolder("photos/");
  $uploadObj->setResize("true", 120, 0);
  $uploadObj->setMaxSize(150000);
  $uploadObj->setAllowedExtensions("gif, jpg, jpe, jpeg, png");
  $uploadObj->setRename("auto");
  return $uploadObj->Execute();
}
//end Trigger_ImageUpload trigger

if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

mysql_select_db($database_analogik, $analogik);
$query_Recordset1 = "SELECT * FROM membre";
$Recordset1 = mysql_query($query_Recordset1, $analogik) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);

$maxRows_Agenda = 3;
$pageNum_Agenda = 0;
if (isset($_GET['pageNum_Agenda'])) {
  $pageNum_Agenda = $_GET['pageNum_Agenda'];
}
$startRow_Agenda = $pageNum_Agenda * $maxRows_Agenda;

mysql_select_db($database_analogik, $analogik);
$query_Agenda = "SELECT event, lien, date_format(date,'%d %m %Y') date FROM agenda ORDER BY `date` DESC";
$query_limit_Agenda = sprintf("%s LIMIT %d, %d", $query_Agenda, $startRow_Agenda, $maxRows_Agenda);
$Agenda = mysql_query($query_limit_Agenda, $analogik) or die(mysql_error());
$row_Agenda = mysql_fetch_assoc($Agenda);

if (isset($_GET['totalRows_Agenda'])) {
  $totalRows_Agenda = $_GET['totalRows_Agenda'];
} else {
  $all_Agenda = mysql_query($query_Agenda);
  $totalRows_Agenda = mysql_num_rows($all_Agenda);
}
$totalPages_Agenda = ceil($totalRows_Agenda/$maxRows_Agenda)-1;

// Make an insert transaction instance
$ins_membre = new tNG_insert($conn_analogik);
$tNGs->addTransaction($ins_membre);
// Register triggers
$ins_membre->registerTrigger("STARTER", "Trigger_Default_Starter", 1, "POST", "KT_Insert1");
$ins_membre->registerTrigger("BEFORE", "Trigger_Default_FormValidation", 10, $formValidation);
$ins_membre->registerTrigger("END", "Trigger_Default_Redirect", 99, "inscription_ok.php");
$ins_membre->registerTrigger("AFTER", "Trigger_ImageUpload", 97);
$ins_membre->registerTrigger("AFTER", "Trigger_FileUpload", 97);
// Add columns
$ins_membre->setTable("membre");
$ins_membre->addColumn("email", "STRING_TYPE", "POST", "email");
$ins_membre->addColumn("mdp", "STRING_TYPE", "POST", "mdp");
$ins_membre->addColumn("nom", "STRING_TYPE", "POST", "nom");
$ins_membre->addColumn("situation", "STRING_TYPE", "POST", "situation");
$ins_membre->addColumn("label", "STRING_TYPE", "POST", "label");
$ins_membre->addColumn("genre", "STRING_TYPE", "POST", "genre");
$ins_membre->addColumn("bio", "STRING_TYPE", "POST", "bio");
$ins_membre->addColumn("site", "STRING_TYPE", "POST", "site");
$ins_membre->addColumn("photo", "FILE_TYPE", "FILES", "photo");
$ins_membre->addColumn("prod", "FILE_TYPE", "FILES", "prod");
$ins_membre->setPrimaryKey("id_membre", "NUMERIC_TYPE");

// Execute all the registered transactions
$tNGs->executeTransactions();

// Get the transaction recordset
$rsmembre = $tNGs->getRecordset("membre");
$row_rsmembre = mysql_fetch_assoc($rsmembre);
$totalRows_rsmembre = mysql_num_rows($rsmembre);
?>

et la structure de ma table..
-- phpMyAdmin SQL Dump
-- version OVH
-- http://www.phpmyadmin.net
--
-- Serveur: mysql5-7.pro
-- Généré le : Sam 05 Juin 2010 à 16:31
-- Version du serveur: 5.0.90
-- Version de PHP: 5.2.6-1+lenny8

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Base de données: `analogikmydb`
--

-- --------------------------------------------------------

--
-- Structure de la table `agenda`
--

CREATE TABLE IF NOT EXISTS `agenda` (
  `id_agenda` int(11) NOT NULL auto_increment,
  `event` varchar(50) NOT NULL,
  `lien` varchar(255) NOT NULL,
  `date` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  PRIMARY KEY  (`id_agenda`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ;

-- --------------------------------------------------------

--
-- Structure de la table `categorie`
--

CREATE TABLE IF NOT EXISTS `categorie` (
  `id_categorie` int(11) NOT NULL auto_increment,
  `categorie` varchar(255) NOT NULL,
  PRIMARY KEY  (`id_categorie`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

-- --------------------------------------------------------

--
-- Structure de la table `galerie`
--

CREATE TABLE IF NOT EXISTS `galerie` (
  `id_galerie` int(11) NOT NULL auto_increment,
  `date` varchar(10) NOT NULL,
  `photo` varchar(255) NOT NULL,
  `titre` varchar(255) NOT NULL,
  `description` text NOT NULL,
  `categorie` varchar(255) NOT NULL,
  `photo1` varchar(255) NOT NULL,
  `photo2` varchar(255) NOT NULL,
  `photo3` varchar(255) NOT NULL,
  `photo4` varchar(255) NOT NULL,
  `photo5` varchar(255) NOT NULL,
  `photo6` varchar(255) NOT NULL,
  `photo7` varchar(255) NOT NULL,
  `photo8` varchar(255) NOT NULL,
  `photo9` varchar(255) NOT NULL,
  PRIMARY KEY  (`id_galerie`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

-- --------------------------------------------------------

--
-- Structure de la table `interview`
--

CREATE TABLE IF NOT EXISTS `interview` (
  `id_interview` int(11) NOT NULL auto_increment,
  `nom` varchar(255) NOT NULL,
  `contenu` text NOT NULL,
  `photo` varchar(255) NOT NULL,
  PRIMARY KEY  (`id_interview`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

-- --------------------------------------------------------

--
-- Structure de la table `membre`
--

CREATE TABLE IF NOT EXISTS `membre` (
  `id_membre` int(11) NOT NULL auto_increment,
  `email` varchar(50) default NULL,
  `mdp` varchar(15) NOT NULL,
  `nom` varchar(255) default NULL,
  `situation` varchar(50) default NULL,
  `label` varchar(50) default NULL,
  `genre` varchar(50) default NULL,
  `bio` text,
  `site` varchar(255) default NULL,
  `photo` varchar(255) default NULL,
  `prod` varchar(255) default NULL,
  PRIMARY KEY  (`id_membre`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=56 ;

-- --------------------------------------------------------

--
-- Structure de la table `mininews`
--

CREATE TABLE IF NOT EXISTS `mininews` (
  `id_mininews` int(11) NOT NULL auto_increment,
  `titre` varchar(50) NOT NULL,
  `catégorie` varchar(50) NOT NULL,
  `date` varchar(10) NOT NULL,
  `photo` varchar(255) NOT NULL,
  `image` varchar(255) NOT NULL,
  `contenu` text NOT NULL,
  PRIMARY KEY  (`id_mininews`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

-- --------------------------------------------------------

--
-- Structure de la table `news`
--

CREATE TABLE IF NOT EXISTS `news` (
  `id_news` int(11) NOT NULL auto_increment,
  `titre` varchar(50) NOT NULL,
  `categorie` varchar(50) NOT NULL,
  `date` varchar(10) NOT NULL,
  `photo` varchar(255) NOT NULL,
  `description` text NOT NULL,
  `contenu` text NOT NULL,
  `lien` varchar(255) NOT NULL,
  PRIMARY KEY  (`id_news`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

-- --------------------------------------------------------

--
-- Structure de la table `reportage`
--

CREATE TABLE IF NOT EXISTS `reportage` (
  `id_reportage` int(11) NOT NULL auto_increment,
  `nom` varchar(255) NOT NULL,
  `contenu` text NOT NULL,
  `photo` varchar(255) NOT NULL,
  `photo2` varchar(255) NOT NULL,
  PRIMARY KEY  (`id_reportage`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

-- --------------------------------------------------------

--
-- Structure de la table `top10`
--

CREATE TABLE IF NOT EXISTS `top10` (
  `id_top10` int(11) NOT NULL auto_increment,
  `image` varchar(255) NOT NULL,
  `artiste` varchar(255) NOT NULL,
  `track` varchar(255) NOT NULL,
  PRIMARY KEY  (`id_top10`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

05 juin 2010, 16:36

Mouais bah les classes d'abstraction pour le SQL c'est pas très pratique pour t'aider.

Mon conseil ce serait de dégager tous les tNG_* et de faire ça à l'ancienne avec une belle requête SQL : "INSERT INTO membre..."
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 672 Messages

07 juin 2010, 09:23

Bonjour.

Première chose à faire : vérifier si le "problème" vient du SQL ou de PHP.
En clair, affiche ta variable $mdp et affiche la requête d'insertion.

Sinon, vu le contenu de Matable.MDP, ça ressemble fortement à un cryptage du mot de passe (par exemple avec MD5).
Ce qui est plutôt une bonne chose : un administrateur n'a pas à connaître les mots de passe, il faut juste qu'il soit capable de vérifier la correspondance.

Donc, question : le script chargé de vérifier la correspondance entre le mot de passe saisi et le mot de passe stocké en base fonctionne ?
Si oui, il n'y a pas de problème !