Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/08/2006, 09h43   #1
Invité de passage
 
Inscription : août 2006
Messages : 4
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 4
Points : 1
Points : 1
Par défaut [Conception] Petit problème de code de confirmation.

Bonjour,
Je suis en train de créer un site et j'ai un problème avec un script php.

VOila, en fait tout fonctionne dans ce sript sauf quand il s'agit de "remplir" dans la base de donnees la "case" code_confirmation".
J'ai beau chercher, mais je ne trouve pas..
Voici le code :

Citation:
<?php
require("config.inc.php");
mysql_connect($host,$username,$password);
mysql_select_db($bdd_name);


//On vérifie que la variable $_POST['inscription'] existe
if (isset($_POST['inscription']))
{

//On enleve le POST
$nom = htmlspecialchars($_POST['nom']);
$prenom = htmlspecialchars($_POST['prenom']);
$login = htmlspecialchars($_POST['login']);
$passe = htmlspecialchars($_POST['passe']);
$parrain = htmlspecialchars($_POST['parrain']);
$nom_perso = htmlspecialchars($_POST['nom_perso']);
$age = $_POST['age'];

//On vérifie que le pseudo et le mail n'existe pas.
$sql = mysql_query("SELECT COUNT(*) AS nb_login FROM membres WHERE login='".$login."'");
if (mysql_result($sql, 0, 'nb_login') == 0)
{
$sqlm = mysql_query("SELECT COUNT(*) AS nb_mail FROM membres WHERE mail='".$mail."'");
if (mysql_result($sqlm, 0, 'nb_mail') == 0)
{
//Hashage du mot de passe avec md5().
$mot_passe = md5($passe);
//Code confirmation
$lettres_chiffres = 'abcdefghijklmnopqrstuvwxyz0123456789';
$lettres_chiffres_melanges = str_shuffle($lettres_chiffres);
$code_confirmation = substr($lettres_chiffres_melanges, 1, 10);

//Envoi du mail de confirmation.
$message = '
Bonjour,

Vous venez de vous inscrire sur le site : HUMAN-HISTORY .
Et nous vous en remercions !

Il ne vous reste plus qu\'à activer votre compte en cliquant sur le lien ci-dessous:

http://human.network-hosting.com/inscription3.php?code='.$code_confirmation.'&amp;login='.$login.'


Voici un récapitulatif de vos identifiants :

Login : '.$login.'
Passe : '.$_POST['passe'].'

A bientôt sur HUMAN-HISTORY

***********
Ceci est un mail automatique envoyé par le serveur, suite à votre inscription. Si vous n\'avez pas demandé d\'inscription, merci de ne pas tenir compte de ce mail.
';
//Si le mail a été envoyé on peut enregistrer le membre
if (mail($mail, 'Confirmation de l\'inscription sur Human-History', $message))
{
//On éxécute la requête qui enregistre un nouveau membre.
mysql_query("INSERT INTO membres (id, login, passe, mail, nom, prenom, age, parrain, confirmation,confirmation_code) VALUES ('', '".$login."', '".$mot_passe."', '".$mail."','".$nom."','".$prenom."','".$age."','".$parrain."','0','".$code_confirmation."')");

$sqlv = mysql_query("SELECT COUNT(*) AS nb_loginv FROM membres WHERE login='".$login."'");
if (mysql_result($sqlv, 0, 'nb_loginv') == 1)
{
header("location: accueil.php");
}
else
{
$alerte = "Vous n avez pas put etre inscrit dans notre dase de donnees. Reessayez et si ça ne fonctionne toujours pas, nous vous remercions de prévenir le webmaster.";
}
}
else
{
$alerte = "Le mail n a pas put etre envoyé. Reessayez et si ça ne fonctionne toujours pas, nous vous remercions de prévenir le webmaster.";
}
}
else
{
$alerte = "L adresse mail est deja utilisee";
}
}
else
{
$alerte = "Le pseudo existe deja !";
}
}



?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="essai" href="css/normal.css" />
<title>Human-History</title>
<style type="text/css">
</style></head>

<body>
<?php include "includes/menuhaut.html";?>
<div id="infos">
<div align="center" class="Style7">Bienvenu sur Human-History !Inscrivez-vous vite !</div>
</div>
<div id="inscrits"><img src="ressources/offline.png" alt="Inscrits :" width="30" height="18" /></div>
<div id="connectes"> 15132 <img src="ressources/online.PNG" alt="Connect&eacute;s :" width="30" height="18" /></div>
<?php include "includes/menu.html";?>
<?php include "includes/pub.html";?>

<div id="page">
<?php echo $alerte ; ?>
</div>
</body>
</html>
Pouvez vous me dire pourquoi le code de confirmation ne s'inscrit pas dans le BDD ?
Merci d'avance !
lorry1993 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2006, 09h56   #2
Expert Confirmé Sénior
 
Avatar de raptor70
 
Cyril Doillon
Inscription : septembre 2005
Messages : 3 191
Détails du profil
Informations personnelles :
Nom : Cyril Doillon
Âge : 27

Informations forums :
Inscription : septembre 2005
Messages : 3 191
Points : 5 326
Points : 5 326
Envoyer un message via MSN à raptor70
Pourrais tu utiliser la balise CODE s'il te plait...

Sinon, es ce que les autres informations s'affichent dans ta base (nom, prenom,etc..) ?
__________________
Mes Tutos DirectX, OpenGL, 3D : http://raptor.developpez.com/
raptor70 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2006, 12h03   #3
Invité régulier
 
Inscription : août 2006
Messages : 5
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : août 2006
Messages : 5
Points : 5
Points : 5
Il se passe quoi exactement ? Tu as un message d'erreur ou seul ce champ reste vide ? Peux-tu nous donner le descriptif de ta table (avec en particulier le type des champs) ?
lecorne.sylvain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2006, 12h58   #4
Invité de passage
 
Inscription : août 2006
Messages : 4
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 4
Points : 1
Points : 1
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE TABLE `membres` (
  `id` bigint(20) NOT NULL auto_increment,
  `login` varchar(20) NOT NULL,
  `passe` varchar(20) NOT NULL,
  `mail` varchar(255) NOT NULL,
  `nom` varchar(20) NOT NULL,
  `prenom` varchar(20) NOT NULL,
  `age` varchar(10) NOT NULL,
  `parrain` varchar(20) NOT NULL,
  `confirmation` smallint(6) NOT NULL default '0',
  `confirmation_code` bigint(20) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
C'était donc pour la table mysql.
Et en fait, seul ce champ reste vide. Tout le reste se complete. Et je n'ai pas de message d'erreur.
lorry1993 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2006, 13h00   #5
Expert Confirmé Sénior
 
Avatar de raptor70
 
Cyril Doillon
Inscription : septembre 2005
Messages : 3 191
Détails du profil
Informations personnelles :
Nom : Cyril Doillon
Âge : 27

Informations forums :
Inscription : septembre 2005
Messages : 3 191
Points : 5 326
Points : 5 326
Envoyer un message via MSN à raptor70
Tu essayes d'écrire des caractères dans un champs numerique (bigint)... Change de type de colonne en varchar et reessaye...
__________________
Mes Tutos DirectX, OpenGL, 3D : http://raptor.developpez.com/
raptor70 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2006, 13h18   #6
Invité de passage
 
Inscription : août 2006
Messages : 4
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 4
Points : 1
Points : 1
Ah, oui j'y avait pas pensé mici
lorry1993 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h16.


 
 
 
 
Partenaires

Hébergement Web